Announcement

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

  • Different models for different hypotheses?

    Dear all, I have been testing the hypotheses for my master thesis and I have run into a problem. For hypotheses 1-3, Stata tells me to use the fixed effects model. However for hypotheses 4 , I get the following error "Error - saved RE estimates are degenerate (sigma_u=0) and equivalent to pooled OLS r(198)". Why is that and what does it mean? So I use the fixed effects model for hypotheses 1-3 and the pooled OLS for hypotheses 4?

    Please find my code below:

    Code:
    **Hypothesis 1: 
    
    * Pooled OLS
    reg CAR ESG_score Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, vce(robust) 
    
    * Fixed effects 
    xtreg CAR ESG_score Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, fe vce(robust) 
    
    * Random effects
    xtreg CAR ESG_score Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason7 Industry1-Industry8 Year2002-Year2020, re vce(robust) 
    
    xtoverid // o. operator not allowed -> remove omitted variables from model
    
    xtreg CAR ESG_score Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason6 Industry1-Industry3 Industry5 Industry7-Industry8 Year2002-Year2019, re vce(robust)
    
    xtoverid // Rejection of null-hypothesis -> fixed effects 
    
    **Hypothesis 2: 
    
    * Pooled OLS
    reg CAR ESG_score c.ESG_score##industry_wave_dummy Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, vce(robust) 
    
    * Fixed effects 
    xtreg CAR ESG_score c.ESG_score##industry_wave_dummy Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, fe vce(robust) 
    
    * Random effects
    xtreg CAR ESG_score industry_wave_dummy moderation1 Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason7 Industry1-Industry8 Year2002-Year2020, re vce(robust) 
    
    xtoverid // o. operator not allowed -> remove omitted variables from model
    
    xtreg CAR ESG_score industry_wave_dummy moderation1 Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason6 Industry1-Industry3 Industry5 Industry7-Industry8 Year2002-Year2019, re vce(robust)
    
    xtoverid // Rejection of null-hypothesis -> fixed effects 
    
    **Hypothesis 3:
    
    * Pooled OLS
    reg CAR ESG_score c.ESG_score##c.Layoff_Size_in_Percent Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, vce(robust) 
    
    * Fixed effects 
    xtreg CAR ESG_score c.ESG_score##c.Layoff_Size_in_Percent Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, fe vce(robust) 
    
    * Random effects
    xtreg CAR ESG_score Layoff_Size_in_Percent moderation2 Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason7 Industry1-Industry8 Year2002-Year2020, re vce(robust) 
    
    xtoverid // o. operator not allowed -> remove omitted variables from model
    
    xtreg CAR ESG_score Layoff_Size_in_Percent moderation2 Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason6 Industry1-Industry3 Industry5 Industry7-Industry8 Year2002-Year2019, re vce(robust)
    
    xtoverid // Rejection of null-hypothesis -> fixed effects 
    
    ** Hypothesis 4:
    
    * Pooled OLS
    reg CAR ESG_score c.ESG_score##c.ESG_disclosure_score Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, vce(robust) 
    
    * Fixed effects 
    xtreg CAR ESG_score c.ESG_score##c.ESG_disclosure_score Firm_size Firm_performance Firm_leverage RD_intensity i.Layoff_Reason_New i.Industry i.Year, fe vce(robust) 
    
    * Random effects
    xtreg CAR ESG_score ESG_disclosure_score moderation3 Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason7 Industry1-Industry8 Year2002-Year2020, re vce(robust) 
    
    xtoverid // o. operator not allowed -> remove omitted variables from model
    
    xtreg CAR ESG_score ESG_disclosure_score moderation3 Firm_size Firm_performance Firm_leverage RD_intensity Layoff_reason1-Layoff_reason6 Industry1-Industry2 Industry5 Industry7-Industry8 Year2005-Year2019, re vce(robust)
    
    xtoverid // -> error?
    Thank you very much in advance!

  • #2
    Amina:
    let's focus on your last question.
    The outcome of the community-contributed module -xtoverid- is simply telling you that it is not able to support evidence of a panel-wise effect.
    You can also double-check it via -xttest0- after -xtreg,re-.
    As an aside, please note that, while -robust- annd -vce(cluster clusterid)- options do the very same job under -xtreg- (as they take heteroskedasticity and/or autocorrelation into account), it does not hold for -regress-. Hence, in your pooled OLS you should use -vce(cluster panelid)- instead of -robust- (as the latter takes heteroskedasticity only into acccount under -regress-, whereas your standard errors should consider the autocorrelation of the residuals, as your observations are not independent within panels).
    Kind regards,
    Carlo
    (Stata 19.0)

    Comment


    • #3
      Hi Carlo,
      thanks for your answer!

      I double checked with -xttest0- after -xtreg, re- which indicates the Null-hypothesis cannot be rejected and I should therefore use pooled OLS.
      I did this for all hypotheses (1-4) and the result remains the same. Hence, I am wondering now - how do I decide between the fixed effects and pooled OLS model?

      Thanks in advance!

      Comment


      • #4
        Amina:
        1) go -fe- for hypotheses 1-3;
        4) go pooled OLS (with -vce(cluster panelid)- standard errors) for hypothesis 4.
        Kind regards,
        Carlo
        (Stata 19.0)

        Comment


        • #5
          Thanks Carlo!

          Comment

          Working...
          X