例如,当使用此处讨论的时间序列数据(又名中断时间序列)进行干预分析时,我的一个要求是估计由于干预而导致的总收益(或损失) - 即获得或损失的单位数量(Y 变量)。
不完全了解如何使用 R 中的过滤器函数来估计干预函数,我以蛮力的方式进行了研究,希望这足以在任何情况下工作。
假设给定数据
cds<- structure(c(2580L, 2263L, 3679L, 3461L, 3645L, 3716L, 3955L,
3362L, 2637L, 2524L, 2084L, 2031L, 2256L, 2401L, 3253L, 2881L,
2555L, 2585L, 3015L, 2608L, 3676L, 5763L, 4626L, 3848L, 4523L,
4186L, 4070L, 4000L, 3498L), .Dim = c(29L, 1L), .Dimnames = list(
NULL, "CD"), .Tsp = c(2012, 2014.33333333333, 12), class = "ts")
我们决定最佳拟合模型如下,干预函数为
其中是 2013 年 10 月的脉冲。
fit4 <- arimax(log(cds), order = c(1,1,0),include.mean=FALSE,
xtransf = data.frame(Oct13 = 1*(seq_along(cds)==22)),
transfer = list(c(1,0))
,xreg=1*(seq_along(cds)==3))
fit4
# ARIMA(1,1,0)
# Coefficients:
# ar1 xreg Oct13-AR1 Oct13-MA0
# -0.0184 0.2718 0.4295 0.4392
# s.e. 0.2124 0.1072 0.3589 0.1485
# sigma^2 estimated as 0.02176: log likelihood=13.85
# AIC=-19.71 AICc=-16.98 BIC=-13.05
我有两个问题:
1)即使我们已经区分了 ARIMA 误差,为了评估干预函数,然后使用差分序列在技术上拟合,我们需要做些什么来“改回”或的估计从使用到?
2)这是否正确:为了确定干预的增益,我从参数构造了干预。一旦我有了,然后我将模型 fit4(exp() 以反转对数)的拟合值与 exp(拟合值减去)进行比较,并确定在观察期间,干预导致了 3342.37 个额外单位。
这个过程是从干预分析中确定收益的正确过程吗?
int_vect1<-1*(seq_along(cds)==22)
wo<- 0.4392
delta<-0.4295
mt<-rep(0,length(int_vect1))
for (i in 1:length(int_vect1))
{
if (i>1)
{
mt[i]<-wo*int_vect1[i]+delta*mt[i-1]
}
}
mt
sum(exp(fitted(fit4)) - (exp(fitted(fit4) - mt)))