全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
25582 37
2009-01-09
R软件如何运算面板数据,有没有现成的函数?急!谢谢,谢谢了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-1-9 17:50:00
有专门一个package plm可以做这方面的分析,变截距、变系数、动态等
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-1-10 13:49:00

给一个我自己的例子,供大家参考:数据为我国30个省直辖市的历年多个经济指标的数据

步骤1建立面板数据的第一步,是判断选用固定影响还是随机影响模型。

下面是程序和结果:

a<-read.table()

a[1:10,]

attach(a)

library(kinship)

library(survival)

library(splines)

library(nlme)

library(lattice)

library(plm)

 

form<-lnGDP~lnFDI+lngd+lnjk+lncs+sc+fn+lngx

wi<-plm(form,data=a,model="within")

re<-plm(form,data=a,model="random")

phtest(wi,re)

结果:

> phtest(wi,re)

 

        Hausman Test

 

data:  lnGDP ~ lnFDI + lngd + lnjk + lncs + sc + fn + lngx

chisq = 433.8309, df = 7, p-value < 2.2e-16

alternative hypothesis: one model is inconsistent

这个p值很小,说明我们应当建立固定效应模型(fixed-effect panel data model)。

 

步骤2我们需要判断是否存在个体(即指不同的省份是否有差异)或时间(即不同的年份是否有差异)上存在效应(即individual effect and time effect)。

程序为:

wi<-plm(form,data=a,model="within")

re<-plm(form,data=a,model="random")

phtest(wi,re)

pooltest(form,data=a,effect="individual",model="within")

结果为:

> phtest(wi,re)

 

        Hausman Test

 

data:  lnGDP ~ lnFDI + lngd + lnjk + lncs + sc + fn + lngx

chisq = 433.8309, df = 7, p-value < 2.2e-16

alternative hypothesis: one model is inconsistent

这里用的是Hausman检验,(这个检验很有名,一定在文章中要指出来),这个p值很小,说明不同的省份之间是存在差异的,亦即说明我们不应当仅仅建立一个回归模型,而应当考虑面板数据模型。

再检验不同的年份是否有差异:

> pooltest(form,data=a,effect="time",model="within")

Total Sum of Squares: 223.65

Residual Sum of Squares: 5.5215

Multiple R-Squared: 0.97531

F-statistic: 1585.84 on 281 and 7 DF, p-value: 4.4705e-11

Total Sum of Squares: 258.15

Residual Sum of Squares: 176.55

Multiple R-Squared: 0.3161

 

        F statistic

 

data:  lnGDP ~ lnFDI + lngd + lnjk + lncs + sc + fn + lngx

F = -3.3521, df1 = 63, df2 = 218, p-value = p-value = 0.03344

alternative hypothesis: unstability

 

p值也很小,说明存在时间效应。

因此,我们应当建立双向模型。(two-way model

 

 

步骤3:检验数据中是否存在序列相关。

程序和结果:

 

> #Wooldridge test for AR(1) Errors in fixed-effect models

> pwartest(form,data=a)

chisq = 160.7113, p-value < 2.2e-16

alternative hypothesis: serial correlation

 

> #Breusch-Godfrey test

> pbgtest(form,data=a,model="within")

chisq = 110.3584, df = 8, p-value < 2.2e-16

alternative hypothesis: serial correlation in idiosyncratic errors

我们用了两种检验方法—Wooldridge检验和Breusch-Godfrey检验,两者的结果都表明存在序列相关。(因为经济变量常常存在滞后效应)

因此:我们建立动态面板数据模型。

 

步骤4:建立因变量一阶滞后动态面板数据模型

 

程序和结果:

> z<-plm(form2,data=a,effect="twoways",model="within")

> summary(z)

Twoways effects Within Model

 

Call:

plm(formula = lnGDP ~ lag(lnGDP, 1) + lnFDI + lngd + lnjk + lncs +

    sc + fn + lngx, data = a, effect = "twoways", model = "within")

 

Unbalanced Panel: n=30, T=7-9, N=268

 

Residuals :

    Min.  1st Qu.   Median  3rd Qu.     Max.

-0.05040 -0.01190 -0.00151  0.01090  0.05160

 

Coefficients :

                 Estimate  Std. Error t-value  Pr(>|t|)   

lag(lnGDP, 1)  0.85226126  0.02404062 35.4509 < 2.2e-16 ***

lnFDI         -0.00958171  0.00304533 -3.1464  0.001653 **

lngd           0.08300597  0.01092805  7.5957 3.062e-14 ***

lnjk           0.01554135  0.00818296  1.8992  0.057534 . 

lncs          -0.00743742  0.01005511 -0.7397  0.459503   

sc            -0.00187426  0.00079621 -2.3540  0.018573 * 

fn             0.00066339  0.00060187  1.1022  0.270364   

lngx           0.02947792  0.01340732  2.1986  0.027903 * 

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Total Sum of Squares: 0.90123

Residual Sum of Squares: 0.078496

Multiple R-Squared: 0.9129

F-statistic: 290.854 on 222 and 8 DF, p-value: 1.5546e-09

>

 

上面的这个结果给出了各个协变量的估计值和对应的p值。我们可以看到lncs fn明显不显著,可以考虑剔除。

> fixef(z,effect="time")

    1998     1999     2000     2001     2002     2003     2004     2005

7.678966 7.669333 7.851724 7.871667 7.974667 8.114000 8.298333 8.454333

    2006

8.607333

>

 

这个结果给出了不同年份对于GNP的影响程度的系数估计值。

> fixef(z,effect="individual")

     安徽      北京      福建      甘肃      广东      广西      贵州

0.3159479 0.3296284 0.3360433 0.2690685 0.3918811 0.3251789 0.2636895

     海南      河北      河南    黑龙江      湖北      湖南      吉林

0.2724491 0.3368272 0.3562414 0.2921768 0.3072936 0.3402186 0.2814821

     江苏      江西      辽宁    内蒙古      宁夏      青海      山东

0.3504352 0.3143661 0.3061524 0.3329276 0.2226738 0.2693105 0.3657338

     山西      陕西      上海      四川      天津      新疆      云南

0.3219749 0.2895678 0.3121129 0.3179066 0.2869156 0.2455689 0.2897662

     浙江      重庆

0.3536876 0.2772177

 

 

步骤5:建立剔除lncs fn后的因变量一阶滞后动态面板数据模型

程序和结果:

> form3<-dynformula(lnGDP~lnFDI+lngd+lnjk+sc+lngx,list(1,0,0,0,0,0))

> z1<-plm(form3,data=a,effect="twoways",model="within")

> summary(z1)

Twoways effects Within Model

 

Call:

plm(formula = lnGDP ~ lag(lnGDP, 1) + lnFDI + lngd + lnjk + sc +

    lngx, data = a, effect = "twoways", model = "within")

 

Unbalanced Panel: n=30, T=7-9, N=268

 

Residuals :

    Min.  1st Qu.   Median  3rd Qu.     Max.

-0.05000 -0.01170 -0.00148  0.01040  0.05270

 

Coefficients :

                 Estimate  Std. Error t-value  Pr(>|t|)   

lag(lnGDP, 1)  0.85664241  0.02311597 37.0585 < 2.2e-16 ***

lnFDI         -0.01008154  0.00301880 -3.3396  0.000839 ***

lngd           0.07803668  0.01033282  7.5523 4.276e-14 ***

lnjk           0.01493284  0.00808623  1.8467  0.064791 . 

sc            -0.00193102  0.00079113 -2.4408  0.014654 * 

lngx           0.03420814  0.01286767  2.6585  0.007850 **

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Total Sum of Squares: 0.90123

Residual Sum of Squares: 0.079205

Multiple R-Squared: 0.91211

F-statistic: 387.46 on 224 and 6 DF, p-value: 7.8975e-08

>

 

从上面可以看出,这个模型在显著性水平为0.07下,各项系数全部显著。

对各个地区(即截据项)进行估计结果为:

> fixef(z1,effect="individual")

     安徽      北京      福建      甘肃      广东      广西      贵州

0.2679218 0.3216359 0.2962178 0.2249348 0.3589294 0.2782205 0.2206860

     海南      河北      河南    黑龙江      湖北      湖南      吉林

0.2378180 0.2901350 0.3078225 0.2628207 0.2653672 0.2935142 0.2534690

     江苏      江西      辽宁    内蒙古      宁夏      青海      山东

0.3118309 0.2716132 0.2792191 0.3020984 0.1935617 0.2401060 0.3226166

     山西      陕西      上海      四川      天津      新疆      云南

0.2825636 0.2467644 0.3067745 0.2716447 0.2700671 0.2132193 0.2444440

     浙江      重庆

0.3097046 0.2382718

 

下面是对时间因素的估计:

> fixef(z1,effect="time")

    1998     1999     2000     2001     2002     2003     2004     2005

7.678966 7.669333 7.851724 7.871667 7.974667 8.114000 8.298333 8.454333

    2006

8.607333

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-1-10 18:33:00
很好,非常详细!!!尤其是Hausman检验,需要先对固定效应和随机效应做比较检验,做检验时phtest注意固定效应和随机效应的顺序!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-1-13 17:06:00
R软件中有一个plm package,请安装这个package,在google中搜索《Panel Data Econometrics in R: The plm Package》并下载该pdf文档,按照该文档中介绍的方法就可以进行面板数据分析了。最简单的方法就是将该文档的命令复制到R中,按一个回车键就可以将文档中的例子演示一下,试一试吧。你可以在如下网站下载该PDF文档:http://www.jstatsoft.org/v27/i02/paper
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-1-13 18:47:00
那个pdf不错,值得推荐!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群