Announcement

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

  • Using time-invariant instruments to estimate IV models with panel data

    Hi all. I have panel data containing information on whether localities in Brazil had a signal from a TV network in each year (globo_coverage_copy). I want to verify whether having access to the TV network had an impact on electoral turnout (turnout) in each locality for the elections of 1974, 1978, and 1982.

    Because it is not possible to rule out the endogenous relationship between access to the network with turnout, I want to estimate an instrumental variable model.

    The problem: my possible instruments, distance from state capital (dist_cap_est) and longitude (longitude) are time-invariant.

    I decided to run IV-models using the "xtivreg" command. To my surprise, the model was estimated by Stata. The command line and output follow below.

    Question: Is this model warranted? What can I do with time-invariant instruments in my case?

    Any comments or suggestions would be greatly appreciated.

    Thank you.


    Code:
    xtivreg turnout ln_i_r_pib_cap i_analf_15y_more_perc i_pop_rural_perc i_catholic i_child_alive i_wealth_noTV i_agesh1524 i_Doctors i_ipc_renta  ln_i_pop_tot i.year (globo_coverage_copy = dist_cap_est longitude) if turnout<0.99 & turnout>0.30, fe vce(robust)

    Fixed-effects (within) IV regression Number of obs = 7,316
    Group variable: amc_code_coded Number of groups = 2,623

    R-squared: Obs per group:
    Within = 0.0895 min = 1
    Between = 0.0024 avg = 2.8
    Overall = 0.0044 max = 3


    Wald chi2(12) = 385.53
    corr(u_i, Xb) = -0.7936 Prob > chi2 = 0.0000

    (Std. err. adjusted for 2,623 clusters in amc_code_coded)
    ---------------------------------------------------------------------------------------
    Robust
    turnout | Coefficient std. err. z P>|z| [95% conf. interval]
    ----------------------+----------------------------------------------------------------
    globo_coverage_copy | .092282 .0393212 2.35 0.019 .0152138 .1693502
    ln_i_r_pib_cap. | .0383708 .0058274 6.58 0.000 .0269494 .0497922
    i_analf_15y_more_perc | -.2276279 .0696617 -3.27 0.001 -.3641623 -.0910935
    i_pop_rural_perc | .1414845 .0392187 3.61 0.000 .0646173 .2183516
    i_catholic | -.2665283 .086608 -3.08 0.002 -.436277 -.0967797
    i_child_alive | .0539361 .0130712 4.13 0.000 .028317 .0795552
    i_wealth_noTV | .0005407 .0040325 0.13 0.893 -.0073628 .0084442
    i_agesh1524 | .6324835 .1376984 4.59 0.000 .3625996 .9023673
    i_Doctors | -.017186 .0055263 -3.11 0.002 -.0280173 -.0063548
    i_ipc_renta | 0 (omitted)
    ln_i_pop_tot | -.1037623 .0127742 -8.12 0.000 -.1287992 -.0787254
    |
    year |
    1978 | .0143469 .0040212 3.57 0.000 .0064654 .0222284
    1982 | .0070007 .0221405 0.32 0.752 -.0363939 .0503953
    |
    _cons | 1.094985 .140572 7.79 0.000 .8194689 1.370501
    ----------------------+----------------------------------------------------------------
    sigma_u | .15485233
    sigma_e | .05480401
    rho | .88868879 (fraction of variance due to u_i)
    ---------------------------------------------------------------------------------------
    Instrumented: globo_coverage_copy
    Instruments: ln_i_r_pib_cap i_analf_15y_more_perc i_pop_rural_perc i_catholic
    i_child_alive i_wealth_noTV i_agesh1524 i_Doctors i_ipc_renta
    ln_i_pop_tot 1978.year 1982.year dist_cap_est longitude




  • #2
    Since your instruments are time-invariant, they are omitted when the within-groups transformation is applied. Consequently, your model is underidentified, which is reflected in the omitted coefficient of i_ipc_renta. While it might be confusing that Stata did not drop the coefficient of the endogenous regressor globo_coverage_copy instead, this is simply because Stata drops any of the coefficients at random if there are not enough instruments available.

    You could use time-invariant variables as instruments for the untransformed level model, and combine them with a within-groups transformation for the other variables in a "system GMM" fashion. Here is an example with my own xtdpdgmm command:
    Code:
    xtdpdgmm turnout globo_coverage_copy ln_i_r_pib_cap i_analf_15y_more_perc i_pop_rural_perc i_catholic i_child_alive i_wealth_noTV i_agesh1524 i_Doctors i_ipc_renta  ln_i_pop_tot i.year if turnout<0.99 & turnout>0.30, model(mdev) iv(ln_i_r_pib_cap i_analf_15y_more_perc i_pop_rural_perc i_catholic i_child_alive i_wealth_noTV i_agesh1524 i_Doctors i_ipc_renta  ln_i_pop_tot i.year, norescale) iv(dist_cap_est longitude, model(level)) twostep vce(robust)
    https://www.kripfganz.de/stata/

    Comment


    • #3
      Thank you very much Sebastian.

      Another issue just came out. My endogenous variable (globo_coverage_copy) is binary and my dependent variable is continuous. Do I have a "forbidden regression" problem here?

      If so, what can I do to deal with this problem? Does your xtdpdgmm command solve that?

      Thanks.

      Comment


      • #4
        I don't see how this problem could be related to "forbidden regressions". More precisely: I don't see a problem.
        https://www.kripfganz.de/stata/

        Comment


        • #5
          Great to know Sebastian. Thanks a lot.

          Comment


          • #6
            I ran the model you suggested, Sebastian. The output is not promising.


            Generalized method of moments estimation

            Step 1 f(b) = .00002646
            Step 2 f(b) = .00003968

            Group variable: amc_code_c~d Number of obs = 7316
            Time variable: year Number of groups = 2623

            Moment conditions: linear = 15 Obs per group: min = 1
            nonlinear = 0 avg = 2.789173
            total = 15 max = 3

            (Std. err. adjusted for 2,623 clusters in amc_code_coded)
            ---------------------------------------------------------------------------------------
            | WC-Robust
            turnout | Coefficient std. err. z P>|z| [95% conf. interval]
            ----------------------+----------------------------------------------------------------
            globo_coverage_copy | -2.588164 2.106394 -1.23 0.219 -6.71662 1.540293
            ln_i_r_pib_cap | .2186754 .1568309 1.39 0.163 -.0887075 .5260584
            i_analf_15y_more_perc | -1.534479 1.222464 -1.26 0.209 -3.930465 .8615063
            i_pop_rural_perc. | 1.288622 1.168455 1.10 0.270 -1.001508 3.578753
            i_catholic | -1.206615 1.517602 -0.80 0.427 -4.181061 1.767831
            i_child_alive | -.5180913 .4670469 -1.11 0.267 -1.433486 .3973037
            i_wealth_noTV | -.1857732 .1556404 -1.19 0.233 -.4908228 .1192764
            i_agesh1524 | -4.663103 4.102109 -1.14 0.256 -12.70309 3.376882
            i_Doctors | .1333259 .140901 0.95 0.344 -.142835 .4094868
            i_ipc_renta | 128.5766 82.45916 1.56 0.119 -33.04037 290.1936
            ln_i_pop_tot | .2030319 .2119065 0.96 0.338 -.2122973 .618361
            _Iyear_1978 | .1660762 .1298005 1.28 0.201 -.0883281 .4204806
            _Iyear_1982 | 1.493566 1.185464 1.26 0.208 -.8299012 3.817033
            _cons | 1.469728 2.060726 0.71 0.476 -2.569221 5.508678
            ---------------------------------------------------------------------------------------

            Comment

            Working...
            X