计算乙[Zt - 1|Xt - 1]E[Zt−1|Xt−1]在 ARMA 进程中

机器算法验证 时间序列 有马 条件期望
2022-03-17 07:14:04

假设我有一个 ARMA(1,1) 模型:

Xt=ϕXt1+Zt+θZt1,ZtWN(0,σ2)

确实,我要计算E[Xt|Xt1]. 为了这:

E[Xt|Xt1]=ϕXt1+E[Zt|Xt1]+θE[Zt1|Xt1]=ϕXt1+θE[Zt1|Xt1]
我使用的事实是j>0,XtZt+j是独立的。因此,它们是平均独立的:E[Zt|Xt1]=E[Zt]=0. 但是不知道怎么计算E[Zt1|Xt1].

我不知道这是否是最好的计算方法E[Xt|Xt1]. 如果有其他计算方法,我也想知道!

1个回答

对于高斯 ARMA 模型,我们可以使用多元正态分布的条件矩的标准结果得出条件均值和方差。这需要使用 ARMA 模型的自相关函数。您可以在Brockwell and Davis (1991)的第 3.3 节中找到有关如何计算 ARMA 模型的自相关函数的详细信息如何计算条件分布和矩的详细信息可以在O'Neill (2021)中找到,它描述了ts.extend中的函数。首先我们推导出自相关函数γ在相关的滞后值(在这种情况下为零和一):

γ(k)Corr(Xt,Xtk).

使用这些值,我们可以将感兴趣的条件期望写为:

E(Xt|Xt1=x)=μ+γ(1)(xμ).

(在这个等式中,我包括了一个平均值μ对于高斯 ARMA 模型,即使在您的问题中该平均值为零。)您可以使用ts.extend包中的函数计算您感兴趣的条件期望。这是使用参数的示例μ=0,ϕ=0.8θ=0.3.

#Set model parameters
mu    <- 0
phi   <- 0.8
theta <- -0.3

#Compute autocorrelation
AUTOCORR  <- ts.extend::ARMA.autocov(n = 2, ar = phi, ma = theta, corr = TRUE)
CORR.LAG1 <- AUTOCORR[2]

#Compute and plot conditional expectation
x <- (-30:30)/10
E <- mu + CORR.LAG1*(x - mu)
plot(x, E, type = 'l', xlim = c(-3, 3), ylim = c(-3, 3),
     main = 'Conditional Expectation in Gaussian ARMA Model',
     xlab = 'X[t-1]', ylab = 'E(X[t] | X[t-1])')

在此处输入图像描述