FGLS 使用 R 中的 plm 包校正序列相关性和异方差性
FGLS Correcting Serial Correlation and heteroskedasticity with plm package in R
我正在 运行 回归 model 具有一些异方差性和序列相关性,我试图在不改变我的 model 规范的情况下解决这两个问题。
首先,我生成了一个 OLS model 并实现了异方差性和序列相关性这两个问题。所以,我尝试用plm的pggls
命令运行一个可行的广义最小二乘法(FGLS)model来同时解决这两个问题,但是这个命令似乎只能解决异方差和不是序列相关。
我的代码如下:
base<-pdata.frame(base, index = c("ID","time"), drop = FALSE)
Reg<-pggls(sells~ prices + income + stock+
period1 + period2+ period3, model = c("pooling"),
data=base)
这个命令似乎纠正了异方差性,但它肯定不能纠正序列相关性,因为我创建了一个简单的证明。下面我生成了残差和回归滞后残差之间的回归 model:
res = Reg$res
n = length(res)
mod = lm(res[-n] ~ res[-1])
summary(mod)
res[-1]
系数是mod是有意义的。所以并没有解决序列相关问题
有人知道如何向 pggls
命令添加一些选项来解决这个问题吗?或者有人知道解决这两个问题的更好的命令吗?不一定非得是面板数据命令,因为我只有1个人。
只要你说不需要面板结构就可以直接修正标准误,这是计量经济学文献中使用较多的方法。其实GLS估计在今天有点过时了...
你可以这样做:
library(sandwich)
library(lmtest)
reg <-lm(sells ~ prices + income + stock + period1 + period2+ period3, data = base)
coeftest(reg, vcov = vcovHAC(reg))
为了完整起见,如果您想像 Stata 那样产生聚类稳健估计,您可以尝试使用 here.
中的 Tarzan 的 cl
函数
我正在 运行 回归 model 具有一些异方差性和序列相关性,我试图在不改变我的 model 规范的情况下解决这两个问题。
首先,我生成了一个 OLS model 并实现了异方差性和序列相关性这两个问题。所以,我尝试用plm的pggls
命令运行一个可行的广义最小二乘法(FGLS)model来同时解决这两个问题,但是这个命令似乎只能解决异方差和不是序列相关。
我的代码如下:
base<-pdata.frame(base, index = c("ID","time"), drop = FALSE)
Reg<-pggls(sells~ prices + income + stock+
period1 + period2+ period3, model = c("pooling"),
data=base)
这个命令似乎纠正了异方差性,但它肯定不能纠正序列相关性,因为我创建了一个简单的证明。下面我生成了残差和回归滞后残差之间的回归 model:
res = Reg$res
n = length(res)
mod = lm(res[-n] ~ res[-1])
summary(mod)
res[-1]
系数是mod是有意义的。所以并没有解决序列相关问题
有人知道如何向 pggls
命令添加一些选项来解决这个问题吗?或者有人知道解决这两个问题的更好的命令吗?不一定非得是面板数据命令,因为我只有1个人。
只要你说不需要面板结构就可以直接修正标准误,这是计量经济学文献中使用较多的方法。其实GLS估计在今天有点过时了...
你可以这样做:
library(sandwich)
library(lmtest)
reg <-lm(sells ~ prices + income + stock + period1 + period2+ period3, data = base)
coeftest(reg, vcov = vcovHAC(reg))
为了完整起见,如果您想像 Stata 那样产生聚类稳健估计,您可以尝试使用 here.
中的 Tarzan 的cl
函数