黑马程序员技术交流社区

标题: 【上海校区】多维MA模型参数的Gevers-Wouter算法 [打印本页]

作者: 不二晨    时间: 2018-7-11 09:33
标题: 【上海校区】多维MA模型参数的Gevers-Wouter算法

在介绍上述算法之前,首先介绍MA模型到底是什么,这个算法到底有什么用???

MA模型:

                (1)

这是系统建模的另一种方式,传统的对系统建模无非是传递函数和状态空间模型,而

MA模型是时间序列法进行分析的较好的一种建模方式。

然后是Gevers-Wouter算法有什么用??

在我们建立模型的时候经常会遇到一个问题,我们知道系统满足这个模型,但是怎么把模型

里面的参数给估计出来,而我们能知道的只有整个模型的输出y(t),通过y(t)来对模型的参数

进行估计就是该算法的作用,这就解决了我们在建模中的痛楚。

因为算法的推导过程比较繁琐,我这里就先把算法推导结果摆上,有兴趣的同学可以参考邓自

立的《信息融合滤波理论及其应用》,该算法的递推式如下:

(2)


                                                (3)

                                                               (4)

其中,代表输出y(t)与误差之间的协方差,代表输出y(t)和y(t-k)的协方差,

代表白噪声的方差,其定义式如下:

                                                (5)

                                                        (6)

                                                                    (7)

下面讨论一下算法的具体过程,不妨哪一个例子进行举例:

假设系统的实际模型如下:


假设取白噪声的方差为1,通过上述模型我们可以算出y(t)的值,我们现在要做的就是利用得到的y(t)

对模型中的参数进行估计。首先我们由协方差公式得到的对应值,协方差公式如下:

                            (8)


如果你利用模型中标准的参数进行计算,能得到如下值:

                                           (9)

上述值是通过定义进行求取的,求取过程如下:

(10)

同理可以求取的值。

而我们利用y(t)对其值进行求取,当n=1000时,误差在0.1左右,当n取10000时,误差在0.01,

充分证明了该方法的可行性。

我们得到的值之后,就可以利用式(2)来对进行迭代

求取,求取过程如下:

                                (11)

当t=10时,求取过程如下:

                    (12)


这里只求了四个元素的原因是,在参数估计的式(3)、式(4)分别只需要这四个元素就可以了,

其他元素的求取是多余的。按照上述式子迭代100次后就可以估计出参数Di和Q,迭代过程如下:



仿真代码如下,有兴趣的可以验证一下:







【转载】原文地址:https://blog.csdn.net/hxlove123456/article/details/80937054





作者: 吴琼老师    时间: 2018-7-12 16:29

作者: 摩西摩西OvO    时间: 2018-7-19 17:08





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2