2017-04-08 54 views
2

我正在運行具有一些異方差性和序列相關性的迴歸模型,我試圖在不改變模型規範的情況下解決這兩個問題。FGLS使用plm包修正R系列相關性和異方差性

首先,我已經生成了一個OLS模型,並且實現了兩個問題,異方差和序列相關性。所以,我嘗試用plm的pggls命令運行一個可行的廣義最小二乘(FGLS)模型來同時解決這兩個問題,但是這個命令似乎只解決異方差而不是串行關聯。

我的代碼如下:

base<-pdata.frame(base, index = c("ID","time"), drop = FALSE) 
Reg<-pggls(sells~ prices + income + stock+ 
      period1 + period2+ period3, model = c("pooling"), 
      data=base) 

此命令似乎糾正異,但是當我創建了一個簡單的證明它肯定不正確的序列相關。下面我所產生的殘差和迴歸模型的滯後殘差之間的迴歸:

res = Reg$res 
n = length(res) 
mod = lm(res[-n] ~ res[-1]) 
summary(mod) 

res[-1]係數是mod爲有意義的。所以它沒有解決串行關聯。

有人知道如何添加一些選項到pggls命令來解決這個問題嗎?還是有人知道解決這兩個問題的更好的命令?它不一定需要是面板數據命令,因爲我只有一個人。

+0

'lm(res [-n]〜res [-1])'不會給你你想要的,使用'plm :: lag'代替。 – Helix123

+0

只需執行OLS迴歸並使用穩健(異方差和序列相關健壯)標準錯誤,看包''三明治'。 – Helix123

回答

1

只要你說你不需要面板結構,你就可以直接修正標準錯誤,這是計量經濟學文獻中比較常用的方法。事實上,GLS估計是有點老派的今天...

你可以這樣做:

library(sandwich) 
library(lmtest) 

reg <-lm(sells ~ prices + income + stock + period1 + period2+ period3, data = base) 

coeftest(reg, vcov = vcovHAC(reg)) 

只是爲了completness,如果你想製作一個聚集穩健估計像塔塔呢,你雲嘗試使用here的Tarzan cl功能。

+0

程序包「plm」中的函數'vcovXX'(例如'vcovHC')也應該執行羣集SE - 比自己實現它更容易。 – Helix123