Announcement

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

  • fractional probit Correlated Random effect

    Hello everyone,

    I have an unbalanced panel data of firms, from 1991 to 2021. Dependent variable is probability of default which is within [0,1] interval.

    I begin by estimating Pooled OLS and Two fixed effect and then Pooled Fractional Probit, Correlated Random Effect probit (CRE), Unbalanced-Correlated random effect(CREU and CRUE1)

    Standard errors are clustered at firm-industry-state level.

    In CREU and CREU1 variable of interests is insignificant . How should I interpret this results.

    My model is :

    probability of default= a+ b * natural disaster frequency (dt_bil) + geographical dispersion (Concentration) +error

    I followed :
    Michael Bates & Jeffrey Wooldridge & Lelsie papke, 2022. "Nonlinear Correlated Random Effects Models with Endogeneity and Unbalanced Panels," Working Papers 202214, University of California at Riverside, Department of Economics.

    [**
    egen id=group(gvkey)
    **
    xtset id fyear


    *** we are not interested in this model
    qui : probit r7 dt_bil concentration

    *** store which observations will be used in variable touse (read: to use)
    gen touse = e(sample)

    ***

    *** do the computations on only those observations that will be used in the model
    egen bdt_bil = mean(dt_bil) if touse, by(id)

    egen bcon = mean(concentration) if touse, by(id)
    egen bn_ind = mean(n_ind) if touse, by(id)


    * Year indicator, year dummay and year dummy bar
    forv i = 1991(1)2021 {
    gen y_`i' = (fyear==`i') if touse
    bys id (fyear): egen yb_`i' = mean(y_`i') if touse
    }

    ****CREU estimation includes indicators for each number of time-observations: Ti

    bys id (fyear): gen Ti = _N
    tab Ti if ~touse, gen(Ti_)

    forv i = 1(1)31 {
    bys id : egen o_`i' = total(Ti_`i' ) if touse| !missing(Ti_`i')
    }

    egen clusters=group(h_state id sic2)
    ****Linear OLS and Fixed effects

    *POLS
    reg r7 dt_bil concentration y_* ,vce(cluster clusters)
    outreg2 using resultsl.doc, word replace ctitle(POLS)
    *FE

    reg r7 dt_bil concentration i.fyear i.id , vce(cluster clusters)
    outreg2 using resultsl.doc, word append ctitle(FE)
    ************Non linear probit (CRE approach)
    *Pooled Fractional Regression
    fracreg probit r7 dt_bil concentration n_ind y_* yb_*, vce(cluster clusters)
    outreg2 using resultsl.doc, word append ctitle(PFR)
    *CRE
    fracreg probit r7 dt_bil concentration n_ind bdt_bil bcon bn_ind y_* yb_* if Ti>1, vce(cluster clusters)
    outreg2 using resultsl.doc, word append ctitle(CRE)
    *CREU
    fracreg probit r7 dt_bil concentration n_state bdt_bil bcon y_* yb_* ib(last).Ti if Ti>1, vce(cluster clusters) nolog
    outreg2 using resultsl.doc, word append ctitle(CREU)
    *CREU1
    fracreg probit r7 dt_bil concentration n_state bdt_bil bcon y_* yb_* ib(last).Ti##c.bdt_bil ib(last).Ti##c.bcon if Ti>1, vce(cluster clusters) nolog
    outreg2 using resultsl.doc, word append ctitle(CREU1)][/CODE]

    (1) (2) (3) (4) (5) (6)
    VARIABLES POLS FE PFR CRE CREU CREU1
    dt_bil 0.000479*** 3.53e-05*** 0.000673*** -0.000145 -8.53e-05 -0.000101
    (4.45e-05) (4.87e-06) (7.83e-05) (0.000101) (6.77e-05) (6.42e-05)
    concentration -0.0216*** -0.00108 -0.0658*** -0.00865 0.000977 0.000760
    (0.00261) (0.00202) (0.00800) (0.0173) (0.0103) (0.00970)


    I appreciate your comments and suggestions.



  • #2
    To make magnitudes comparable, you need to compute the average partial effects in PFR, CRE, CREU, and CREU1 using the -margins- command. But from what I see, there are no surprises. POLS and PFR are comparable because they ignore heterogeneity. You find negative and statistically significant effects. When you use FE, the effects get smaller, and concentration becomes statistically insignificant. That's what happens when you use CRE, too -- although the dt_bil also becomes insignificant. If concentration is the variable you care about, its effect goes away when you account for heterogeneity. That often happens in these applications.

    Comment


    • #3
      Hello,

      Thank you for the code. I was looking for a way to estimate a fractional probit with correlated random effects in the unbalanced panel setting in Stata.

      I was wondering what was the purpose of this syntax:
      Code:
      forv i = 1(1)31 {
      bys id : egen o_`i' = total(Ti_`i' ) if touse| !missing(Ti_`i')
      }
      In addition, if my model includes interaction terms (x*m), do I need to average these values as well?
      Code:
      gen x_m=x*m
      egen bx_m = mean(x_m), by(id)

      Comment

      Working...
      X