质周期分析简介
地球大气层,或者天气系统的运动变化,产生各种天气现象和性质的演变。我们定时记录下来,就是时间序列, 例如逐日气温序列,逐日雨量序列等。除了气象上的各种时间序列外,无数其他事物,尤其是人类尚未完全掌握其规律的特大系统,都产生各种等待我们去分析研究的时间序列。显然,这种时间序列如果有某种规律性,它必然是周期性。因为客观存在是有规律地运动的。即使是人类难以去影响、不能控制的特大系统也不列外。虽然不能控制,或者在控制之前,人类应该去研究它,认识它,首先做到能够预测它。我们要研究的、可以认识的,就是时间序列的周期性,做预报只能靠这种周期性。
已出现的周期分析方法有千百种,我认为最科学可靠的是谐波分析。谐波分析依据数学定理──福里哀变换,即:任何周期函数都可展开成为一系列正弦函数之和。如果是离散的时间序列,则可展开成为三角函数级数。但是谐波分析用在天气预报上不一定成功,更不比其它方法有效
。这里显然有两条不正确、不合理的经验:用作分析的时间序列不能太长,所选取的周期数目不能太多。时间序列愈长,数据资料愈多,应该能提供更多的信息,愈能揭示该事物的性质,为什么反而要短些?按数学定理,时间序列应展成无穷的三角级数,为什么只能取少数几个周期?
因为,气象系统非常复杂,任一种时间序列都将包含数不清的周期,短的可能仅几个小时,长的可以到几年,几万年,所以根本不知道它的总周期有多长。而福里哀变换只适用总周期长度已知的函数,它可以把该函数展开为无穷个倍频的正弦函数之和,对总周期未知的序列则无能为力。
我于1977年提出的“质周期分析”,不仅计算非常简单,还可克服以上两个缺点,而实质上又是根据或等价于谐波分析。可以验证,进行我所谓的分相统计得到的周期因子,实际上是以该周期为基频的所有正弦函数之和。另外,如果我们要得到该整数周期的正弦函数,只要对这个周期因子进行多次滑动平均就可以了。其结果与通常的谐波分析是一样的,我常常就用这种方法做一般的谐波分析。只有周期非整数时(如在我称之为“精密谐波分析”中所要求的),才需要复杂的解方程运算。
现在举列说明什么叫“分相统计”和“质周期因子”。如果有一个只有18个数据的时间序列:F={3,15,21,6,6,27,18,-33,15,0,-6,-9,6,18,9,3,0,9},
所谓按周期T=6的“分相统计”是:
3 15 21 6 6 27
18 -33 15 0 -6
-9
相加
6 18 9 3
0 9
──────────────────
求和
27 0 45 9
0 27
平均 9 0
15 3 0 9 此为统计因子S6(F)
这个长度为6的统计因子S6(F)={9,0,15,3,0,9},它含有周期T=2,周期T=3的因子及平均值(即周期T=1的因子),现在把它们都从统计因子S6(F)中减去,就成为质周期因子S6ο(F)了。
注意;在进行这一步“本质化”运算时一定不要有重复。例如在本列中,如果对S6(F)分别进行T=2和T=3的分相统计得到S2[S6(F)]和S3[S6(F)],再在S6(F)中减去这两者,那么就减了两次平均值S1[S6(F)],因为S2和S3中都含有平均值S1。正确的本质化运算可以有不同的途径。本例可取以下的标准过程(有时标准的并不是最优的):
第一步,先求平均值S1=(9+0+15+3+0+9)/6=6,原统计因子减去这一平均值成为:{3,-6,9,-3,-6,3}。
第二步,对第一步结果作T=2的分相统计:
3 -6
9 -3
相加 -6 3
────────────
求和 6 -6
平均 2 -2
这是S2
得S2={2,-2},从第一步结果中减去,可得到:
第一步结果: 3 -6
9 -3 -6 3
S2 : 2 -2
2 -2 2 -2
──────────────────────
相减得差: 1 -4
7 -1 -8 5 此为第二步结果
第三步:对第二步结果作T=3的分相统计:
1 -4 7
-1 -8 5
──────────────
求和: 0 -12
12
平均: 0 -6 6 这是S3
得S3={0,-6,6},从第二步中减去它,最后即可得到质因子S6ο:
第二步结果: 1 -4
7 -1 -8 5
S3 :
0 -6 6 0
-6 6
──────────────────────
相减:
1 2 1 -1
-2 -1 这就是质因子S6ο
“统计因子”经过“本质化”就成为“质因子”。当统计因子的周期T是质数时,本质化运算只要减去平均值S1。例如上面的S2 和 S3 ,因为已除去平均值S1(它们各相值之和为0),实际上就是质因子
S2ο和S3ο。周期T是非质数时,则还必须除去它所含的所有周期等于真因子的质周期函数。任何周期时间序列,可用上述算法求得它的所有质周期因子。
反过来,任何统计因子,或总周期T已知的时间序列,必等于它的所有质周期因子之和:这里说的质周期因子的周期Ti,是整数T的因子,包括T本身及Ti=1。如果上例是T=18的周期函数,它的所有质周期因子是:S18ο、S9ο、S6ο、S3ο、S2ο、S1ο。我们已经求得后4个因子,也不难求得前两个,整个周期序列将是这6个因子之和。而周期因子S6
则等于S6ο、S3ο、S2ο、S1ο这4个因子之和:
↓←-------------------------------资料时段------------------------→ 预报时段
时 刻 1
2 3 4 5 6
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
S6ο
: 1 2 1 -1 -2 -1 1
2 1 -1 -2 -1 1 2 1 -1 -2 -1
因S3ο:
0 -6 6 0
-6 6 0 -6 6 0 -6 6 0 -6 6 0 -6 6
S2ο
: 2 -2 2 -2 2
-2 2 -2 2
-2 2 -2 2
-2 2 -2 2
-2
子S1ο:
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6
S6
: 9 0 15 3 0 9
9 0 15 3 0 9 9
0 15 3 0 9
上表列出了21个时刻,从1到18是有资料时段,19时刻以后是要预报的时段。以下是5个周期因子,前4个是质周期因子,平均值S1
是特殊因子,只有一个值、本身就是质因子S1ο。因为是周期函数,每一个都可首尾相接,前后延伸,我们把每个周期的第一个元素加了下划线作标记。注意第一时刻的各周期元素都是第一元素,在那一列顶部加了符号↓,被称为“历元”时刻。历元虽然可以选在任何时刻,但选定之后就不能更改,我们做任何一次统计运算时,都要使这一时刻相互对准,即保证历元时刻,必须对准任意周期的第一元素。为了方便,通常把资料时段或预报时段的第一时刻选为历元。
由上表你可以验证前4个质周期因子之和就是普通因子S6 。如果你求得S18ο、S9ο再加上去,必等于我们开始时给出的18个元素的序列F。你可以用任何周期函数来验证这个结论,于是就可以用质因子之和来预报。同时不难发现,已知周期的序列只等于它的所有质周期因子之和,而不等于任何其它普通统计因子之和。
那么,对于像气象数据这样不知道总周期长度的时间序列呢?这里我提出下面的规律可供大家验证。如果资料序列的长度为L,则只要把周期Ti=2到Ti=2L的平方根的所有质周期因子都求出来,然后把它们都加起来,就是实际序列的良好模拟。如果该实际序列中起作用的周期都在2到根号2L之间,则就可用这些周期因子之和作预报。如果起作用的周期有在这个范围之外的,那么就要找出所有这些周期的质因子。要取多少质周期因子?大概是达到使这些质因子的周期长度之和等L为止。
现在我们把上面的18个元素的序列F,看作是不知道总周期长度的时间序列,L=18。因为2*18=36的平方根为6,应该用T=1,2,3,4,5,6的质因子来预报。我们已把T=1,2,3,6这4个质因子求出,因为它们的周期长度正好是18的因子,分相统计刚好用了全部数据,选资料时段的第一时刻为历元,与选预报时段的第一时刻为历元,是一样的,历元都包含在诸周期因子的第一元素中。统计T=4和5的周期因子时,分别只用4和3个整周期长度的资料,将分别多出2和3个实际数据不参与统计。为了预报未来,应该抛弃最早的资料,这样最好选预报时段的第一时刻为历元,分相统计时要从后向前排列数据:
求T=5的因子:
18 9
3 0 9 9是最后一个资料数据
15 0 -6 -9 6
6 6
27 18 –33 6以前的3个数被抛弃了
──────────────
求和: 39 15 24 9 -18
平均: 13 5 8 3 -6 这是S5
减平均4.6: 8 0 3
-1 -10 这是S5ο
因为我们抛弃了开头3个较大的数据3,15,21,这里的平均值不是6而降为4.6,另外,纯粹为了行文简洁,我们把相减结果中的小数点后数字去掉了(这会降低精确性)。
求t=4的周期因子:
9 3 0 9 9是最后一个资料数据
-6 -9 6 18
18 –33 15 0
21 6 6 27 21以前的2个数被抛弃了
──────────────
求和: 42 –33 27 54
平均: 10.5 -8.25 6.75 13.5
这是S4
S2: 8.6 2.6 8.6 2.6
减S2: 2 -11 -2 11 这是S4ο
这里的S2是由S4进行分相统计得到的,包含S2ο和S1ο,减去它,就等于减去了两者,即成为质因子。结果也略去了小数,这纯粹为了使下面的表格简单些,当然也降低了精确性。下表的“理论”一行是由6个质因子求和得到的,在资料时段是理论模拟值,在预报时段的19,-11,16,就是预报时段首3个时刻的预报值了。
因子名←-------------------------------资料时段---------------------------→ ↓预报时段
S6ο
: 1 2 1 -1 -2 -1 1
2 1 -1 -2 -1 1 2 1 -1 -2 -1 1 2 1
S5ο
: 3 -1 -10 8 0 3 -1
-10 8 0 3 -1
-10 8 0 3 -1
-10 8 0 3
S4ο
:-2 11 2 –11 -2 11 2 –11 -2 11 2 –11 -2 11 2 –11 -2 11 2 –11 -2
S3ο
: 0 -6 6 0
-6 6 0 -6 6 0 -6 6 0 -6 6 0 -6 6 0 -6 6
S2ο
: 2 -2 2 -2 2
-2 2 -2 2
-2 2 -2 2
-2 2 -2 2
-2 2 -2 2
S1
: 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6
理论:10 10 7 0 -2 23 10 –21 21 14 5 -3 -3 19 17 -5 -3 10 19 –11 16
实际:3 15 21 6
6 27 18 –33 15 0 -6 -9 6 18 9
3 0 9
2002-8-11写,2003-12-3日修改补充