【发布时间】:2015-02-10 08:13:25
【问题描述】:
我正在尝试从 rho=0.7 的 AR(1) 模型中模拟数据 (Y)。然后我将使用这些数据在截距上运行 Y 的回归(通过这样做,参数估计变为 Y 的平均值),然后测试系数小于或等于零的零假设(替代大于 0 ) 使用稳健的标准误差。 我想针对不同的滞后值使用 2000 次重复来运行该假设的蒙特卡洛模拟。目的是显示 Newey West 估计器在滞后变化时的有限样本性能。所以我就是这样开始的
A<-array(0, dim=c(2000,1))
for(i in 1:2000){
y_new<-arima.sim(model=list(ar=0.7), n=50, mean=0,sd=1)
reg<-lm(y_new~1)
ad<-coeftest(reg, alternative="greater", vcov=NeweyWest(reg, lag=1, prewhite=FALSE))
A[i]<-ad[,3]
}
我的问题:上面的代码是进行这种模拟的正确方法吗?如果是,我怎样才能获得代码来针对 HAC 测试中的不同滞后值重复此过程。我想每次将延迟增加 1 时运行测试,因此对于延迟 1、2、3、4......、50,我将执行 50 次,每次将 2000 个模拟测试统计信息存储在具有不同名称的向量。计算每个案例的检验统计量的拒绝概率(sig. level = 0,05,使用临界值 1.645),并根据各种滞后值绘制它们(拒绝概率)。 请帮忙
【问题讨论】:
-
你想用这个 MC 实验展示什么?
-
通常使用
replicate而不是for循环更容易/更快。 -
您的问题仍然模棱两可,因为您没有指定要在哪个重要性级别计算拒绝概率。如果您仅演示一个延迟时间的模拟样本的计算,则更容易提供帮助。
标签: r montecarlo