library(stargazer)
library(plm)
library(reshape2)
library(readxl)
TGDP <- read_excel("Desktop/经济变量.xlsx", sheet = "Sheet1")
~~~省略其他变量录入
XA=melt(PUBLIC,id.vars = c('公共预算支出','X2'),
measure.vars = c('2000','2001','2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016'),
value.name = '公共预算支出')
~~~省略其他变量录入
DATA=merge(x=XA,y=XA_1,all.x = TRUE)
~~~省略其他变量录入
databases=merge(x=databases,y=Y_4,all.x = TRUE)
O=databases
Panel_data=data.frame(O[,4],O[,1],O[,2],O[,49],O[,51],O[,53],O[,55],
O[,3],O[,7],O[,11],O[,13],
O[,15],O[,17],
O[,19],O[,21],O[,23],
O[,25],O[,27],O[,29],
O[,31],O[,35],O[,37],O[,39],O[,43],
O[,45],O[,33])
PANEL=Panel_data[complete.cases(Panel_data),]
library(plm)
###-------个体固定效应模型解决了不随时间而变(time invariant)但随个体而异的遗漏变量问题
#——————时间固定效应,则可以解决不随个体而变 (individual invariant)但随时间而变(time varying)的遗漏 变量问题
#——————既考虑了个体固定效应,又考虑了时间固定 效应,故称为“双向固定效应”(Two-way FE)
#————对于固定效应模型,可对原方程两边进行一阶差分,消去个体效应u
#随机效应模型模型假设u与解释变量均不相关,故 OLS 一致.假设不同个体之间的扰动项互不相关。由于ui 的存在, 同一个体不同时期的扰动项之间存在自相关
#对于随机效应模型还可使用“组间估计量”。如果个 体数据较不准确,可对每位个体取时间平均值,然后用平均值来回归可得“组间估计量——between
#对于固定效应模型,建议使用组内R2————R2 within
#对于组间回归模型,建议使用组间R2————R2 between
f_pool_1=plm(data = move3, model = 'pooling',effect = 'individual',
净迁入率~ lag(log10(平均可支配收入),1)
+lag(log10(平均工资),1)
+lag(log10(房价),1)
+lag(log10(人均GDP),1)
+lag(log10(公共预算支出),1)
+lag(log10(市区人口密度),1)
+lag(城镇户籍人数/常住人口,1)
+lag(log10(建成区面积),1)
+lag(log10(第三产业就业人数),1)
+lag(城市垃圾处理率,1)
+lag(log10(高教专职教师任职数+0.1),1))
summary(f_pool_1)
#个体固定效应模型可以解决 "不随时间而变" 但"随个体而异" 的遗漏变量问题:>>>
f_fix_1=plm(data = move3, model = 'within',effect = 'individual',
净迁入率~ lag(log10(平均可支配收入),1)
+lag(log10(平均工资),1)
+lag(log10(房价),1)
+lag(log10(人均GDP),1)
+lag(log10(公共预算支出),1)
+lag(log10(市区人口密度),1)
+lag(城镇户籍人数/常住人口,1)
+lag(log10(建成区面积),1)
+lag(log10(第三产业就业人数),1)
+lag(城市垃圾处理率,1)
+lag(log10(高教专职教师任职数+0.1),1)
)
summary(f_fix_1,robust = TRUE)
#——————时间固定效应,则可以解决"不随个体而变"但"随时间而变"的遗漏变量问题:>>>
f_fix_2=plm(data = move3, model = 'within',effect = 'time',
净迁入率~ lag(log10(平均可支配收入),1)
+lag(log10(平均工资),1)
+lag(log10(房价),1)
+lag(log10(人均GDP),1)
+lag(log10(公共预算支出),1)
+lag(log10(市区人口密度),1)
+lag(城镇户籍人数/常住人口,1)
+lag(log10(建成区面积),1)
+lag(log10(第三产业就业人数),1)
+lag(城市垃圾处理率,1)
+lag(log10(高教专职教师任职数+0.1),1)
)
summary(f_fix_2,robust = TRUE)
f_fix_3=plm(data = move3, model = 'within',effect = 'twoways',
净迁入率~ lag(log10(平均可支配收入),1)
+lag(log10(平均工资),1)
+lag(log10(房价),1)
+lag(log10(人均GDP),1)
+lag(log10(公共预算支出),1)
+lag(log10(市区人口密度),1)
+lag(城镇户籍人数/常住人口,1)
+lag(log10(建成区面积),1)
+lag(log10(第三产业就业人数),1)
+lag(城市垃圾处理率,1)
+lag(log10(高教专职教师任职数+0.1),1)
)
summary(f_fix_3,robust = TRUE)
RESULT_FIX=stargazer(f_fix_1,f_fix_2,f_fix_3,title = '固定效应模型',align = FALSE,
type = "text",digit.separator = ' ',
colnames = FALSE,column.labels = c('个体效应','时间效应','双向效应'))
# ——-——H0: (no cross-sectional effects) that is based on the pooled estimator 混合模型pool成立
plmtest(f_pool_1,effect = 'individual',type = 'bp')
#Lagrange Multiplier Test - (Breusch-Pagan) for unbalanced panels p-value = 0.2753 接受原假设 >>> pooling
plmtest(f_pool_1,effect = 'time',type = 'bp')
#Lagrange Multiplier Test - time effects (Breusch-Pagan) for unbalanced panels p-value = 0.01561 拒绝原假设 >>> fix time
plmtest(f_pool_1,effect = 'twoways')
# two-ways effects (Honda) for unbalanced panels normal = 0.93831, p-value = 0.174 接受原假设 >>>pooling
## 时间效应上需要固定, 而个体效应上可混合
plmtest(f_pool_2,effect = 'time') # p-value = 0.002801 拒绝原假设 >>>fix time
plmtest(f_pool_2,effect = 'individual') # p-value = 0.8705 接受原假设 >>>pooling
f_random_1=plm(data = move3, model = 'random',effect = 'individual',
净迁入率~ lag(log10(平均可支配收入),1)
+lag(log10(平均工资),1)
+lag(log10(房价),1)
+lag(log10(人均GDP),1)
+lag(log10(公共预算支出),1)
+lag(log10(市区人口密度),1)
+lag(城镇户籍人数/常住人口,1)
+lag(log10(建成区面积),1)
+lag(log10(第三产业就业人数),1)
+lag(城市垃圾处理率,1)
+lag(log10(高教专职教师任职数+0.1),1)
)
summary(f_random_1)
f_ht_1=plm(data = move3, model = 'random',random.method = 'ht',
净迁入率~ lag(log10(平均可支配收入),1)
+lag(log10(平均工资),1)
+lag(log10(房价),1)
+lag(log10(人均GDP),1)
+lag(log10(公共预算支出),1)
+lag(log10(市区人口密度),1)
+lag(城镇户籍人数/常住人口,1)
+lag(log10(建成区面积),1)
+lag(log10(第三产业就业人数),1)
+lag(城市垃圾处理率,1)
+lag(log10(高教专职教师任职数+0.1),1))
summary(f_ht_1,robust = TRUE)
RESULT_RAN=stargazer(f_random_1,f_ht_1,title = '随机效应模型',align = TRUE,type = 'text',
digit.separator = ' ',column.sep.width = '20pt',
colnames = TRUE,column.labels = c('随机效应','面板工具变量'))
# 面板工具变量模型最优
#————————Hausman检验————————
#——原假设H0:随机效应模型为正确模型
# 如果原假设成立,则 RE 比 FE 更有效。但如果原假设不成立,则 RE 不一致,而无论原假设成立与否,FE 都是一致的
#____如果该统计量大于临界值,则拒绝H0 ——例:p值为0.0000,故强烈拒绝原假设认为应该使用固定效应模型,而非随机效应模 型
#——————chisq = 22.835, df = 10, p-value = 0.01137 拒绝H0 >>> 结论为fix 更好
phtest(f_fix_1,f_random_1) #—— p-value = 0.01053 拒绝H0 >>> 结论为fix 更好
phtest(f_fix_2,f_random_2) #—— p-value = 1.108e-06 拒绝H0 >>> 结论为fix 更好
phtest(f_fix_2,f_ht_1) #————p-value = 0.9101 接受H0 >>> 结论为面板工具变量随机效应模型更好
#Oneway (individual) effect First-Difference Model
#****************************************************************************************************


雷达卡


京公网安备 11010802022788号







