Announcement

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

  • Sharp RD estimation - "Mass points detected in the running variable." issue - 0 nb of observations

    Dear all,

    I am currently trying to use a Regression Discontinuity specification to try to estimate the effect of a policy.
    In short and in a simplified way, my data contains the variable y which is the outcome, and the variable cutoff which takes the value 0 at the cutoff, and symetrically goes up and down to the right and left of the cutoff.

    However, when I run the very simple code:

    Code:
     rdrobust y cutoff
    I get the following results:

    Code:
    . rdrobust y cutoff
    Mass points detected in the running variable.
    
    Sharp RD estimates using local polynomial regression.
    
          Cutoff c = 0 | Left of c  Right of c            Number of obs =          0
    -------------------+----------------------            BW type       =      mserd
         Number of obs |    174303      147978            Kernel        = Triangular
    Eff. Number of obs |     16296       20287            VCE method    =         NN
        Order est. (p) |         1           1
        Order bias (q) |         2           2
           BW est. (h) |     7.640       7.640
           BW bias (b) |    15.763      15.763
             rho (h/b) |     0.485       0.485
            Unique obs |        69          70
    
    Outcome: y. Running variable: cutoff.
    --------------------------------------------------------------------------------
                Method |   Coef.    Std. Err.    z     P>|z|    [95% Conf. Interval]
    -------------------+------------------------------------------------------------
          Conventional |  .06579     .00541   12.1658  0.000     .05519      .076388
                Robust |     -          -     11.3404  0.000    .056157      .079624
    --------------------------------------------------------------------------------
    Estimates adjusted for mass points in the running variable.
    My questions are :
    - What does it mean to have mass points in the running variable? To have multiple observations for a single value of my "cutoff" variable? This is definitely my case. Is it problematic?
    - I am bothered by the number of obs = 0. Does it come from this mass point problem? I still get an estimation as you can see, and I am given the number of obs to the right and left of c, so I am wondering what this 0 up there to the right means.

    Thanks a lot for your help and time,
    Pierre

  • #2
    Hi everyone, I still have not figured this out. Anyone has an idea?

    Thanks a lot,
    Best,
    PIerre

    Comment


    • #3
      Pierre Antoine. Looking at the original article here https://www.stata-journal.com/articl...ticle=st0366_1 , I see a discussion of mass points on page 279, which you do not reference. Does that explanation help?

      Regarding your question on the number of observations being recorded as zero at the upper right of the results output, that looks like a bug to me. You might want to check the version of your installed -rdrobust- program. At the Stata prompt, type:

      Code:
      which rdrobust
      I believe the most recent version is 8.02 dated April 3, 2020, which is available from SSC. Maybe you will get a different result with the newer version. If your result is the same, I suggest addressing your question to the authors of the program.

      Comment


      • #4
        The newest version should take care of this issue, please let us know.

        Comment


        • #5
          Originally posted by Sebastian Calonico View Post
          The newest version should take care of this issue, please let us know.
          Sebastian Calonico I also have this problem. My data is similar to the OP's, with many different outcome values for a single running variable value. I am using the latest rdrobust (version 8.4.1 2021-11-30), but I still keep getting the "Mass points detected in the running variable" message. Any suggestions?

          Comment


          • #6
            I ran into similar issues both in R as well as Stata using the rdrobust package, using the latest update. The difference to Pierre Antoine's original post is that my specification is a fuzzy one, though I run into the same "Mass points" error with a sharp specification.

            Please also see my code:

            Code:
            rdrobust happy avg_gdp, c(75) fuzzy(treatmentdummy)
            Mass points detected in the running variable.
            
            Fuzzy RD estimates using local polynomial regression.
            
                 Cutoff c = 75 | Left of c  Right of c            Number of obs =      29926
            -------------------+----------------------            BW type       =      mserd
                 Number of obs |     13547       16379            Kernel        = Triangular
            Eff. Number of obs |       112         336            VCE method    =         NN
                Order est. (p) |         1           1
                Order bias (q) |         2           2
                   BW est. (h) |     4.857       4.857
                   BW bias (b) |    20.277      20.277
                     rho (h/b) |     0.240       0.240
                    Unique obs |        42          68
            
            First-stage estimates. Outcome: treatmentdummy. Running variable: avg_gdp.
            --------------------------------------------------------------------------------
                        Method |   Coef.    Std. Err.    z     P>|z|    [95% Conf. Interval]
            -------------------+------------------------------------------------------------
                  Conventional |  2.2e-15         0       .        .    2.2e-15      2.2e-15
                        Robust |     -          -     33.8231  0.000    .001618      .001817
            --------------------------------------------------------------------------------
            
            Treatment effect estimates. Outcome: happy. Running variable: avg_gdp. Treatment Status: treatmentdummy.
            --------------------------------------------------------------------------------
                        Method |   Coef.    Std. Err.    z     P>|z|    [95% Conf. Interval]
            -------------------+------------------------------------------------------------
                  Conventional | -1.4e+14    2.1e+14  -0.6739  0.500   -5.6e+14      2.7e+14
                        Robust |     -          -     33.8231  0.000    1.0e+26      1.2e+26
            --------------------------------------------------------------------------------
            Estimates adjusted for mass points in the running variable.
            If anybody has found a fix for this or has run into similar issues, please do let me know!

            Comment


            • #7
              An RD doesn’t seem promising here. Is avg_gdp at the country level? And you have individual happiness data? Every individual in the same country has the same value of the running variable. And I don’t understand what is the “treatment.” You’ll notice there is no jump in the treatment probability at the cutoff — violating a key condition of the FRD.

              Comment


              • #8
                Originally posted by Chris Sean View Post

                Sebastian Calonico I also have this problem. My data is similar to the OP's, with many different outcome values for a single running variable value. I am using the latest rdrobust (version 8.4.1 2021-11-30), but I still keep getting the "Mass points detected in the running variable" message. Any suggestions?
                Please update the package using (latest version is 9.1.0 from October 2022):
                net install rdrobust, from(https://raw.githubusercontent.com/rd...t/master/stata) replace

                Comment


                • #9
                  Hi Sebastian Calonico,

                  I have updated the package to version 9.1.0 from 2022-10-28, yet I still get the following errors when running my rdrobust command. (Note I am running a fuzzy kink design):

                  Code:
                  rdrobust `depvar' hqw_ctrd , fuzzy(wba) bwselect(mserd) kernel(triangular) p(1)  deriv(1)   c(0) masspoints(adjust) all
                  Invertibility problem in the computation of preliminary bandwidth. Try checking for mass points with option masspoints(check).
                  Not enough variability to compute the bias bandwidth (b). Try checking for mass points with option masspoints(check).


                  This is surprising to me because the output reports thousands of observations on both the left and right of the kink (29,000 total). I have tried adjusting the masspoints option as well as the kernel and bwselect, but to no avail.

                  Could you please help me understand: how does rdrobust determine if there is enough variability, or if there are enough masspoints that it triggers an error? Is there a threshold rule that rdrobust uses that I can test my data with before running the command?
                  Given the size of my data, there are certainly multiple observations with the same value of the running variable, but because there are so many different values of the running variable, I would have guessed that it doesn't matter, but perhaps I am misunderstanding.

                  Thanks in advance for any clarification you can provide!

                  Comment


                  • #10
                    Hello TJ Hedin,
                    I am running into the same exact problem. Were you able to figure out a solution?
                    Thanks

                    Comment


                    • #11
                      Hi TJ Hedin and Isabel Aran , I am also running into the exact same problem and I wonder whether you are able to figure it out? Thanks so much!

                      Comment

                      Working...
                      X