Announcement

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

  • identical marginal effects after xtpoisson with fixed-effects

    I am trying to estimate the impact of a program introduced in the US in 2007 on the yearly number of clinical trials. Some diseases are eligible for the program (eligible=1) and others are not (eligible=0). Most diseases became eligible for the program in 2007 but a few diseases became eligible later on. As a result, I have a staggered introduction of the program and my variable after=1 differs across diseases.

    Here is a sample of my dataset:
    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input float trials long diseases int year float(eligible after)
     0 1 2000 0 0
     0 1 2001 0 0
     1 1 2002 0 0
     0 1 2003 0 0
     0 1 2004 0 0
    11 1 2005 0 0
     5 1 2006 0 0
     8 1 2007 0 1
     5 1 2008 0 1
     8 1 2009 0 1
    10 1 2010 0 1
     7 1 2011 0 1
     8 1 2012 0 1
     7 1 2013 0 1
     9 1 2014 0 1
     5 1 2015 0 1
    13 1 2016 0 1
    12 1 2017 0 1
    11 1 2018 0 1
     0 2 2000 1 0
     0 2 2001 1 0
     0 2 2002 1 0
     0 2 2003 1 0
     0 2 2004 1 0
     0 2 2005 1 0
     1 2 2006 1 0
     0 2 2007 1 1
     0 2 2008 1 1
     0 2 2009 1 1
     0 2 2010 1 1
     0 2 2011 1 1
     1 2 2012 1 1
     0 2 2013 1 1
     1 2 2014 1 1
     0 2 2015 1 1
     0 2 2016 1 1
     0 2 2017 1 1
     0 2 2018 1 1
     0 3 2000 1 0
     0 3 2001 1 0
     0 3 2002 1 0
     0 3 2003 1 0
     0 3 2004 1 0
     1 3 2005 1 0
     1 3 2006 1 0
     0 3 2007 1 0
     2 3 2008 1 0
     0 3 2009 1 0
     1 3 2010 1 0
     2 3 2011 1 0
     9 3 2012 1 0
     0 3 2013 1 0
     3 3 2014 1 0
     5 3 2015 1 1
     0 3 2016 1 1
     2 3 2017 1 1
     1 3 2018 1 1
     0 4 2000 1 0
     0 4 2001 1 0
     0 4 2002 1 0
     0 4 2003 1 0
     0 4 2004 1 0
     0 4 2005 1 0
     1 4 2006 1 0
     0 4 2007 1 1
     0 4 2008 1 1
     0 4 2009 1 1
     1 4 2010 1 1
     0 4 2011 1 1
     1 4 2012 1 1
     0 4 2013 1 1
     4 4 2014 1 1
     3 4 2015 1 1
     3 4 2016 1 1
     6 4 2017 1 1
     5 4 2018 1 1
     0 5 2000 1 0
     0 5 2001 1 0
     0 5 2002 1 0
     0 5 2003 1 0
     0 5 2004 1 0
     5 5 2005 1 0
     1 5 2006 1 0
     2 5 2007 1 1
     6 5 2008 1 1
     1 5 2009 1 1
     4 5 2010 1 1
     0 5 2011 1 1
     3 5 2012 1 1
     3 5 2013 1 1
     4 5 2014 1 1
     2 5 2015 1 1
     2 5 2016 1 1
     3 5 2017 1 1
     5 5 2018 1 1
     0 6 2000 1 0
     0 6 2001 1 0
     0 6 2002 1 0
     0 6 2003 1 0
     0 6 2004 1 0
    end
    label values diseases diseases
    label def diseases 1 "Ischemic heart disease", modify
    label def diseases 2 "buruli", modify
    label def diseases 3 "chagas", modify
    label def diseases 4 "chikungunya", modify
    label def diseases 5 "cholera", modify
    label def diseases 6 "congo fever", modify
    In order to estimate the impact of the program, I am using a difference-in-differences approach. I have a panel data (trials for 40 diseases across 19 years), and I want to control for disease FE and year FE.
    Code:
    xtset diseases year
    As my dependent variable is a count variable, I ran a poisson estimation:
    Code:
    xtpoisson trials i.after##i.eligible user_fee PRV_value_lag_1 i.year, fe vce(robust)
    note: 1 group (19 obs) dropped because of all zero outcomes
    
    Iteration 0:   log pseudolikelihood =  -3482.899  
    Iteration 1:   log pseudolikelihood = -1438.5172  
    Iteration 2:   log pseudolikelihood = -1326.6942  
    Iteration 3:   log pseudolikelihood = -1323.9955  
    Iteration 4:   log pseudolikelihood = -1323.9843  
    Iteration 5:   log pseudolikelihood = -1323.9843  
    
    Conditional fixed-effects Poisson regression    Number of obs     =        760
    Group variable: diseases                        Number of groups  =         40
    
                                                    Obs per group:
                                                                  min =         19
                                                                  avg =       19.0
                                                                  max =         19
    
                                                    Wald chi2(21)     =  541403.70
    Log pseudolikelihood  = -1323.9843              Prob > chi2       =     0.0000
    
                                      (Std. Err. adjusted for clustering on diseases)
    ---------------------------------------------------------------------------------
                    |               Robust
             trials |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
    ----------------+----------------------------------------------------------------
            1.after |   .7540807    .617699     1.22   0.222    -.4565871    1.964748
         1.eligible |          0  (omitted)
                    |
     after#eligible |
               1 1  |  -.2196316   .1756016    -1.25   0.211    -.5638045    .1245412
                    |
           user_fee |   1.03e-08   2.06e-08     0.50   0.618    -3.02e-08    5.07e-08
    PRV_value_lag_1 |   5.30e-10   6.08e-10     0.87   0.383    -6.61e-10    1.72e-09
                    |
               year |
              2001  |  -.2732933   .2078431    -1.31   0.189    -.6806583    .1340717
              2002  |   .4410561   .1786783     2.47   0.014     .0908531     .791259
              2003  |   .4480247   .1444247     3.10   0.002     .1649575    .7310919
              2004  |   .5901992   .1549172     3.81   0.000      .286567    .8938314
              2005  |   2.292754   .3627732     6.32   0.000     1.581732    3.003777
              2006  |   2.255858   .3615834     6.24   0.000     1.547167    2.964549
              2007  |     1.4224   .6965394     2.04   0.041     .0572083    2.787593
              2008  |   1.504672   .6946449     2.17   0.030     .1431928    2.866151
              2009  |   1.423661   .6912332     2.06   0.039     .0688686    2.778453
              2010  |   1.338251   .7091325     1.89   0.059    -.0516231    2.728125
              2011  |   1.362411   .7026438     1.94   0.053    -.0147454    2.739568
              2012  |   1.420266   .7100725     2.00   0.045     .0285491    2.811982
              2013  |    1.45651   .6847051     2.13   0.033      .114513    2.798508
              2014  |   1.551972   .6872168     2.26   0.024     .2050519    2.898892
              2015  |   1.657939   .6661534     2.49   0.013     .3523026    2.963576
              2016  |   1.656704   .6659423     2.49   0.013     .3514812    2.961927
              2017  |   1.644959   .6718924     2.45   0.014     .3280741    2.961844
              2018  |   1.532055   .6453066     2.37   0.018     .2672774    2.796833
    ---------------------------------------------------------------------------------
    I see that my variable eligible drops because it is collinear with the disease FE while the variable after does not drop as it is not collinear with the year FE (the variable after varies across diseases)

    I then want to estimate the marginal effect for the interaction between after and eligible:
    Code:
    . margins after#eligible, predict(nu0) 
    
    Predictive margins                              Number of obs     =        760
    Model VCE    : Robust
    
    Expression   : Predicted number of events (assuming u_i=0), predict(nu0)
    
    --------------------------------------------------------------------------------
                   |            Delta-method
                   |     Margin   Std. Err.      z    P>|z|     [95% Conf. Interval]
    ---------------+----------------------------------------------------------------
    after#eligible |
              0 0  |   4.678461   2.342815     2.00   0.046     .0866278    9.270295
              0 1  |   4.678461   2.342815     2.00   0.046     .0866278    9.270295
              1 0  |   9.944802   4.023562     2.47   0.013     2.058765    17.83084
              1 1  |   7.983831   2.830039     2.82   0.005     2.437056    13.53061
    --------------------------------------------------------------------------------
    The marginal effects are identical for the eligible and non-eligible diseases in the before period. Is it because the variable eligible is collinear with the disease FE? Would that mean that I cannot run the marginal effects in this case? Or can I ignore the fact that they are equal and assume that the program effect is 7.98-9.94?

    Thank you very much!

  • #2
    "Is it because the variable eligible is collinear with the disease FE? " - yes, because i.eligible is not estimated, you get the same for 00 and 01. By the way, you can run it without i.eligable as a variable by using # instead of ## in the interactions. Since both period 1 are identical, then your difference seems correct. However, I'm not a d-i-d person, so I'm not sure if you should be doing something else in period 1.

    Comment

    Working...
    X