首页 > 解决方案 > 由于 R 中的内生性,2SLS 时间序列的 GMM

问题描述

我正在尝试估计受内生性影响的时间序列数据模型。我用 2SLS 估计它,我对异方差和 ser 具有鲁棒性。相关性(我知道它存在)但 t-stats 非常低。一个原因是我没有顶级仪器,但更重要的问题是在这种情况下,2SLS 的效率低于 GMM。尽管如此,由于此错误,我无法在 R 中指定代码:

solve.default(diag(ncol(umat)) - apply(var.fit$ar, 2:3, sum)) 中的错误:系统在计算上是奇异的:倒数条件数 = 1.0524e-34

我没有完美的共线性。所以问题是不同的......这是我到目前为止所做的。

这是标准的OLS回归:

final_formula<-logod~PD_1+gdp+interest_rate_1+exchange_rate_4+unemployment_rate+ted_spread+fiscal1
summary(final_model<-lm(data = US_data,formula = final_formula))

其中 logod=log(PD/(1-PD)),PD 是违约概率,gdp 是实际 gdp,interest_rate_1 是 10 年政府滞后一个月。债券利率,.......等等

然后通过 ivreg 进行 2SLS

ivreg(data = US_data, formula = logod~PD_1+gdp+interest_rate_1+exchange_rate_4+
                        unemployment_rate+ted_spread+fiscal1 | PD_1 + gdp +
                        UK_interest_rate + UK_unemployment_rate + UK_exchange_rate + 
                        UK_spread + ted_spread + fiscal1)

因为由于结果我怀疑在原始 OLS 中,汇率和失业率都是内生的,因此我从不同的数据集中获取工具。

然后我尝试通过以下方式估计 gmm:

gmm(logod~logod_1+gdp+interest_rate_1+exchange_rate_4+
                       unemployment_rate+ted_spread+fiscal1, x= ~ logod_1 +gdp +
                       UK_interest_rate + UK_unemployment_rate + UK_exchange_rate + 
                       UK_spread + ted_spread + fiscal1, data = US_data,vcov = "HAC")

但是我得到了我上面提到的错误。也许我错误地指定了函数,但我不知道问题是什么。当我将像 lag(logod,1) 这样的因变量的滞后插入方程时,它可以工作,但这不是我想要的。

请问有人知道吗?

谢谢

马杰

标签: r

解决方案


推荐阅读