课程名称:
时间序列分析
题
目: 降水量预测
院 系: 理学院
专业班级:数学与应用数学10-1
学 号: 87
学生姓名: 戴永红
指导教师:__ 潘洁 _
2013年 12 月 13日 1. 问题提出
能不能通过以前的降水序列为样本预测出2002的降水量?
2. 选题
以国家黄河水利委员会建站的山西省河曲水文站1952年至2002年51年的资料为例,以1952年至2001年50年的降水序列作为样本,建立线性时间序列模型并预测2002年的降水状态与降水量,并与2002年的实际数据比较说明本模型的具体应用及预测效果。资料数据见表1。
表1 山西省河曲水文站55年降水量时间序列
时段 降水量(mm) 时段 降水量(mm) 时段 降水量(mm)
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
3.原理
模型表示
均值为0,具有有理谱密度的平稳时间序列的线性随机模型的三种形式,描述如下:
1、()ARp自回归模型:1122tttptptL由2p个参数刻画;
2、()MAq滑动平均模型:1122ttttqtqL由2q个参数刻画;
3、(,)ARMApq混和模型:
11221122tttptptttqtqLL
(,)ARMApq混和模型由3pq个参数刻画;
自相关函数k和偏相关函数kk
1、自相关函数k刻画了任意两个时刻之间的关系,0/kk
2、偏相关函数kk刻画了平稳序列任意一个长1k的片段在中间值11,ttkL固定的条件下,两端t,tk的线性联系密切程度。
3、线性模型k、kk的性质
表2 三种线性模型下相关函数性质
模型
函数 ()ARp ()MAq (,)ARMApq
k 拖尾 kq截尾 拖尾
kk kp截尾 拖尾 拖尾
模型识别 通常平稳时间序列tZ,0,1tL仅进行有限n次测量(50)n,得到一个样本函数,且利用平稳序列各态历经性:11njjZZn做变换,ttZ,1,tnL,将1,,nZZL样本换算成为样本1,,nL,然后再确定平稳时间序列{,0,1}ttL的随机线性模型。
3.3.1 样本自相关函数
平稳序列21012,,,,,LL, ()0tE,对于样本,定义自协方差函数:
112211ˆnkkknknkjkjjnnL,0ˆˆˆ/kk。同时为了保证ˆkk,ˆkk一般取50,/4nkn。常取/10kn。
3.3.2 确定模型类别和阶数
在实际应用中,我们常用有一个样本算出的ˆkk,ˆkkkk判别k,kk是拖尾还是截尾的。随机线性模型的三种形式的判别分别如下:
1、若k拖尾,kk截尾在kp处,则线性模型为()ARp模型。k拖尾可以用的点图判断,只要样本自相关函数的绝对值愈变愈小;当kp时,平均20个样本偏相关函数中至多有一个使ˆ2/kkn,则认为kk截尾在kp处。
2、若kk截尾,k在kp处截尾,那么线性模型为()MAq滑动平均模型。kk拖尾可以根据样本偏相关函数的点图判断,只要ˆkk愈变愈小。当kq时,若平均20个样本自相关函数中至多有一个使ˆ2/kn。
3、若样本自相关函数和样本偏相关函数都是拖尾的,则线性模型可以看成混和模型。
模型参数估计
1、()ARp模型参数估计:
()ARp模型有2p个参数:212,,,,,ppL。利用Yule-Walker方程,利用Toeplitz矩阵求逆和作矩阵乘法的方法算样本偏相关函数kk。()ARp模型的参数值不必作专门的计算,只要在样本偏相关函数计算的记录中取出样本参数值即可。此时12,,,pL,都已经确定了,经过推理我们可以得到:201pjjj。
2、()MAq滑动平均模型参数估计:
22221221+1ˆˆˆˆ(1),0ˆˆˆˆˆˆˆ(),1qkkkqkqkkqLL
可得1q个方程,求212ˆˆˆˆ,,qL,即解这个非线性方程组。
3、(,)ARMApq混和模型参数估计
对于满足一个条件:1111......ttptpttptqaaa采用先计算 12ˆˆˆ,,,pL,在计算212ˆˆˆˆ,,qL的方法,具体如下:1)可利用Toeplitz矩阵和作矩阵乘法的方法求出12ˆˆˆ,,,pL。2)令'11...tttptp混和模型化为:'11...tttptqaaa这是关于't的()MAq模型,用't的样本协方差函数估计212ˆˆˆˆ,,qL的值。
4. 步骤
采用MATLAB处理数据。
1、对一个时间序列做n次测量得到一个样本函数12,,nZZZL。实验采用表1中的降水量数据,50n。
图1 山西省河曲水文站55年降水量时间序列
2、数据预先处理:做变换ttZZ,其中501150jjZZ
图2 将时间序列变为期望为0的平稳时间序列
3、计算样本自协方差函数k,样本自方差函数k。 0ˆˆˆ/kk,其中0,1,2,3,4,5k,112211ˆnkkknknkjkjjnnL。由图-3数据可得:随着k的增大,k越来越小,具有拖尾性。
图3 计算样本自相关函数
接下来计算偏相关函数kk(1k)。利用Yule-Walker方程,利用Toeplitz矩阵求逆和作矩阵乘法的方法算样本偏相关函数kk。2/500.283,由图-4得到的数据可得,2kp时,只有一个偏相关函数大于。所以确定阶数为:2p。
图4计算偏相关函数
5、由上综述:确定模型为(2)AR模型。下面进行(2)AR模型参数的估计。
111ˆˆ0.1695,222ˆˆ0.0190,由图-3的,0ˆ1.6320e+004,由公式201pjjj得:2ˆ1.5855e+004
图5 噪声方差的计算
由上可知模型为:120.16950.0190tttt,又知11402.82njjZZn,12402.820.1695(402.82)0.0190(402.82)ttttZZZ,2ˆ1.5855e+004。
最后确定(2)AR模型为:
120.16950.0190478.75ttttZZZ,2ˆ1.5855e+004
6、通过确定的模型估计2002年的降水量
一步估计公式:1ˆˆˆ(1)(1)0.16950.0190478.75kkkZZkZZ。其中,2001年的降水量为234.4mm,2001年的降水量为289.6mm。
20020.1695*234.40.0190*389.6478.75431.62Zmm
一步预报误差为2ˆ279.66mm,而2002年实际降水量为487.3mm。为了提高预报准确度,可以提供更多样本点,进行预报估计。
5.部分程序代码及注释
rainfall=[ ……];
b=length(rainfall);
z=sum(rainfall)/b; ………………………………计算均值
w=rainfall-z; ………………………………由tZ构造t序列
sumw=zeros(1,6);
sumw1=0;
for j=1:50
sumw1=sumw1+w(j)^2; ..……………………………..计算0
end
for k=0:5
for i=1:(b-k)
sumw(k+1)=sumw(k+1)+w(i)*w(i+k); …………….......计算k
end
end
r=sumw/b;
r0=sumw1/b;
p=r/r0; ……………………….计算自相关函数k
kk11=p(2); ………………………计算11
a2=[1,p(2);p(2),1]
a22=inv(a2);
kk2=a22*p(1,2:3)'; ………………………计算22
kk22=kk2(2,1);