欢迎来到RankFan的Blogs

扩大
缩小

Kalman Filter

The state Model是怎么被引入至普通的探究模型的?

什么是已知的,我们去未知的参数,基于什么假设?

古典的贝叶斯假设:正态性
最小方差假设:最小方差线性无偏性

时间序列是按照时间顺序的一系列观察值 \(y_1,y_2,\cdots,y_n\)

时间序列的基本表示模型:

加法模型:

\[y_t = \mu_t + \gamma_t + \varepsilon _t \qquad t= 1,2,\cdots,n \]

\(\mu_t\) 是趋势项,\(\gamma_t\) 是季节项,\(\varepsilon _t\)是随机波动项。这里的各个成分可以看做向量或者变量。我们先将这些变量看做变量便于计算。

乘法模型:

\[y_t = \mu_t \gamma_t \varepsilon _t \qquad t= 1,2,\cdots,n \]

经过\(\log\)处理之后仍然可以看做加法模型

\[\log y_t = \log \mu_t + \log \gamma_t + \log \varepsilon _t \qquad t= 1,2,\cdots,n \tag{1} \]

随机游走的引入:

\[\alpha_{t+1} = \alpha_{t} + \eta_{t} \quad \eta_{t}\overset{iid}{\sim} (0,\sigma^{2}_{\eta}) ;\quad t= 1,2,\cdots, n\tag{2}\]

简单的例子:\(\mu_t = \alpha_{t}\) ,没有季节效应,所有的随机变量都是正态分布,假定\(\varepsilon _t\)的方差固定。

\[ \begin{aligned} y_{t} &=\alpha_{t}+\varepsilon_{t}, & & \varepsilon_{t} \sim \mathrm{N}\left(0, \sigma_{\varepsilon}^{2}\right) \\ \alpha_{t+1} &=\alpha_{t}+\eta_{t}, & & \eta_{t} \sim \mathrm{N}\left(0, \sigma_{\eta}^{2}\right) \end{aligned} \tag{3} \]

\(t=1\),\(~\eta_t,~\varepsilon_t\)是互相独立的,且都独立于\(\alpha_1\),这意味着:

\[\rm {E}(\eta_t\varepsilon_t) = 0; \qquad Cov(\eta_t\varepsilon_t) = 0 ;\qquad \rm {E}(\eta_t\alpha_1) = 0;\qquad\rm {E}(\varepsilon_t\alpha_1) = 0;\]

这个模型被称为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)\)

\[ Y_n = \begin{pmatrix} y_1\\ y_2\\ \vdots\\ y_n \end{pmatrix} \quad {\bf1} = \begin{pmatrix} 1\\ 1\\ \vdots\\ 1 \end{pmatrix} \quad \Omega={\bf1}{\bf1}^{\prime} P_{1}+\Sigma\]

\(\Sigma~\)是一个\(n \times n\)的矩阵,其元素可表示为:

\[\Sigma_{i j}=\left\{\begin{array}{ll} (i-1) \sigma_{\eta}^{2}, & i<j \\ \sigma_{\varepsilon}^{2}+(i-1) \sigma_{\eta}^{2}, & i=j, \quad i, j=1, \ldots, n \\ (j-1) \sigma_{\eta}^{2}, & i>j \end{array}\right.\]

进而我们可以推算出:

\[y_{t}=\alpha_{1}+\sum_{j=1}^{t-1} \eta_{j}+\varepsilon_{t}, \quad t=1, \ldots, n \]

由于观察变量之间的自相关性,随着\(~n~\)的增加,计算就变得异常复杂!为了解决这个难题,可以用过滤波(filtering )和平滑算法(smoothing)提升运算效率,而不改变结果!

posted on 2021-04-11 21:09  RankFan  阅读(81)  评论(0编辑  收藏  举报

导航