如何在R中估计空间自回归模型?

7
我正在尝试使用Franzese&Hays(2007)关于使用横截面时间序列数据的空间计量模型的论文中的数据,在R中估计一些空间模型。 我专注于他们在表4中给出的结果(见下文)。使用lm,我能够复制他们对OLS,S-OLS和S-2SLS模型的结果。 但是,在尝试估计S-ML(空间最大似然)模型时,我遇到了麻烦。

Table 4 from Franzese & Hays (2007)

如果我使用GLM模型,一些解释变量存在一些微小差异,但是对于空间滞后的估计系数有相当大的偏差(输出如下)。 我不完全确定为什么GLM在这种情况下不是正确的估计方法。使用GLS可以得到类似于GLM的结果(可能与related相关)。
require(MASS)
    m4<-glm(lnlmtue~lnlmtue_1+SpatLag+DENSITY+DEIND+lngdp_pc+UR+TRADE+FDI+LLVOTE+LEFTC+TCDEMC+GOVCON+OLDAGE+factor(cc)+factor(year),family=gaussian,data=fh)
summary(m4)

Coefficients:
                    Estimate   Std. Error t value    Pr(>|t|)    
(Intercept)          7.199091355  3.924227850   1.835    0.068684 .  
lnlmtue_1            0.435487985  0.080844033   5.387 0.000000293 ***
SpatLag             -0.437680018  0.101078950  -4.330 0.000028105 ***
DENSITY              0.007633016  0.010268468   0.743    0.458510    
DEIND                0.040270153  0.032304496   1.247    0.214618 

我尝试使用splm包,但这导致了更大的一致性(如下所示的输出)。此外,我无法在模型中包含固定效应。

require(splm)
m4a<-spml(lnlmtue~lnlmtue_1+DENSITY+DEIND+lngdp_pc+UR+TRADE+FDI+LLVOTE+LEFTC+       TCDEMC+GOVCON+OLDAGE,data=fh,index=c("cc","year"),listw=mat2listw(wmat),
      model="pooling",spatial.error="none",lag=T)
summary(m4a)


Coefficients:
           Estimate  Std. Error t-value Pr(>|t|)    
(Intercept)  1.79439070  0.78042284  2.2993  0.02149 *  
lnlmtue_1    0.75795987  0.04828145 15.6988  < 2e-16 ***
DENSITY     -0.00026038  0.00203002 -0.1283  0.89794    
DEIND       -0.00489516  0.01414457 -0.3461  0.72928 

基本上我的问题是如何在R中使用横截面时间序列数据正确估计SAR模型? R代码 复制数据 邻接矩阵

请查看spdep软件包(更一般地,请参见空间任务视图 - Ben Bolker
据我所知,spdep不处理时间序列交叉数据。 - horseoftheyear
1个回答

0

你必须使用 R 吗?

我建议您检查来自亚利桑那州立大学的免费空间分析软件 Geoda 的功能。

虽然我只用它来运行基本的空间OLS(不是2SLS),但我对Geoda的灵活性和可视化工具感到满意。我鼓励您浏览 文档 并考虑下载最新版本。

如果您一定要使用 R,我建议探索 GeoXp 软件包 (http://cran.r-project.org/web/packages/GeoXp/index.html)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接