zhuyucai1的个人博客分享 http://blog.sciencenet.cn/u/zhuyucai1

博文

河南人在荷兰:21. 一篇文章是这样炼成的(一) 精选

已有 16099 次阅读 2013-7-13 01:05 |系统分类:科研笔记| 研究, 写文章

六月的第二个星期天,把一篇单行距35页的长文投到一个著名的控制期刊,长长地舒了一口气,倍感轻松。这篇文章从构思到完稿投出,一共经历了15个年头!肯定能得“最慢论文写作奖”。

本来计划等文章接受了再写这篇博客,炫耀一下;如果被拒绝就悄悄不做声。转念一想,在评审结果出来之前讲这个故事更有悬念。另外这么做也表示我做事是享受过程,并不太在意结果(又开始吹牛,打住!我老婆的话。)

1998年一月,自己开公司一年就把家里的钱花光了,为了养家糊口又回到Eindhoven技术大学兼职搞科研。谈工作计划时,我说我先写本书吧,同时做些非线性系统的辨识方法研究。教授说没问题。书中第五章写预测误差方法的。

预测误差方法(模型)是系统辨识中理论上最成熟、模型精度最高的一类方法。Lennart Ljung就是因为建立了预测误差方法理论,成为系统辨识界最著名学者之一。假设在计算模型参数(参数估计)时能得到全局最优解,那么得到的模型就是无偏(unbiased)的和最小方差的(minimum variance);严格一点说应该是一致的(consistent)和渐近有效的(asymptotically efficient)。在常用的假设条件下,这样的模型精度可以说是最高境界了。

问题就出在全局最优解这个假设上。

大部分预测误差模型结构在计算模型参数(参数估计)时,需要使用数值优化算法。由于这些模型的损失函数是非凸的,使用一般的数值优化算法只能得到局部极小解。寻找预测误差方法的全局最优解,是几十年没有解决的难题。如果得不到全局最优解,预测误差方法的所有优点也就丢失了。在实际应用中,对多变量复杂系统,预测误差方法会因为局部极小或计算不收敛而失败。


数值优化是计算数学或应用数学的一个分支。对于损失函数非凸的优化问题,除了几种非常耗时的方法,至今没有实用的全局解优化方法。研究系统辨识的学者大都不去碰这个问题,可能是认为自己搞不过计算数学家吧。搞辨识的学者典型的研究方法是,先假设某个方法能够得到全局解,然后进行分析和证明。

我研究辨识注重应用,算法的全局最优问题是我多年的一大纠结。我脑后跟总是响着一个声音:能得到全局最优解多好啊!我提出的渐近辨识法在这方面下了不少功夫,结果也很好,但理论上还证明不了全局最优。

在写第五章那段时间,各种预测误差方法和模型,还有我的渐近法,在我脑子里跳舞;有一种声音在伴奏:全局最优!全局最优!。。。(哪位朋友帮我谱个曲?)

有一天,大概是1998年底、1999年初,某时刻(记不清了,但我经常在淋浴和做饭时产生灵感),突然眼前一亮,我看到了一个全局最优的预测误差方法!

具体想法是这样的。1965年,Steiglitz McBride 提出了一个简单的迭代算法,用来替代(逼近)输出误差 (output error)方法。正规的输出误差方法使用数值优化算法,有局部极小问题。Steiglitz–McBride 方法不是优化方法,一般来说得到的模型精度要差一些。1981Stoica Söderström分析了Steiglitz–McBride方法。得出的结论是,如果系统的输出干扰(噪声)是白噪声,则Steiglitz–McBride 方法是渐近(当时间趋向无穷大时)全局收敛的,但不是有效的(最优的)。由于我看重全局最优问题,所以对这两篇文章很重视,并写在第五章的开头部分。

预测误差模型中最复杂的模型之一是BoxJenkins1960/1970年代提出的Box-Jenkins模型。由于模型结构复杂,该模型参数估计的优化算法问题就多。当我写到Box-Jenkins模型时就想,如果干扰(噪声)模型已知,就可以用干扰模型的倒数对数据进行滤波,把输出干扰变成白噪声,然后用Steiglitz–McBride方法计算,根据Stoica Söderström1981)的理论,不就得到全局收敛的模型了么?可是干扰模型如何得到?

有了,就用我的渐进法参数估计中的第一步。下面就是这一算法的三个步骤:
 

1)使用输入输出数据计算一个高阶ARX模型。计算ARX模型使用的是最小二乘法,有解析解,且是全局最优解。

2)使用高阶ARX模型的A(q)多项式对输入输出数据滤波。因为A(q)是干扰模型的倒数,滤波后,输出干扰逼近白噪声。

3)使用滤波后的数据,用Steiglitz–McBride迭代方法计算系统模型。根据Stoica Söderström1981)的理论,Steiglitz–McBride迭代方法渐近全局收敛。

该方法比一般的数值优化方法要简单,因为第三步中的迭代不需求导。

我把算法编程后,用一个简单的例子做仿真研究,将结果与Matlab中的Box-Jenkins方法比较。两个算法精度一样。我很失望,因为我急于打败Matlab的算法(那是Lennart Ljung编的。)失望中,我把这个想法写到记事本上,好等到没有新想法的时候再回来做。当时正是我忙于推销辨识软件的时候,又写书,还在写两篇非线性系统辨识的文章。

现在回头看,因为当时仿真研究中用的例子简单,Matlab的算法能够得到全局最优解,模型精度是最高的。两个算法精度一样,说明我的新算法也是有效的,已经很好了。但当时没有注意到这一点。

转眼到了2010年,我比较闲,就翻出这个算法,准备写一篇文章。当初我没有写文章的另一个原因是我认为算法太简单,怕写出来被人笑话。十多年后的现在,我认定好东西都是简单的。我构造了一个复杂一点的例子,系统阶数高并有震荡。对这个例子Matlab 的算法出现不能全局收敛的结果,而我的新算法仍然全局收敛,因此模型精度高很多。我很开心,终于赢了Matlab.

我写了一篇短文,先投到2011IFAC大会,后来又作为快速发表的短文,投到一个著名控制期刊。会议的文章接受了;期刊的评审说证明全局收敛数学上不够严格。这是我的老毛病。我修改后又投了出去。审稿人还是觉得数学不够严格,编辑拒绝了我的文章。我本来的想法是把我的算法快速发表,让理论强的同行去做分析工作。没想到这个不懂辨识的编辑家伙就轻易地给拒绝了。这可是全局收敛的辨识算法啊!我大怒,马上发电子邮件表示抗议:“一个控制期刊是要发表有关控制的新思想,还是做数学游戏?请不要让一些伪数学家来毒害我们控制领域!”

(我认为过去这30年欧美控制学术界是越来越数学,做的东西越来越没用。归根到底,控制是技术。要当数学家请到数学系去找工作。)

我把文章和编辑评语发HH,请他帮我把数学抛光一下,并问他是不是这篇文章的审稿人。大家可能还记得HH就是20年前在Automatica拒绝我渐近法文章的那个家伙。

太长了,未完待续。。。

参考文献

1.       Steiglitz K. and L.E. McBride (1965). A technique for the identification of linear systems. IEEE Trans. Automatic Control, Vol. AC-10, pp 461-464.

2.       Stoica P. and T. Söderström (1981). The Steiglitz-McBride identification algorithm revisited – convergence analysis and accuracy aspects. IEEE Trans. Automatic Control, Vol.AC-27, pp. 736-738.

3.       Zhu, Y.C. (2011). A Box-Jenkins method that is asymptotically globally convergent for open loop data. Proceedings of 17th IFAC World Congress, pp. 9047–9051, Milan, Italy.  


一篇文章是这样炼成的(二)

一篇文章是这样炼成的(三):让阶次飞 

一篇文章是这样炼成的(四):署名问题 

一篇文章是这样炼成的(五):二审结果出来了

一篇文章是这样炼成的(六):文章接受了。。。一半

一篇文章是这样炼成的(七):文章正式发表 




论文写作
https://blog.sciencenet.cn/blog-862928-707605.html

上一篇:翻译外国人名的一些问题
下一篇:河南人在荷兰:22. 一篇文章是这样炼成的(二)
收藏 IP: 77.61.216.*| 热度|

20 曹聪 唐常杰 武夷山 袁斌 刘淼 张全成 李冰 强涛 李培光 苏金亚 翟自洋 李毅伟 彭海杰 房松 吴吉良 李天成 王号 霍艾伦 高绪仁 yyfy105

该博文允许注册用户评论 请点击登录 评论 (22 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-25 09:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部