Kalman Filter
The state Model是怎么被引入至普通的探究模型的?
什么是已知的,我们去未知的参数,基于什么假设?
古典的贝叶斯假设:正态性
最小方差假设:最小方差线性无偏性
时间序列是按照时间顺序的一系列观察值 \(y_1,y_2,\cdots,y_n\)
时间序列的基本表示模型:
加法模型:
\(\mu_t\) 是趋势项,\(\gamma_t\) 是季节项,\(\varepsilon _t\)是随机波动项。这里的各个成分可以看做向量或者变量。我们先将这些变量看做变量便于计算。
乘法模型:
经过\(\log\)处理之后仍然可以看做加法模型
随机游走的引入:
简单的例子:\(\mu_t = \alpha_{t}\) ,没有季节效应,所有的随机变量都是正态分布,假定\(\varepsilon _t\)的方差固定。
\(t=1\),\(~\eta_t,~\varepsilon_t\)是互相独立的,且都独立于\(\alpha_1\),这意味着:
这个模型被称为Local level Model,这个模型虽然看起来很简单,但是它可以刻画结构状态空间模型的特征。有一系列观测不到的\(~\alpha_1,\alpha_2,\cdots,\alpha_n~\),称为状态(States)变量,这些变量代表着系统随时间的变化,并且这些状态变量通过\((3)\)这个状态空间模型与观察变量联系在一起。这个模型的目标就是通过已有的观测值去推算\(~\alpha_t~\)相关的性质
站在最小方差线性无偏估计量的角度而言,随机变量\(\varepsilon _t,\eta_t\)可能不是正太分布的。
假定:初始化的\(\alpha_{1} \sim {\rm{N}}(a_1,P_1)\),\(a_1,P_1~\)是已知的,并且\(\sigma_{\varepsilon}^{2},\sigma_{\eta}^{2}\)也是已知的。由于随机游走是非平稳的,模型也是非平稳的,这意味着随机变量\(~y_t,\alpha_t~\)的分布依赖于时间\(t\),
我们需要计算(3)中模型的参数,包括给定\(~y_1,y_2,\cdots,y_{t-1}~\)下\(~\alpha_t~\)的均值和方差给定\(~y_1,y_2,\cdots,y_n~\)下\(~\alpha_t~\)的均值和方差,为了把数据拟合到模型中,也需要通过MLE计算\(\sigma_{\varepsilon}^{2},\sigma_{\eta}^{2}\)。在这个方法中\(~y_1,y_2,\cdots,y_{t}~\)由Local level Model生成,为什么这么说? 我们通过观察(3)就可以看出,观察变量由\(Y_n\)表示:\(Y_{n} \sim \mathrm{N}\left({\bf1} a_{1}, \Omega\right)\)
\(\Sigma~\)是一个\(n \times n\)的矩阵,其元素可表示为:
进而我们可以推算出:
由于观察变量之间的自相关性,随着\(~n~\)的增加,计算就变得异常复杂!为了解决这个难题,可以用过滤波(filtering )和平滑算法(smoothing)提升运算效率,而不改变结果!