来自汉密尔顿的ARMA(p,q)的状态空间表示


11

r=max(p,q+1)

ytμ=ϕ1(yt1μ)+ϕ2(yt2μ)+...+ϕ3(yt3μ)+ϵt+θ1ϵt1+...+θr1ϵtr+1.

ξt+1=[ϕ1ϕ2ϕr1ϕr1000000010]ξt+[ϵt+100]

观测方程为:

yt=μ+[1θ1θ2θr1]ξt.

在这种情况下,我不知道是什么。因为在他的AR(p)表示中,它是,在他的MA(1)表示中是。ξt[ytμyt1μytp+1μ][ϵtϵt1]

有人可以更好地向我解释一下吗?

Answers:


10

汉密尔顿(Hamilton)证明这是书中的正确表述,但是这种方法似乎有点违反直觉。因此,让我首先给出一个高层的答案,以激发他的建模选择,然后再详细说明他的推导。

动机

从阅读第13章应该可以清楚地看到,有很多方法可以以状态空间形式编写动态模型。因此,我们应该问为什么汉密尔顿选择了这种特殊的表示。原因是这种表示使状态向量的维数保持较低。直观地,您会认为(或至少我会认为)ARMA(,)的状态向量至少应为维。毕竟,仅通过观察说,我们就无法推断。但他表明,我们可以以一种巧妙的方式定义状态空间表示形式,从而使状态向量的维数最大为pqp+qyt1ϵt1r=max{p,q+1}。我猜,将状态维数保持在较低水平可能对计算实现很重要。事实证明,他的状态空间表示方式还可以很好地解释ARMA过程:未观察到的状态是AR(),而MA()部分是由于测量误差而产生的。pq

派生

现在进行推导。首先请注意,使用滞后运算符表示法,将ARMA(p,q)定义为: 其中我们让为,和为和我们省略因为是至少。因此,我们需要证明的是他的状态和观察方程式暗示着上面的方程式。让状态向量为 现在看一下状态方程。您可以检查方程至

(1ϕ1LϕrLr)(ytμ)=(1+θ1L++θr1Lr1)ϵt
ϕj=0j>pθj=0j>qθrrq+1
ξt={ξ1,t,ξ2,t,,ξr,t}
2r只需将条目移至向前一个周期,并在状态向量处丢弃。因此,定义的第一个方程是相关的。写出来: 因为的第二个元素是的第一个元素,而的第三个元素是的第一个元素ξi,tξi1,t+1ξr,tt+1ξi,t+1
ξ1,t+1=ϕ1ξ1,t+ϕ2ξ2,t++ϕrξr,t+ϵt+1
ξtξt1ξtξt2依此类推,我们可以使用滞后算符表示法并将滞后多项式移到左侧(H中的方程13.1.24)来重写它: 因此,隐藏状态遵循自回归过程。同样,观测方程为 或 到目前为止,这看起来 ARMA,但是现在不错的部分:将最后一个方程式乘以:(
(1ϕ1LϕrLr)ξ1,t+1=ϵt+1
yt=μ+ξ1,t+θ1ξ2,t++θr1ξr1,t
ytμ=(1+θ1L++θr1Lr1)ξ1,t
(1ϕ1LϕrLr)
(1ϕ1LϕrLr)(ytμ)=(1+θ1L++θr1Lr1)(1ϕ1LϕrLr)yt
但是从状态方程(滞后一个周期),我们得到!因此上述等效于 ,这正是我们需要显示的内容!因此,状态观察系统正确表示了ARMA(p,q)。我实际上只是在解释汉密尔顿,但是我希望无论如何这都是有用的。(1ϕ1LϕrLr)ξ1,t=ϵt
(1ϕ1LϕrLr)(ytμ)=(1+θ1L++θr1Lr1)ϵt

不过,我对国家的解释并不完全满意。当您写状态转换方程的第一行时,它看起来像一个与假定模型冲突的方程。我还感到奇怪的是,您假设观察到的数据同时处于隐藏/潜在状态。
泰勒,

没错,状态确实与。感谢您指出了这一点。我更正了,现在应该可以了。顺便说一句,一般而言,我们可以在状态向量中观察到变量,例如参见AR(p)示例。在那里,隐藏变量可以被视为下一个周期的值。ytyt+1
Matthias Schmidtblaicher

谢谢!但是我仍然对状态空间表示中的感到困惑。不为他的例子定义在和AR(p)和MA(1)process.My困惑是,如果我把这个在MATLAB中,我会得到什么数字方程13.1.15和13.1.14?ξξξ
dleal

令人困惑的是,状态空间建模与隐藏状态有关,而在ARMA进程中,我们不会将变量视为隐藏状态。通过过滤掉未观察到的状态来激发状态空间表示和(Kalman)过滤技术。对于ARMA流程,我们仅使用状态空间模型的公式,因此可以使用卡尔曼滤波器来估计参数。因此,我们在13.1.4中任意地将隐藏状态定义为下一个周期的观测值而在13.1.22中,该状态是一个新变量,不会出现在原始模型中。yt+1
Matthias Schmidtblaicher

要回答有关Matlab的问题:如果从ARMA(p,q)开始,不会出现在该模型中。但是,状态空间表示实际上提供了对ARMA(p,q)的不同解释:隐藏状态可能是您感兴趣的变量,并且MA(q)结构由于测量误差而出现。您可以写下一个AR(1)并添加一些白噪声,以查看出现了ARMA结构。ξ
Matthias Schmidtblaicher

8

这和上面的一样,但是我想我会提供一个简短,简洁的答案。同样,这是因果ARMA(,)过程的汉密尔顿表示,其中。这个数将是状态向量的维数,并且需要使它的行数状态与观察矩阵的列数匹配。这意味着每当索引太大时,我们还必须将系数设置为零。pqr=max(p,q+1)r(ξt,ξt1,,ξtr+1)

  1. 观察方程

ϕ(B)(ytμ)=θ(B)ϵt(causality)(ytμ)=ϕ1(B)θ(B)ϵtyt=μ+ϕ1(B)θ(B)ϵtyt=μ+θ(B)ϕ1(B)ϵt(letting ξt=ϕ1(B)ϵt)yt=μ+θ(B)ξt(this is where we need r)yt=μ+[1θ1θ2θr1][ξtξt1ξtr+1]the state vector+0.
  1. 状态方程

ξt=ϕ1(B)ϵtϕ(B)ξt=ϵt(1ϕ1BϕrBr)ξt=ϵtξt=ϕ1ξt1++ϕrξtr+ϵt[ξtξt1ξt2ξtr+1]=[ϕ1ϕ2ϕ3ϕr1000010000010][ξt1ξt2ξtr]+[ϵt00].

1
这使得最终弄清楚了这些状态方程式的来源。我认为,从理论上讲,这比只给那些随机出现的方程式加注证明事实正确要好得多。
Alex

@CowboyTrader是的,是的。至少对于此ARMA表示形式。还有一些。
泰勒,

@CowboyTrader不,但是我会说这是一种明智的感觉,因为关于状态空间模型的文献偏向于过滤。存在线性高斯状态空间模型的递归预测方程,但是您确实获得了过滤功能,这是一个额外的好处。
泰勒,

@CowboyTrader随时给我发送电子邮件。我知道并不是每个人都喜欢在评论中进行扩展讨论,因此这样做可能会更容易。
泰勒,

我看到证明了,但是,请您能提供一些直觉吗?什么是状态变量,什么是t = 0状态向量?
弗兰克,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.