Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rdrobust help with bandwidths

    Hi all,
    I am trying to get rdrobust results with the mserd bandwidth, half of it, and double it. I am running the following code. It tells me that bwselect is incorrectly specified. Any ideas on this? Thanks!

    rdbwselect call_accept riskx, kernel(tri) p(1) c(0) bwselect(mserd)
    local bandwidth=e(h_mserd)
    local bandhalf=`bandwidth'/2
    local banddouble=`bandwidth'*2
    rdrobust call_accept riskx, p(1) c(0) bwselect(mserd)
    outreg2 using "table2.xls", replace
    rdrobust call_accept riskx, p(1) c(0) bwselect(`bandhalf')
    outreg2 using "table2.xls", append
    rdrobust call_accept riskx, p(2) c(0) bwselect(mserd)
    outreg2 using "table2.xls", append
    rdrobust call_accept riskx, p(2) c(0) bwselect(`banddouble')
    outreg2 using "table2.xls", append

  • #2
    In rdrobust, to manually select the bandwidth you should use the h() option:

    rdrobust call_accept riskx, p(1) c(0) h(`bandhalf')
    rdrobust call_accept riskx, p(2) c(0) h(`banddouble')

    Comment


    • #3
      Hello,

      I have a followup question that I kindly would like to ask.

      I am interested in the robust estimates given by rdrobust, as these are the ones typically required by the journals I submit to. However, I was wondering if in the robustness checks to manually contract the bandwidth, I should change b() instead of h().

      My question arises because if I run my normal model, I get:

      Code:
      . rdrobust dv1 running, c(0) all kernel(tri) weights(w)
      Multicollinearity issue detected in covs. Redundant covariates were removed.
      Mass points detected in the running variable.
      
      Covariate-adjusted Sharp RD estimates using local polynomial regression.
      
         Cutoff c = 1944 | Left of c  Right of c            Number of obs =       1263
      -------------------+----------------------            BW type       =      mserd
           Number of obs |        64        1199            Kernel        = Triangular
      Eff. Number of obs |        34          58            VCE method    =         NN
          Order est. (p) |         1           1
          Order bias (q) |         2           2
             BW est. (h) |     4.385       4.385
             BW bias (b) |     5.930       5.930
               rho (h/b) |     0.739       0.739
              Unique obs |        11          54
      
      Outcome: dv1. Running variable: running.
      --------------------------------------------------------------------------------
                  Method |   Coef.    Std. Err.    z     P>|z|    [95% Conf. Interval]
      -------------------+------------------------------------------------------------
            Conventional | -.13807     .05677   -2.4318  0.015   -.249342     -.026789
          Bias-corrected | -.30086     .05677   -5.2992  0.000   -.412138     -.189584
                  Robust | -.30086      .1136   -2.6484  0.008   -.523518     -.078203
      --------------------------------------------------------------------------------
      However, if I insert the optimal bandwidth given by this model into the h() option, I do not get the same results:

      Code:
      . rdrobust dv1 running, c(0) all kernel(tri) weights(w) h(4.385)
      Multicollinearity issue detected in covs. Redundant covariates were removed.
      
      Covariate-adjusted Sharp RD estimates using local polynomial regression.
      
         Cutoff c = 1944 | Left of c  Right of c            Number of obs =       1263
      -------------------+----------------------            BW type       =     Manual
           Number of obs |        64        1199            Kernel        = Triangular
      Eff. Number of obs |        34          58            VCE method    =         NN
          Order est. (p) |         1           1
          Order bias (q) |         2           2
             BW est. (h) |     4.385       4.385
             BW bias (b) |     4.385       4.385
               rho (h/b) |     1.000       1.000
      
      Outcome: dv1. Running variable: running.
      --------------------------------------------------------------------------------
                  Method |   Coef.    Std. Err.    z     P>|z|    [95% Conf. Interval]
      -------------------+------------------------------------------------------------
            Conventional | -.13807     .05716   -2.4156  0.016   -.250088     -.026044
          Bias-corrected |  -.0576     .05716   -1.0077  0.314    -.16962      .054425
                  Robust |  -.0576     .07757   -0.7425  0.458   -.209637      .094442
      --------------------------------------------------------------------------------
      It's only when I use b(4.385) that I do get the same results:

      Code:
      rdrobust dv1 running, c(0) all kernel(tri) weights(w) b(4.385)
      Multicollinearity issue detected in covs. Redundant covariates were removed.
      Mass points detected in the running variable.
      
      Covariate-adjusted Sharp RD estimates using local polynomial regression.
      
         Cutoff c = 1944 | Left of c  Right of c            Number of obs =       1263
      -------------------+----------------------            BW type       =      mserd
           Number of obs |        64        1199            Kernel        = Triangular
      Eff. Number of obs |        34          58            VCE method    =         NN
          Order est. (p) |         1           1
          Order bias (q) |         2           2
             BW est. (h) |     4.385       4.385
             BW bias (b) |     5.930       5.930
               rho (h/b) |     0.739       0.739
              Unique obs |        11          54
      
      Outcome: dv1. Running variable: running.
      --------------------------------------------------------------------------------
                  Method |   Coef.    Std. Err.    z     P>|z|    [95% Conf. Interval]
      -------------------+------------------------------------------------------------
            Conventional | -.13807     .05677   -2.4318  0.015   -.249342     -.026789
          Bias-corrected | -.30086     .05677   -5.2992  0.000   -.412138     -.189584
                  Robust | -.30086      .1136   -2.6484  0.008   -.523518     -.078203
      --------------------------------------------------------------------------------
      Covariate-adjusted estimates. Additional covariates included: 9
      Estimates adjusted for mass points in the running variable.
      My question therefore is, how do I manually change the bandwidth for robustness checks, considering I'm interested in the robust options? Should I use the h() or b() option? I'm aware this may be a silly question, but thank you for your help.

      Many thanks,
      Cat

      Comment

      Working...
      X