Announcement

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

  • Village fixed effects using logit for PSM

    Hello everyone,

    I want to run a logit using village fixed effects then use it with propensity score matching. I want to use the following code but I am unsure if it is correct and if the results reflect village fixed effect and PSM. Because earlier when used probit and PSM together I had different common support but since i cannot use probit and fixed effect together i am unsure if it is because of that or it is because I am not running the codes properly.

    Code:
    xtset village
    xtlogit migrant dep_ratio married age edu earning asset_index, fe
    predict vil
    psmatch2 migrant vil, neighbor(5) outcome(fsms)






    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float(migrant dep_ratio married age edu earning asset_index) int village
    0         1 1 46 0  87.12774  -1.260081 19
    0         1 1 37 0 145.21289  -1.260081 63
    1         2 1 30 0         0  -1.260081 19
    1        .6 1 46 0         0  -1.260081 19
    0         1 1 55 0         0  -1.260081 63
    1  .3333333 1 60 0  387.2344  -1.260081 19
    1  .5714286 1 31 0         0  -1.260081 63
    1 1.3333334 1 35 0         0  -1.260081 19
    1        .5 1 51 0 1161.7031  -1.260081 63
    1  .5714286 1 38 0         0  -1.260081 62
    1        .6 0 59 0         0  -1.260081 19
    1       .75 1 45 0  338.8301  -1.260081 62
    1       2.5 1 29 0         0  -1.260081 19
    0      1.25 1 66 0  387.2344  -1.260081 19
    0  .8333333 1 24 0  513.0856   1.676217 62
    1        .6 1 50 0         0   1.676217 62
    1       1.5 1 29 0         0  -1.260081 61
    1 .44444445 1 50 0         0  -1.260081 19
    1         1 1 25 0         0  -1.260081 61
    0  .7272727 0 54 0         0  -1.260081 19
    1        .5 1 59 0         0  -1.260081 61
    1      .625 0 65 0         0  -1.260081 19
    0       .25 1 56 0         0  -1.260081 61
    0         1 1 36 0         0  -1.260081 19
    0  .3333333 1 64 0         0  -1.260081 60
    0         1 1 59 0         0  -1.260081 60
    0      .875 1 64 0 116.17032   1.676217 57
    1  .8888889 0 64 0         0 -.20252682 57
    1 1.3333334 1 33 0         0 -.20252682 57
    1  .7142857 1 54 0         0  -1.260081 57
    0         0 1 76 0         0  -1.260081 54
    0  .6666667 1 44 0         0  -1.260081 54
    0 .16666667 0 27 0         0  -1.260081 54
    1        .8 1 26 0         0  -1.260081 54
    1        .2 1 46 0   348.511   1.676217 20
    0         1 1 48 0         0  -1.260081 54
    0         1 1 50 0         0  -1.260081 20
    1       .25 0 63 0         0  -1.260081 54
    0         1 0 52 0         0  -1.260081 20
    1  .4285714 0 35 0         0  -1.260081 60
    1        .6 0 31 0   968.086  -1.260081 20
    0       2.5 1 42 0         0  -1.260081 60
    1         1 1 43 0         0  -1.260081 20
    1 1.5714285 0 51 0         0 -.20252682 53
    1       1.2 1 47 0         0  -1.260081 53
    1         1 0 50 0         0  -1.260081 20
    0      1.25 1 41 0         0 -.20252682 53
    1 1.0555556 1 37 0  387.2344  -1.260081 20
    1  .6666667 1 37 0         0 -.20252682 53
    0       1.2 1 33 0         0  -1.260081 20
    1         2 1 35 0         0  -1.260081 53
    0         0 1 49 0         0  -1.260081 20
    0         0 1 54 0  96.80859 -.20252682 60
    0  .6666667 1 39 0         0  -1.260081 20
    0         4 1 34 0         0  -1.260081 53
    0       1.2 1 26 0         0  -1.260081 64
    1 1.8333334 1 57 0         0   1.676217 20
    1       1.2 1 31 0         0  -1.260081 64
    0         1 1 48 0         0  -1.260081 64
    0         2 1 41 0         0  -1.260081 64
    1         1 1 67 0  3097.875  -1.260081 64
    1  .2857143 1 55 1   348.511 -.20252682 64
    1         2 1 33 0         0   1.676217 59
    1 .44444445 1 45 0         0   1.676217 56
    0  .6666667 1 31 0  38.72344   1.676217 56
    0      1.25 1 62 0         0   1.676217 55
    1  .8333333 0 56 1 1113.2988  -1.260081 55
    1  .3333333 1 22 1         0 -.20252682 55
    1         0 1 50 0         0 -.20252682 21
    1        .4 1 23 0         0  -1.260081 55
    1        .4 1 50 0         0  -1.260081 21
    1       1.5 1 47 0         0   1.676217 55
    1         1 1 67 0         0  -1.260081 21
    0       1.5 1 41 0         0  -1.260081 55
    1       .75 1 37 0         0  -1.260081 59
    1         1 1 61 0         0  -1.260081 21
    1       1.5 1 25 0         0  -1.260081 59
    1 1.3636364 0 32 0  338.8301  -1.260081 21
    1  .8571429 0 53 0         0  -1.260081 59
    0       .75 0 63 0 290.42578  -1.260081 21
    1         1 1 28 0         0  -1.260081 56
    0         1 1 38 0         0  -1.260081 63
    0         1 1 36 0         0 -.20252682 21
    0        .5 1 26 0         0   1.676217 21
    1         1 1 26 0         0 -.20252682 21
    1 1.6666666 1 40 0         0  -1.260081 21
    1       .25 1 44 0         0  -1.260081 21
    1        .5 1 39 0         0  -1.260081 21
    1        .4 1 48 0         0 -.20252682 22
    1        .4 1 42 0         0  -1.260081 22
    0        .6 1 56 0 1210.1074  -1.260081 22
    0  .3333333 1 54 0         0 -.20252682 22
    0        .4 1 45 0 145.21289  -1.260081 22
    0  .6666667 1 41 0         0  -1.260081 22
    0        .5 1 55 0         0 -.20252682 22
    1        .7 1 50 0         0  -1.260081 22
    0       .75 0 57 0  673.7878  -1.260081 22
    0         2 1 33 0         0  -1.260081 22
    0        .5 1 25 0         0 -.20252682 22
    0         1 1 47 1         0  -1.260081 22
    end

  • #2
    Naika, estimation using -xtlogit, fe- is identical to using -clogit-. The Stata documentation of -clogit- warns us of interpreting the predicted probabilities, as cited below.

    Predicted probabilities for conditional logistic regression must be interpreted carefully. Probabilities are estimated for each group as a whole, not for individual observations.
    I would simply include village fixed effects as controls in the first stage. This specification, of course, may suffer from incidental parameter problem, but calculating propensity scores is merely a prediction rather than a causal inference. So the following code would be enough (if you wish to use logit rather than the default probit for the first stage).

    Code:
    psmatch2 migrant dep_ratio married age edu earning asset_index i.village, neighbor(5) outcome(fsms) logit

    Comment


    • #3
      I agree with Fei Wang that using xtlogit here is probably not the way to go. However, I would also argue that the command as presented will not fully capture all FEs since village is just another "control" variable in the model to compute the PS. I suggest using kmatch and exact matching to stratify on village (given that each village is large enough):

      Code:
      ssc install kmatch, replace
      kmatch ps migrant controlvars (fsms), ematch(village)
      Note that this is kernel instead of nearest neighbour matching, which is probably better.
      Best wishes

      (Stata 16.1 MP)

      Comment


      • #4
        Totally agree with Felix that one should try exact matching on specific strata as long as the number of within-strata observations is large enough. Stata official command -teffects nnmatch, ematch()- does similar things with nearest neighbor matching.

        Comment


        • #5
          Thank you Fei and Felix for your help!

          Comment

          Working...
          X