2024美赛数学建模常用数学建模时间序列模型之——移动平均法

   一、时间序列简介

       时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间列的方法构成数据分析的一个重要领域,即时间序列分析。 时间序列根据所研究的依据不同,可有不同的分类。
1 .按所研究的对象的多少分,有一元时间序列和多元时间序列。
2 .按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。
3 .按序列的统计特性分,有平稳时间序列和非平稳时间序列。如果一个时间序列
的概率分布与时间 t 无关,则称该序列为严格的(狭义的)平稳时间序列。如果序列的
一、二阶矩存在,而且对任意时刻 t 满足:
1 )均值为常数
2 )协方差为时间间隔 τ 的函数。
     则称该序列为宽平稳时间序列,也叫广义平稳时间序列。我们以后所研究的时间序列主
要是宽平稳时间序列。
4 .按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列

二、确定性时间序列分析方法概述

确定性时间序列分析方法概述
时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势
的。一个时间序列往往是以下几类变化形式的叠加或耦合。
1 )长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降,或停留在
某一水平上的倾向,它反映了客观事物的主要变化趋势。
2 )季节变动。
3 )循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相
似的波动。
4 )不规则变动。通常它分为突然变动和随机变动
      通常用 T t 表示长期趋势项, S t 表示季节变动趋势项, C t 表示循环变动趋势项, R t
表示随机干扰项。常见的确定性时间序列模型有以下几种类型:
2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第1张图片

       如果在预测时间范围以内, 无突然变动且随机变动的方差σ 2 较小, 并且有理由认 为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测。

三、移动平均法

移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数, 以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响, 起伏 较大, 不易显示出发展趋势时, 可用移动平均法, 消除这些因素的影响, 分析、预测序列的长期趋势。

移动平均法有简单移动平均法,加权移动平均法,趋势移动平均法等。

3.1    简单移动平均法

2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第2张图片

最近 N 期序列值的平均值作为未来各期的预测结果。一般 N 取值范围: 5 ≤ N ≤ 200 。当历史序列的基本趋势变化不大且序列中随机变动成分较多时, N 的 取值应较大一些。否则 N 的取值应小一些。在有确定的季节变动周期的资料中,移动平均的项数应取周期长度。选择最佳 N 值的一个有效方法是,比较若干模型的预测误差。预测标准误差最小者为好。

例 1 某企业 1 月~11 月份的销售收入时间序列如表 1 示。试用一次简单滑动平 均法预测第 12 月份的销售收入。

2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第3张图片

2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第4张图片

2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第5张图片

计算的 Matlab 程序如下:

y=[533.8    574.6    606.9     649.8        705.1     772.0     816.4     892.7   963.9    1015.1 1102.7];更多资料请联系q:529384519
m=length(y); 
n=[4,5];      %n 为移动平均的项数;更多资料请联系q:529384519
for i=1:length(n)
%由于 n 的取值不同, yhat 的长度不一致,下面使用了细胞数组 
for j=1:m-n(i)+1
yhat{i}(j)=sum(y(j:j+n(i)-1))/n(i);
end
%更多资料请联系q:529384519
y12(i)=yhat{i}(end);
s(i)=sqrt(mean((y(n(i)+1:m)-yhat{i}(1:end-1)).^2));
end
y12,s
q:529384519

简单移动平均法只适合做近期预测, 而且是预测目标的发展趋势变化不大的情况。 如果目标的发展趋势存在其它的变化, 采用简单移动平均法就会产生较大的预测偏差和 滞后。

3.2    加权移动平均法

在简单移动平均公式中,每期数据在求平均时的作用是等同的。但是,每期数据 所包含的信息量不一样, 近期数据包含着更多关于未来情况的信心。因此,把各期数据 等同看待是不尽合理的, 应考虑各期数据的重要性, 对近期数据给予较大的权重, 这就 是加权移动平均法的基本思想。

设时间序列为y1 , y2 ,  , yt , ;加权移动平均公式为

利用加权移动平均数来做预测,其预测公式为

计算的 Matlab 程序如下:

y=[6.35 6.20   6.22   6.66   7.15   7.89   8.72   8.94   9.28
9.8];
w=[1/6;2/6;3/6];
m=length(y);n=3;
for i=1:m-n+1
yhat(i)=y(i:i+n-1)*w;
end
yhat
err=abs(y(n+1:m)-yhat(1:end-1))./y(n+1:m)
T_err=1-sum(yhat(1:end-1))/sum(y(n+1:m))
y1989=yhat(end)/(1-T_err)
Q:529384519

在加权移动平均法中, wt  的选择,同样具有一定的经验性。 一般的原则是: 近期 数据的权数大, 远期数据的权数小。至于大到什么程度和小到什么程度, 则需要按照预 测者对序列的了解和分析来确定。

3.3趋势移动平均法

简单移动平均法和加权移动平均法, 在时间序列没有明显的趋势变动时, 能够准确 反映实际情况。但当时间序列出现直线增加或减少的变动趋势时, 用简单移动平均法和 加权移动平均法来预测就会出现滞后偏差。因此, 需要进行修正, 修正的方法是作二次 移动平均, 利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动平均法。

一次移动的平均数为:

2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第6张图片

 3    我国 19651985 年的发电总量如表 3 示,试预测 1986 年和 1987 年的发电总量。

年份

t

发电总量yt

一次移动平均, N6

二次移动平均, N6

1965

1

676

1966

2

825

1967

3

774

1968

4

716

1969

5

940

1970

6

1159

848.3

1971

7

1384

966.3

1972

8

1524

1082.8

1973

9

1668

1231.8

1974

10

1688

1393.8

1975

11

1958

1563.5

1181.1

1976

12

2031

1708.8

1324.5

1977

13

2234

1850.5

1471.9

1978

14

2566

2024.2

1628.8

1979

15

2820

2216.2

1792.8

1980

16

3006

2435.8

1966.5

1981

17

3093

2625

2143.4

1982

18

3277

2832.7

2330.7

1983

19

3514

3046

2530

1984

20

3770

3246.7

2733.7

1985

21

4107

3461.2

2941.2

由散点图 1  可以看出,发电总量基本呈直线上升趋势,可用趋势移动平均法 来预测。

2024美赛数学建模常用数学建模时间序列模型之——移动平均法_第7张图片

计算的 MATLAB 程序如下:

clc,clear
Q:529384519
load y.txt      %把原始数据保存在纯文本文件 y.txt 中
m1=length(y);
n=6;      %n 为移动平均的项数
for i=1:m1-n+1
yhat1(i)=sum(y(i:i+n-1))/n;
end
yhat1
m2=length(yhat1);
for i=1:m2-n+1
yhat2(i)=sum(yhat1(i:i+n-1))/n;
end
yhat2
plot(1:21,y,'*')
a21=2*yhat1(end)-yhat2(end)
b21=2*(yhat1(end)-yhat2(end))/(n-1)
y1986=a21+b21
y1987=a21+2*b21

       趋势移动平均法对于同时存在直线趋势与周期波动的序列, 是一种既能反映趋势变 化,又可以有效地分离出来周期变动的方法。

你可能感兴趣的:(数学建模,数学建模)