2008年6月2日

别给我扯青蛙也能预测地震

别给我扯青蛙啊什么“可公度方法”之类的也能预测地震,我虽然不是学地球物理专业的,但是对于一些明显不符合科学方法论的方法,一些明显逻辑错误的方法,还是能看出来的。

这是我博士政治课的最终作业。为了契合“结合本专业谈科学方法论”里面的“科学方法论”和“本专业”两个主题,说了一些不恰当的哲学词语,举了一些太拗口的例子,我自己很不满意。于是,我删了一些例子,但是还是不太满意,算了,懒得改了。

ps:下面的文献2是一本“好”书,把“等差数列”讲得玄而又玄,好到你能看出某些院士老糊涂之后是什么货色。

下面是正文:

——————————

1. 引言

最近,令人心情沉重的“四川大地震”发生,在哀悼的同时,很多朋友质疑为什么地震没有被预测,甚至有很多朋友找到了地震预测的许多方法来证明地震可以预测。比如,在5月12日大地震发生之后,很多网友找到5月9日四川电视台播放的四川绵竹地区青蛙过街的视频来证明这是大地震的预兆。又比如,有人举出文献【1】(“可公度方法”)来说明有人已经预测了2008年的“四川大地震”。

对于地震是不是可以预测的问题,由于我的专业不是研究地球物理学,我无从回答。本文中,我只想结合我本科四年学习物理学和研究生博士生三年学习计算机软件科学的经验来,从科学方法论的角度来谈一谈什么是科学方法论当中的“预测”。并以此讨论,网上流传的所谓各类地震预测方法到底科学不科学。

2. 预测的定义

在科学问题上,我们一般认为“预测”是科学规律、理论、模型的自然延伸。如果我们用映射的观点来理解预测,那么就是通过一系列已有的自变量和因变量的对应关系找到一个有效的映射,对于未来的自变量输入,可以在一定的置信度内得到可信的输出。

在物理学上,预测是指根据物理规律预言事物未来的物理发展过程或者物理状态。比如,我们可以通过万有引力定律推断,扔掉的铁球一定会掉到地上,掉到地上的时间是多少。同样,我们可以通过地球离心力的规律和万有引力定律更精密的计算重力加速度。同时,我们还可以通过一系列的流体定律计算空气对铁球下落的影响。从而更进一步更精确的支出铁球下落的过程和最后铁球落地时的状态。

在软件科学上,预测一般是指,对某计算问题进行形式化建模。比如,常用的模型有自动机、Petri网、图灵机等。然后基于这些模型对计算问题的结果和一些性质进行预测。在计算机领域,并不是每一个计算问题都可以有效的形式化建模,那么某些问题经过大量的数据实验之后,也可以建立统计模型,对以后的输入结果进行预测。

3. 预测问题的分类

在科学中,可以提出的预测问题种类繁多,或者说,自然界的规律、理论、模型的种类繁多,我们基本上可以将自然界的规律、理论、模型分为两类,一类是确定性的规律,一类是统计性的规律。

确定性的规律一般是指,在研究对象的内在机制比较清楚时,根据一些普遍承认的公理使用逻辑演绎的方式推导出的规律。比如,通过Maxwell方程的一系列推到可以明确的得到“光在介质中的传播总是沿光程最小的方向传播”的规律。如果我们假设空气密度一样的时候,在一束光没有出现之前,我们就能“预测”出这束光会落到墙上的哪里。

统计性的规律一般是指,在研究对象内在机制不太清楚的时候,根据以往的数据和结果,通过统计归纳的手段,总结出一些规律。

比如,我们在丢一枚硬币,我们能通过大量实验知道丢很多次,正面和反面所占的比率大概都是50%。我们同时也可以做出预测,再丢很多次,正反面的次数大概是多少。但是我们不可能通过这个统计规律预测下一次硬币到底是正面还是反面。

3.1. 因果关系

值得注意的是,不管确定性规律还是统计性规律都不说明映射的自变量和因变量之间有内在的因果关系。比如,汽车的距离、速度、时间之间符合x=vt的确定性规律,可是x、v、t三个量之间并不一定存在什么因果关系。又比如,某台计算机观测到总是死机黑屏,黑屏的时候CPU占用率总是接近100%,在统计上,黑屏和CPU占用率100%两个事件有很高的统计相关性,但实际上可能这两个现象并没有互为因果,可能这两个现象都是病毒造成的。

实际上预测问题并不关注研究对象的因果关系。我可以通过知道v、t来预测x,也可以通过黑屏的现象来预测CPU的占用率,并不关心它们之间是否具有内在的因果关系。

3.2. 使用统计规律的原因

对于研究的对象,能找到确定性的规律是很不容易的事情,所以在现实世界中,很多规律都是统计性规律。原因有三,一是有可能研究对象的内在作用机制并不是那么明显,可能描述这种机制的理论并非成熟。

二是有可能影响研究对象的因素很多,每个因素对研究对象的行为和状态都有很大的影响,用计算机术语说叫做鲁棒性很差。

比如,物理学很难预测烟囱冒出的烟的行为。因为烟囱的形状、冒烟的时间、当时的空气状况的累积效应都可能对烟的行为有很大的影响。这在物理学上被称为非线性效应。最著名的“蝴蝶效应”就是一种非线性效应。

三是有可能研究对象过于复杂,而且我们并不需要知道其每一步的动作,而是只需要知道其总体行为如何。

比如,上面举的热力学的例子,实际上在非相对论非量子的情况下,我们通过牛顿-拉格朗日力学方法可以对每个粒子的运动写出方程进行描述。但是由于一个系统所包含的气体粒子的个数都在1023以上,我们所拥有的计算能力不足以计算如此多的方程。实际上,在预测气体的压强等性质的时候,我们也没有必要知道每个粒子的运动行为,所以统计规律就发挥了作用。

3.3. 相互转化

确定性和统计性的规律、理论、模型也可以互相转化。比如牛顿-拉格朗日力学在宏观的非相对理论条件下是确定性的规律,在量子条件下就失效了,必须转化为量子统计规律。又比如,光的折射定律发现的时候是大量实验的统计规律,在Maxwell方程发现以后,就成为了确定性的规律。

4. 预测的误差

找到了规律,我们是否就可以对特定的输入预测出准确的答案呢?在科学上,“准确”这个词的定义往往被认为是一个相对的概念。即便规律是对的,预测和事实也可能存在差距,这种差距被称为“误差”。

误差的造成是多方面的。对于确定性规律,造成预测误差的常见原因之一是因为输入数据的精确度限制了预测结果的准确度。比如一个物体在x=1.0米处,它以5.0m/s的速度沿x轴正向移动了1.0s之后,它的位置应该是x=6.0米。实际测量,可能物体最后在x=6.02米处,那么多出来的0.02米就是由于精度造成的误差。

对于统计性的规律,造成预测误差的常见的原因之一是由于统计规律的统计相关性往往不是100%。造成统计相关性低下的原因很多,比如因为模型、规律、理论的粗糙,对研究对象的内部作用知之甚少,数据和结论之间的相关性很低。比如天气预报是一个典型的统计相关性比较差预测系统。由于大气模型的粗糙,天气情况和所观测的数据之间很难建立有效的统计相关性,所以也很难通过观测的数据得出置信度很高的天气情况的预报。

5. 科学的预测

预测的方法要称为“科学”的,应该符合一系列的条件。

首先,对于需要预测的研究对象,应该使用科学的方式寻找规律、理论或者建立科学的模型。如前所述的,可以通过对研究对象的内在研究通过逻辑演绎的方式建立确定性模型,也可以通过对输入输出统计的方式建立统计性模型。

其次,规律、理论、模型必须提供证伪的方式,必须能够接受一次又一次的实验的检验。这也是科学理论与其他理论相区别的最大特点。

不管是在理论建立还是在理论验证的过程中,都必须遵循一定的科学规范,比如不能对实验数据进行人为选择,比如统计抽样必须符合随机原则等等。

实践证明理论是科学的以后,我们可以使用这种理论对研究对象的行为进行预测,那么实际预测的时候,我们还需要综合预测的输入精度、理论的精度、统计规律的统计相关性等各方面的信息对预测的误差作出估计。

我们把一个预测称为“有意义的”,往往是指,这个预测是“科学的”,并且这个预测的误差数量级小于预测本身的数量级。

比如,在调度系统中,进行的研究都是符合科学的,建立的模型也是符合科学的。可是由于一定的系统问题,调度的时间精度只有1s的数量级,而加调度和不加调度的输出时间差异只有0.1s数量级,那么基于这个模型做出的任何“加入调度比不加调度提高了系统的实时性”的预测都是“无意义的”。

6. 预测中常见的错误

首先解释一下什么叫做“错误预测”。“错误预测”并不是指预测的结果错误,而是指预测的过程不符合科学方法论。有时候错误的预测也可能带来正确的结论。比如,某人扔硬币,预测说“下一次一定是正面”,实际上下一次扔出了正面,这样,这次预测的结果是正确的。但是某人的预测过程并不符合科学方法论,所以仍然可以说某人进行了“错误预测”。

错误一:没有进行误差分析,错误的得出了高精度的结果。

比如,就像前面举的例子,一个物体在x=1.0米的地方,沿x轴以5.0米/秒的速度正向移动,预测这个物体在1秒后会在x=6.00米的地方。这样的预测就是错误的,因为根据误差分析,我们只能得出结论,物体会在x=6.0米的地方。预测出高精度的结果x=6.00米是错误预测。

错误二:忽略一些影响显著的因素,使用错误的规律。

比如,物理中有“光在均匀介质中沿直线传播”的规律,而这时候,介质并不是均匀的,那么如果还使用均匀介质的光传播规律来预测光的行为,这样的预测肯定是错误预测。

错误三:选择数据或样本选择偏离随机原则,人为的加强了统计相关性。

比如,在某系统中加入某调度算法,实验100次结果是,加入调度后系统实时性更好的结果有50次,系统实时性更坏的结果有50次。这样的调度结果就说明调度算法无效。可是,如果进行数据选择,只选用结果好的数据,那么可以得出规律,“调度算法是有效的”。然而,这个根据选择后的数据得到的规律是不正确的,所以根据这个规律做出的任何预测都是错误预测。

人为的数据选择有时候会跟多规律系统相混淆。多规律系统是指,一个系统是由多个规律所支配,其中一些现象和结果的映射是规律A的反应,而另一些现象和结果的映射时规律B的反应。在实验中,我们可以排除规律B的数据而专门研究规律A的数据。

在科学中,对一个数据选择行为到底是人为的数据选择错误还是正常的多规律系统的规律排除,这个有一定的判断标准。其中重要的标准是,多规律系统的规律排除必须明确的指出为何要进行数据选择,选择的依据是什么。同时最好应该比较排除某些数据前后的结果差别。

错误四:统计样本不够多,规律不显著。

比如,调度算法中,实验只进行了2次,这两次2次的结果恰好是,加入调度系统的实时性都得到了提高,那么就得到结论,“调度算法是有效的”。而可能100次实验的结果并非这样。所以根据2次实验得到的规律进行的预测是错误预测。

回过头来,我们来看“青蛙过街”和文献【1】所做的预测在科学方法论上存在什么错误。

宣传这种“青蛙过街”可以预测地震的朋友,并没有数据说明到底青蛙过街现象和地震现象之间的统计相关性如何。而是采用了例举法,“这次地震之前有大量青蛙过街”。例举法的问题在于样本的稀少。如果要证明“青蛙过街”和地震之间的相关性,可以进行这样的统计,90%的“青蛙过街”现象出现之后一个星期之内当地都发生了地震。不能因为一次“青蛙过街”现象和地震有一些时间上的关联了,就说“青蛙过街”现象与地震具有统计相关性。并且以此作预测。所以“青蛙过街”的预测属于样本稀少的错误预测。

文献【1】的“可公度方法”的问题在于选择数据。

首先,文献【1】选择了6.7级作为数据的门槛,却没有说明为何要选6.7级。实际上,在“可公度方法”的发明人预测“唐山大地震的时候”门槛就选择的是5.5级【2】。所以6.7级作为门槛可以认为是一种人为的数据选择。

其次,文献【1】在25次6.7级地震年份只选择了15次作为“可公度方法”的计算依据,却也没有明确说明为何选择这15次而不选择其他10次【3】。由于没有明确对数据选择做出解释,所以我们只能认为文献【1】进行了不科学的数据选择,人为加强了数据和地震的统计相关性。

7. 结论

本文通过我自身的物理和计算机软件的学习体验从科学方法论上总结了科学预测的定义,科学预测的分类,科学预测的误差和科学预测的方式。并运用基本的科学方法论分析了流传中的地震预测方式为什么是不科学的。

科学方法论是相通的。从科学方法论上认识什么是预测以及如何才能算是科学的预测,可以检验我们身边的很多所谓“预测”是不是科学的,是不是有意义的。

引用

【1】 龙小霞,延军平,孙虎,王祖正,基于可公度方法的川滇地区地震趋势研究,灾害学,2006,第3期,p.81~p.84;

【2】 翁文波,预测论基础,p.49,石油工业出版社,1984;

【3】 同人于野,研究一篇成功预测了汶川地震的诡异论文,http://gezhi.org/blog/%E5%90%8C%E4%BA%BA%E4%BA%8E%E9%87%8E/965


没有评论: