- 阅读权限
- 255
- 威望
- 13 级
- 论坛币
- 1100216 个
- 通用积分
- 78894.6218
- 学术水平
- 3454 点
- 热心指数
- 3913 点
- 信用等级
- 2749 点
- 经验
- 472847 点
- 帖子
- 11699
- 精华
- 5
- 在线时间
- 20307 小时
- 注册时间
- 2004-7-15
- 最后登录
- 2025-12-28
|
11楼
蓝色
发表于 2015-9-23 13:41:07
|
- # Econometric Analysis, Fourth Edition by William Greene
- # Chapter 14: Models for Panel Data
- # 可以到下面两个链接看stata的例子和解释
- # http://www.stata.com/support/faqs/statistics/intercept-in-fixed-effects-model/
- # http://www.ats.ucla.edu/stat/stata/examples/greene/greene14.htm
- rm(list=ls())
- library(foreign); library(plm); library(dummies)
- # 读取数据:6个企业,每个企业15年的面板数据
- greene <- read.dta("http://www.ats.ucla.edu/stat/stata/examples/greene/table14_1.dta")
- names(greene)
- greene <- within(greene, {
- id <- i
- logc <- log(c)
- logq <- log(q)
- logf <- log(pf)
- })
- # 设定虚拟变量
- greene <- dummy.data.frame(greene, names = "i")
- # 设定为面板数据
- greene <- plm.data(greene, index = c("id", "t"))
- greene <- pdata.frame(greene)
- # 1.固定效应模型 lsdv
- # 包含常数项:其它虚拟变量是以省略的i1为参照组
- greene.lsdv1 <- lm(logc ~ logq + logf + lf +i2 + i3 + i4 + i5 +i6, data = greene)
- summary(greene.lsdv1)
- # 不包含常数项:
- greene.lsdv2 <- lm(logc ~ 0+ logq + logf + lf + i1 +i2 + i3 + i4 + i5 +i6, data = greene)
- summary(greene.lsdv2)
- # 2.固定效应模型 within 等价于lsdv方法
- greene.fe <- plm(logc ~ logq + logf + lf, data = greene, model = "within")
- summary(greene.fe)
- # 面板数据模型: yit = a + xit*b + vi + eit (1)
- # level的常数项是 yit = (a + vi) + xit*b + eit 中的 (a + vi)
- # level的系数与dmean的系数的差值其实算的是 a
- summary(fixef(greene.fe, type = "level")) #此结果等同于greene.lsdv2
- summary(fixef(greene.fe, type = "dmean"))
- #dmean的系数 = level的系数 减去 (level系数的平均值)
- b.level <- summary(fixef(greene.fe, type = "level"))[,1] #level的系数
- b.dmean <- summary(fixef(greene.fe, type = "dmean"))[,1] #dmean的系数
- b.diff <- b.level - b.dmean #系数的差值等于level系数的平均值
- b.diff
- mean(b.level) #level系数的平均值
- mean(b.dmean) #dmean系数的平均值=0 由于精度问题,数值很小了
- # ------------------------------------------------------------------------------
复制代码
- > # Econometric Analysis, Fourth Edition by William Greene
- > # Chapter 14: Models for Panel Data
- >
- > # 可以到下面两个链接看stata的例子和解释
- > # http://www.stata.com/support/faqs/statistics/intercept-in-fixed-effects-model/
- > # http://www.ats.ucla.edu/stat/stata/examples/greene/greene14.htm
- >
- >
- > rm(list=ls())
- > library(foreign); library(plm); library(dummies)
- 载入需要的程辑包:Formula
- dummies-1.5.6 provided by Decision Patterns
- Warning message:
- 程辑包‘dummies’是用R版本3.2.2 来建造的
- >
- > # 读取数据:6个企业,每个企业15年的面板数据
- > greene <- read.dta("http://www.ats.ucla.edu/stat/stata/examples/greene/table14_1.dta")
- > names(greene)
- [1] "i" "t" "c" "q" "pf" "lf"
- >
- > greene <- within(greene, {
- + id <- i
- + logc <- log(c)
- + logq <- log(q)
- + logf <- log(pf)
- + })
- >
- > # 设定虚拟变量
- > greene <- dummy.data.frame(greene, names = "i")
- >
- > # 设定为面板数据
- > greene <- plm.data(greene, index = c("id", "t"))
- > greene <- pdata.frame(greene)
- >
- >
- > # 1.固定效应模型 lsdv
- > # 包含常数项:其它虚拟变量是以省略的i1为参照组
- > greene.lsdv1 <- lm(logc ~ logq + logf + lf +i2 + i3 + i4 + i5 +i6, data = greene)
- > summary(greene.lsdv1)
- Call:
- lm(formula = logc ~ logq + logf + lf + i2 + i3 + i4 + i5 + i6,
- data = greene)
- Residuals:
- Min 1Q Median 3Q Max
- -0.156041 -0.035217 -0.009302 0.034926 0.165866
- Coefficients:
- Estimate Std. Error t value Pr(>|t|)
- (Intercept) 9.70594 0.19312 50.258 < 2e-16 ***
- logq 0.91928 0.02989 30.756 < 2e-16 ***
- logf 0.41749 0.01520 27.468 < 2e-16 ***
- lf -1.07040 0.20169 -5.307 9.5e-07 ***
- i2 -0.04124 0.02518 -1.637 0.10543
- i3 -0.20892 0.04280 -4.881 5.2e-06 ***
- i4 0.18456 0.06075 3.038 0.00321 **
- i5 0.02405 0.07990 0.301 0.76415
- i6 0.08706 0.08420 1.034 0.30421
- ---
- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
- Residual standard error: 0.06011 on 81 degrees of freedom
- Multiple R-squared: 0.9974, Adjusted R-squared: 0.9972
- F-statistic: 3936 on 8 and 81 DF, p-value: < 2.2e-16
- >
- > # 不包含常数项:
- > greene.lsdv2 <- lm(logc ~ 0+ logq + logf + lf + i1 +i2 + i3 + i4 + i5 +i6, data = greene)
- > summary(greene.lsdv2)
- Call:
- lm(formula = logc ~ 0 + logq + logf + lf + i1 + i2 + i3 + i4 +
- i5 + i6, data = greene)
- Residuals:
- Min 1Q Median 3Q Max
- -0.156041 -0.035217 -0.009302 0.034926 0.165866
- Coefficients:
- Estimate Std. Error t value Pr(>|t|)
- logq 0.91928 0.02989 30.756 < 2e-16 ***
- logf 0.41749 0.01520 27.468 < 2e-16 ***
- lf -1.07040 0.20169 -5.307 9.5e-07 ***
- i1 9.70594 0.19312 50.258 < 2e-16 ***
- i2 9.66471 0.19898 48.571 < 2e-16 ***
- i3 9.49702 0.22496 42.217 < 2e-16 ***
- i4 9.89050 0.24176 40.910 < 2e-16 ***
- i5 9.73000 0.26094 37.288 < 2e-16 ***
- i6 9.79300 0.26366 37.142 < 2e-16 ***
- ---
- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
- Residual standard error: 0.06011 on 81 degrees of freedom
- Multiple R-squared: 1, Adjusted R-squared: 1
- F-statistic: 4.98e+05 on 9 and 81 DF, p-value: < 2.2e-16
- >
- >
- > # 2.固定效应模型 within 等价于lsdv方法
- > greene.fe <- plm(logc ~ logq + logf + lf, data = greene, model = "within")
- > summary(greene.fe)
- Oneway (individual) effect Within Model
- Call:
- plm(formula = logc ~ logq + logf + lf, data = greene, model = "within")
- Balanced Panel: n=6, T=15, N=90
- Residuals :
- Min. 1st Qu. Median 3rd Qu. Max.
- -0.1560 -0.0352 -0.0093 0.0349 0.1660
- Coefficients :
- Estimate Std. Error t-value Pr(>|t|)
- logq 0.919285 0.029890 30.7555 < 2e-16 ***
- logf 0.417492 0.015199 27.4682 < 2e-16 ***
- lf -1.070396 0.201690 -5.3071 9.5e-07 ***
- ---
- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
- Total Sum of Squares: 39.361
- Residual Sum of Squares: 0.29262
- R-Squared : 0.99257
- Adj. R-Squared : 0.89331
- F-statistic: 3604.81 on 3 and 81 DF, p-value: < 2.22e-16
- >
- >
- > # 面板数据模型: yit = a + xit*b + vi + eit (1)
- > # level的常数项是 yit = (a + vi) + xit*b + eit 中的 (a + vi)
- > # level的系数与dmean的系数的差值其实算的是 a
- >
- > summary(fixef(greene.fe, type = "level")) #此结果等同于greene.lsdv2
- Estimate Std. Error t-value Pr(>|t|)
- 1 9.70594 0.19312 50.258 < 2.2e-16 ***
- 2 9.66471 0.19898 48.571 < 2.2e-16 ***
- 3 9.49702 0.22496 42.217 < 2.2e-16 ***
- 4 9.89050 0.24176 40.910 < 2.2e-16 ***
- 5 9.73000 0.26094 37.288 < 2.2e-16 ***
- 6 9.79300 0.26366 37.142 < 2.2e-16 ***
- ---
- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
- > summary(fixef(greene.fe, type = "dmean"))
- Estimate Std. Error t-value Pr(>|t|)
- 1 -0.007586 0.193124 -0.0393 0.9687
- 2 -0.048822 0.198982 -0.2454 0.8062
- 3 -0.216507 0.224958 -0.9624 0.3358
- 4 0.176970 0.241763 0.7320 0.4642
- 5 0.016469 0.260942 0.0631 0.9497
- 6 0.079476 0.263662 0.3014 0.7631
- >
- >
- > #dmean的系数 = level的系数 减去 (level系数的平均值)
- > b.level <- summary(fixef(greene.fe, type = "level"))[,1] #level的系数
- > b.dmean <- summary(fixef(greene.fe, type = "dmean"))[,1] #dmean的系数
- > b.diff <- b.level - b.dmean #系数的差值等于level系数的平均值
- >
- > b.diff
- 1 2 3 4 5 6
- 9.713528 9.713528 9.713528 9.713528 9.713528 9.713528
- > mean(b.level) #level系数的平均值
- [1] 9.713528
- > mean(b.dmean) #dmean系数的平均值=0 由于精度问题,数值很小了
- [1] 2.960595e-16
- >
复制代码
|
-
总评分: 学术水平 + 1
热心指数 + 1
查看全部评分
|