受控自回归滑动平均模型(ARMAX)的系统辨识 | 您所在的位置:网站首页 › car模型 › 受控自回归滑动平均模型(ARMAX)的系统辨识 |
文章目录
系统模型似然函数辨识过程关于参数的梯度与海森矩阵梯度海森矩阵
受控自回归滑动平均模型 (Controled Auto Regression and Moving Average model, CARMA),亦称带外部输入的自回归滑动平均模型 (Auto Regression and Moving Average model with eXogenous input, ARMAX)是应用非常广泛的线性系统模型,本文介绍该模型的一种系统辨识方法:最大似然法。 系统模型y k + a 1 y k − 1 + ⋯ a n y k − n = b 1 u k − 1 + b n u k − n + e k + c 1 e k − 1 + ⋯ + c n e k − n y_k + a_1y_{k-1} + \cdots a_n y_{k-n} = \\ b_1u_{k-1}+ b_n u_{k-n} + e_{k} + c_1 e_{k-1} + \cdots + c_n e_{k-n} yk+a1yk−1+⋯anyk−n=b1uk−1+bnuk−n+ek+c1ek−1+⋯+cnek−n 即 y k = − ∑ i = 1 n a i y k − i + ∑ i = 1 n b i u k − i + ∑ i = 1 n c i e k − i + e k y_k = -\sum_{i=1}^n a_iy_{k-i} + \sum_{i=1}^n b_i u_{k-i}+ \sum_{i=1}^n c_i e_{k-i} + e_{k} yk=−i=1∑naiyk−i+i=1∑nbiuk−i+i=1∑nciek−i+ek 该模型在 ARMA 的基础上考虑了外部输入 u ( k ) u(k) u(k) 对输出的影响,为方便讨论,在此设定 a , b , c a,b,c a,b,c 的下标都是从 1 1 1 到 n n n,实际上不必如此。 似然函数在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。 给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率: L ( θ ∣ X ) = P ( X ∣ θ ) L(\theta | X) = P(X|\theta) L(θ∣X)=P(X∣θ) 在统计学中,“似然性”和“概率”有明确的区分。概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。 假定误差 e ( k ) e(k) e(k) 服从 0 0 0 均值、方差为 σ 2 \sigma^2 σ2 的高斯分布,则有似然函数为: P ( Y N ∣ U N , Θ ) = P ( y N , … ∣ u N , … , Θ ) = P ( y 0 ) Π k = 1 N P ( y k ∣ Y k − 1 , U N , Θ ) = P ( y 0 ) Π k = 1 N P ( e k ) = P ( y 0 ) ( 2 π ) − N / 2 σ − N exp [ − ( 1 / 2 σ 2 ) ∑ k = 1 N e k 2 ] (1) \begin{array}{ll} P(Y_N | U_N,\Theta) &= P(y_N, \ldots | u_N, \ldots, \Theta) \\\\ &= P(y_0)\Pi _{k=1}^NP(y_k| Y_{k-1},U_N,\Theta) \\\\ &= P(y_0)\Pi _{k=1}^NP(e_k) \\\\ &= P(y_0)(2\pi)^{-N/2}\sigma^{-N} \exp \left[ -(1/2\sigma^2)\sum_{k=1}^N e_k^2\right] \tag{1} \end{array} P(YN∣UN,Θ)=P(yN,…∣uN,…,Θ)=P(y0)Πk=1NP(yk∣Yk−1,UN,Θ)=P(y0)Πk=1NP(ek)=P(y0)(2π)−N/2σ−Nexp[−(1/2σ2)∑k=1Nek2](1) 其中 e k = y k − ϕ i Θ ϕ k = [ − y k − 1 , … , − y k − n ∣ u k − 1 , … , u k − n ∣ e k − 1 , … , e k − n ] ⊤ Θ = [ a 1 , … , a n ∣ b i , … , b n ∣ c 1 , … , c n ] ⊤ \begin{array}{ll} e_k &= y_k - \phi_i \Theta \\\\ \phi_k & = [-y_{k-1}, \ldots, -y_{k-n} | u_{k-1}, \ldots, u_{k-n} | e_{k-1}, \ldots, e_{k-n}]^\top \\\\ \Theta &= [a_1, \ldots, a_n | b_i, \ldots, b_n | c_1, \dots, c_n ]^\top \end{array} ekϕkΘ=yk−ϕiΘ=[−yk−1,…,−yk−n∣uk−1,…,uk−n∣ek−1,…,ek−n]⊤=[a1,…,an∣bi,…,bn∣c1,…,cn]⊤ 最大化似然(1)等价于最小化负对数似然(2) J ( σ , Θ ) = N ln σ + 1 2 σ 2 ∑ k N e k 2 (2) J(\sigma, \Theta) = N \ln \sigma + \frac{1}{2\sigma^2}\sum_k^N e_k^2 \tag{2} J(σ,Θ)=Nlnσ+2σ21k∑Nek2(2) 辨识过程在实际辨识过程中,由于参数 Θ \Theta Θ 未知,误差 e k e_k ek 不能精确获得,所以计算过程中用其估计值 ν k ≃ e k \nu_k \simeq e_k νk≃ek 来替代。 代价函数: J ( σ ν , Θ ) = N ln σ ν + 1 2 σ ν 2 ∑ k N ν k 2 (2) J(\sigma_\nu, \Theta) = N \ln \sigma_{\nu} + \frac{1}{2\sigma_\nu^2}\sum_k^N \nu_k^2 \tag{2} J(σν,Θ)=Nlnσν+2σν21k∑Nνk2(2) 采集 N N N 组数据,估计一个初始 Θ 0 \Theta_0 Θ0,比如先假定误差项系数 c i = 0 c_i=0 ci=0,用最小二乘法求解 a i , b i a_i, b_i ai,bi; k = 0 k = 0 k=0固定 Θ \Theta Θ(即固定 ν \nu ν),更新 σ ν \sigma_\nu σν: σ ν = arg min σ ν J = ∑ k ν k 2 / N \sigma_\nu = \argmin_{\sigma_\nu} J = \sqrt{\sum_k \nu_k^2/N} σν=σνargminJ=k∑νk2/N 固定 σ ν \sigma_\nu σν, 更新 Θ \Theta Θ,即最小化 L = ∑ k ν k 2 L = \sum_k \nu_k^2 L=k∑νk2 采用牛顿法更新参数: Θ t + 1 = Θ t − H − 1 ∇ Θ L \Theta_{t+1} = \Theta_t - H^{-1} \nabla_{\Theta} L Θt+1=Θt−H−1∇ΘL k = k + 1 k = k +1 k=k+1,重复以上交替优化过程直到 σ t 2 − σ t − 1 2 σ t − 1 2 < 1 0 − 4 \frac{\sigma_t^2 - \sigma_{t-1}^2}{\sigma_{t-1}^2} < 10^{-4} σt−12σt2−σt−12 |
CopyRight 2018-2019 实验室设备网 版权所有 |