Announcement

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

  • rdbwselect: Question about the command of "fuzzy"

    I am using optimal bandwidth selection using STATA command rdbwselect. I am using the following command, however, this does not work when I include "fuzzy".

    rdbwselect edyrtotal birthcent, c(0) p(1) kernel(triangular) bwselect(msetwo) fuzzy(edyrtotal) covs(wealthq urban) masspoints(check)

    I would like to find a jump before and after of the education reform which should increase the year to complete elementary school by one year in Kenya.

    edyrtotal= education year total
    birthcent= Year of birth - 1971 (when the reform was implemented)
    wealthq=wealth index、urban=type of residence

    When I delete the fuzzy command (In other words, when trying sharp RDD), it seems work fine without any error. But the reform did not affect all people, so I think it should be Fuzzy RD.

    I got the following error although I am using Fuzzy command.
    -----------------------------------------------------------------------------------------------
    Mass points detected in the running variable.
    Try using option masspoints(adjust)
    Not enough variability to compute the preliminary bandwidth. Try checking for mass points with option masspoints(check).
    Not enough variability to compute the bias bandwidth (b). Try checking for masspoints with option masspoints(check).
    Not enough variability to compute the loc. poly. bandwidth (h). Try checking for mass points with option masspoints(check).
    -----------------------------------------------------------------------------------------------

    Could someone advise?
    I am using STATA 17

    Thank you very much in advance.

  • #2
    Hi Hana,

    rdbwselect is an user-written command from ssc

    It seems you are using an old version of rdbwselect command. To know which version of rdbwselect you are using, type: which rdbwselect. To update that command, type: ssc install rdrobust.

    Note: If you are using
    rdbwselect to find an optimal bandwidth for your RDD, I think you should re-consider your command in #1.

    I think your command in #1

    Code:
    rdbwselect edyrtotal birthcent, c(0) p(1) kernel(triangular) bwselect(msetwo) fuzzy(edyrtotal) covs(wealthq urban) masspoints(check)
    should be changed to
    Code:
    rdbwselect outcome birthcent, c(0) p(1) kernel(triangular) bwselect(msetwo) fuzzy(edyrtotal) covs(wealthq urban) masspoints(check)
    That said, outcomes should be used right after rdbwselect instead of edyrtotal
    Last edited by Dung Le; 22 Oct 2021, 09:47.

    Comment


    • #3
      Dear Dung

      Thank you very much for your reply.
      As your advise, I checked the version of rdbwselect. It was the old one (7.3.0), so replaced with the latest version (8.0.2).
      However, the result is same. Same error comes out when I include "fuzzy". (I tried your revised code also)

      By the way,
      the outcome variable Y is women's BMI.
      R=edyrtotal (education year),
      D=reform (decided by the variable "birthcent")



      In this case, where should I put the variable edytotal in the code? or not necessary?

      I thought the flow of RDD is as below.
      (1) Check the jump of edyrtotal(R) and decide bandwidth → (2) check the effect of the reform on the variable BMI (outcome Y) with the bandwidth using the code iverg2.


      I would appreciate if you could give me further advise.
      Thank you.


      Comment


      • #4
        Hi Hana,

        It would be useful to show an example of data (using dataex command, please see FAQ for more detail) along with your code and Stata outputs and error messages, so that me and other members in this forum could help you out.

        In this case, where should I put the variable edytotal in the code? or not necessary?
        In a fuzzy RDD, it is necessary to include edytotal in the rdbwselect command to choose an optimal bandwidth. Since your outcome is BMI, I think to code would be something like:

        Code:
         
         rdbwselect BMI birthcent, bwselect(msetwo) fuzzy(edyrtotal) covs(wealthq urban)

        Comment


        • #5
          Dear Dung

          thank you very much!!!
          I could finally solve the error problem. The place of fuzzy command was mistaken. When I put it just before “bwselect”, it goes well.

          Thank you very much for your advise.

          Best regards,
          Hana

          Comment

          Working...
          X