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


11

r=max(p,q+1)

yt−μ=ϕ1(yt−1−μ)+ϕ2(yt−2−μ)+...+ϕ3(yt−3−μ)+ϵt+θ1ϵt−1+...+θr−1ϵt−r+1.

ξt+1=[ϕ1ϕ2…ϕr−1ϕr10…00⋮⋮…0000…10]ξt+[ϵt+10⋮0]

观测方程为:

yt=μ+[1θ1θ2…θr−1]ξt.

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

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

Answers:


10

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

动机:

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

派生:

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

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

  1. 观察方程

ϕ(B)(yt−μ)=θ(B)ϵt(causality)⟺(yt−μ)=ϕ−1(B)θ(B)ϵt⟺yt=μ+ϕ−1(B)θ(B)ϵt⟺yt=μ+θ(B)ϕ−1(B)ϵt(letting ξt=ϕ−1(B)ϵt)⟺yt=μ+θ(B)ξt(this is where we need r)⟺yt=μ+[1θ1θ2…θr−1][ξtξt−1⋮ξt−r+1]⏟the state vector+0.
  1. 状态方程

ξt=ϕ−1(B)ϵt⟺ϕ(B)ξt=ϵt⟺(1−ϕ1B−⋯−ϕrBr)ξt=ϵt⟺ξt=ϕ1ξt−1+⋯+ϕrξt−r+ϵt⟺[ξtξt−1ξt−2⋮ξt−r+1]=[ϕ1ϕ2ϕ3⋯ϕr100⋯0010⋯0⋮⋮⋱⋯000⋯10][ξt−1ξt−2⋮ξt−r]+[ϵt0⋮0].

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.