Presentation is loading. Please wait.

Presentation is loading. Please wait.

Non Linear Functions in Panel Data Models

Similar presentations


Presentation on theme: "Non Linear Functions in Panel Data Models"— Presentation transcript:

1 Non Linear Functions in Panel Data Models
- Algorithm Using Stata Presentation at the Stata User Group Meeting in Berlin 8. April 2005 Fred Ramb and Markus Reitzig

2 Overview Theoretical models often are nonlinear e.g. in economics the well known q-model Micro panel data NLLS estimator is biased Fixed effects estimator is efficient Standard software package is not available

3 Overview Motivation Theory q Model Linearized Fixed Effects Estimator
Stata Code Pooled Cross Sectional Nonlinear Least Squares Panel Data Random Effects and Fixed Effects Empirical Results Summary

4 Theory (I): q Model Cobb-Douglas Production function
Logarithmic transformation With for small x:

5 Theory (II): Algorithm
Logarithmic transformation With for larger x, linearized version is estimated: with:

6 Stata Code: NLLS program nlacc if "`1'" =="?" {
global S_1 "B_0 X1 C1 C2 C3 T1 T2 T3 T4 T5" global B_0= 0 global X1= 0 global C1= 0 global C2= 0 global C3= 0 global T1= 0 global T2= 0 global T3= 0 global T4= 0 global T5= 0 exit } replace `1'=$B_0 + ln(1+($X1*x2)) + $C1*control1+$C2*control2 + $C3*control3 /* */ $T1*dyear1 + $T3*dyear2 + $T3*dyear3 + $T4*dyear4 + $T5*dyear5 end nl acc y

7 Stata Code: Fixed Effects
xtreg y x control1 control2 time*, fe gen ex = _b[x] gen y_s = y - (log(1+ex*x)) gen x_s = x / (1+ (ex*x)) log off local i=1 while `i' < 50 { quietly xtreg y_s x_s control1 control2 time*, fe quietly replace ex = ex + _b[x_s] quietly replace y_s = y - (log(1+ex*x)) quietly replace x_s = x2 / (1+ (ex*x)) local i = `i' + 1 } log on replace y_s = y - (log(1+ex*x)) + (ex*(x / (1+ (ex*x)))) xtreg y_s x_s control1 control2 time*, fe

8 Stata Code: Random Effects
xtreg y x control1 control2 time*, re gen exr = _b[x] gen y_sr = y - (log(1+exr*x)) gen x_sr = x / (1+ (exr*x) log off local i=1 while `i' < 50 { quietly replace exr = exr + _b[x_sr] quietly replace y_sr = y-(log(1+exr*x)) quietly replace x_sr = x / (1+ (exr*x)) quietly xtreg y_sr x_sr control1 control2 time*, re local i = `i' + 1 } log on replace y_sr = y-(log(1+exr*x)) + (exr*(x / (1+ (exr*x)))) xtreg y_sr x_sr control1 control2 time*, re xttest0

9 Stata Code: Hausman Test
xtreg y_s x_s control1 control2 time*, fe est store fixed xtreg y_sr x_sr control1 control2 time*, re hausman fixed

10 Empirical Results: Dataset
Sources Hoppenstedt: accounting data Datastream: stock market data Sample Consolidated financial statements Manufacturing sector Estimation Sample 2,786 observations / 676 firms (Overall) 1,463 observations / 325 firms (HGB) 532 observations / 139 firms (IAS) 791 observations / 212 firms ( US-GAAP)

11 Empirical Results: Example 1

12 Empirical Results: Example 2

13 Summary Pros Different results by estimating pooled cross sectional nonlinear least squares on the one hand and by estimating fixed effects using the algorithm on the other hand. Results using the algorithm are more efficient Cons Do-File is limited to the q-model Heteroskedasticity? Robust estimation is necessary Local or global maximum? Bootstrap is necessary Dynamics? GMM is necessary

14 Thank you for your attention

15 Appendix (I)

16

17 Appendix (III)


Download ppt "Non Linear Functions in Panel Data Models"

Similar presentations


Ads by Google