文章目录

  • 前言
  • 一、确定性时间序列分析
  • 二、移动平均法
    • 2.1 简单移动平均法
    • 2.2 加权移动平均法
    • 2.3 趋势移动平均法
  • 总结

前言

时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。
1.按所研究的对象的多少分,有一元时间序列和多元时间序列。
2.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。
3.按序列的统计特性分,有平稳时间序列和非平稳时间序列
4.按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列。


一、确定性时间序列分析

(1)长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降,或停留在某一水平上的倾向,它反映了客观事物的主要变化趋势。
(2)季节变动。
(3)循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相似的波动。
(4)不规则变动。通常它分为突然变动和随机变动。通常用TtT_tTt​表示长期趋势项,StS_tSt​表示季节变动趋势项,CtC_tCt​表示循环变动趋势项,RtR_tRt​表示随机干扰项。常见的确定性时间序列模型有以下几种类型:
(1)加法模型
yt=Tt+St+Ct+Rty_t=T_t+S_t+C_t+R_t yt​=Tt​+St​+Ct​+Rt​

(2)乘法模型
yt=Tt∗St∗Ct∗Rty_t=T_t*S_t*C_t*R_t yt​=Tt​∗St​∗Ct​∗Rt​

(3)混合模型
yt=Tt∗St+Rty_t=T_t*S_t+R_t yt​=Tt​∗St​+Rt​

yt=St+Tt∗Ct∗Rty_t=S_t+T_t*C_t*R_t yt​=St​+Tt​∗Ct​∗Rt​

其中yty_tyt​是观测目标的观测记录,E ( RtR_tRt​) = 0 ,E ( Rt2R^2_tRt2​) = σ2σ^2σ2。
    如果在预测时间范围以内,无突然变动且随机变动的方差σ2σ^2σ2较小,并且有理由认为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测。

二、移动平均法

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

2.1 简单移动平均法

设观测序列为 y1y_1y1​ ,… , yTy_TyT​,取移动平均的项数N < T 。一次简单移动平均值计算公
式为:
Mt(1)=1N(yt+yt−1+...+yt−N+1)=Mt−1(1)+1N(yt−yt−N)M_{t}^{\left( 1 \right)}=\frac{1}{N}\left( y_t+y_{t-1}+...+y_{t-N+1} \right) =M_{t-1}^{\left( 1 \right)}+\frac{1}{N}\left( y_t-y_{t-N} \right) Mt(1)​=N1​(yt​+yt−1​+...+yt−N+1​)=Mt−1(1)​+N1​(yt​−yt−N​)
    当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建立预测模型:
y^t+1=Mt(1)=1N(y^t+...+y^t−N+1),t=N,N+1,...\hat{y}_{t+1}=M_{t}^{\left( 1 \right)}=\frac{1}{N}\left( \hat{y}_t+...+\hat{y}_{t-N+1} \right) ,t=N,N+1,... y^​t+1​=Mt(1)​=N1​(y^​t​+...+y^​t−N+1​),t=N,N+1,...
其预测标准误差为:
S=∑t=N+1T(y^t−yt)2T−NS=\sqrt{\frac{\sum_{t=N+1}^T{\left( \hat{y}_t-y_t \right) ^2}}{T-N}} S=T−N∑t=N+1T​(y^​t​−yt​)2​​

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

MATLAB代码如下(示例):

clc,clear
y=[533.8 574.6 606.9 649.8 705.1 772.0 816.4 892.7 963.9 1015.1
1102.7];
m=length(y);
n=[4,5]; %n 为移动平均的项数
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
y12(i)=yhat{i}(end);
s(i)=sqrt(mean((y(n(i)+1:m)-yhat{i}(1:end-1)).^2));
end
y12,s

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

2.2 加权移动平均法

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

设时间序列为 y1y_1y1​ ,… , yty_tyt​;加权移动平均公式为
Mtw=w1yt+w2y2+...+wNyt−N+1w1+w2+...+wN,t≥NM_{tw}=\frac{w_1y_t+w_2y_2+...+w_Ny_{t-N+1}}{w_1+w_2+...+w_N},t\ge N Mtw​=w1​+w2​+...+wN​w1​yt​+w2​y2​+...+wN​yt−N+1​​,t≥N
式中 MtwM_{tw}Mtw​ 为t 期加权移动平均数;wiw_{i}wi​ 为yt−i+1y_{t-i+1}yt−i+1​ 的权数,它体现了相应的yty_{t}yt​ 在加权平均数中的重要性。
利用加权移动平均数来做预测,其预测公式为
y^t+1=Mtw\hat{y}_{t+1}=M_{tw} y^​t+1​=Mtw​
即以第t期加权移动平均数作为第t +1期的预测值。

代码如下(示例):

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)

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

2.3 趋势移动平均法

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

一次移动的平均数为:
Mt(1)=1N(y^t+...+y^t−N+1)M_{t}^{\left( 1 \right)}=\frac{1}{N}\left( \hat{y}_t+...+\hat{y}_{t-N+1} \right) Mt(1)​=N1​(y^​t​+...+y^​t−N+1​)
在一次移动平均的基础上再进行一次移动平均就是二次移动平均,其计算公式为:
Mt(2)=1N(Mt(1)+...+Mt−N+1(1))=Mt−1(2)+1N(Mt(1)−Mt−N(1))M_{t}^{\left( 2 \right)}=\frac{1}{N}\left( M_t^{\left( 1 \right)}+...+M_{t-N+1}^{\left( 1 \right)} \right)=M_{_{t-1}}^{^{\left( 2 \right)}}+\frac{1}{N}\left( M_{t}^{\left( 1 \right)}-M_{t-N}^{\left( 1 \right)} \right) Mt(2)​=N1​(Mt(1)​+...+Mt−N+1(1)​)=Mt−1​(2)​+N1​(Mt(1)​−Mt−N(1)​)
下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型。
设时间序列yty_{t}yt​ 从某时期开始具有直线趋势,且认为未来时期也按此直线趋势变
化,则可设此直线趋势预测模型为
y^t+T=at+btT,T=1,2...\hat{y}_{t+T}=a_t+b_tT,T=1,2... y^​t+T​=at​+bt​T,T=1,2...
其中 t 为当前时期数;T 为由t 至预测期的时期数; ata_tat​为截距; btb_tbt​ 为斜率。两者又称为平滑系数。
现在,我们根据移动平均值来确定平滑系数
at=yta_t=y_tat​=yt​
yt−1=yt−bty_{t-1}=y_t-b_tyt−1​=yt​−bt​
yt−2=yt−2bty_{t-2}=y_t-2b_tyt−2​=yt​−2bt​
.........
yt−N+1=yt−(N−1)bty_{t-N+1}=y_t-\left( N-1 \right) b_tyt−N+1​=yt​−(N−1)bt​

所以:
Mt(1)=yt+yt−1+...+yt−N+1N=yt−N−12btM_{t}^{\left( 1 \right)}=\frac{y_t+y_{t-1}+...+y_{t-N+1}}{N}=y_t-\frac{N-1}{2}b_t Mt(1)​=Nyt​+yt−1​+...+yt−N+1​​=yt​−2N−1​bt​

因此:
yt−Mt(1)=N−12bty_t-M_{t}^{\left( 1 \right)}=\frac{N-1}{2}b_t yt​−Mt(1)​=2N−1​bt​
同理:
yt−1−Mt−1(1)=N−12bty_{t-1}-M_{t-1}^{\left( 1 \right)}=\frac{N-1}{2}b_t yt−1​−Mt−1(1)​=2N−1​bt​
所以:
yt−yt−1=Mt(1)−Mt−1(1)=bty_t-y_{t-1}=M_{t}^{\left( 1 \right)}-M_{t-1}^{\left( 1 \right)}=b_tyt​−yt−1​=Mt(1)​−Mt−1(1)​=bt​

Mt(1)−Mt(2)=N−12btM_{t}^{\left( 1 \right)}-M_{t}^{\left( 2 \right)}=\frac{N-1}{2}b_tMt(1)​−Mt(2)​=2N−1​bt​

于是可得平滑系数的计算公式为:
at=2Mt(1)−Mt(2)a_t=2M_{t}^{\left( 1 \right)}-M_{t}^{\left( 2 \right)}at​=2Mt(1)​−Mt(2)​
bt=2N−1(Mt(1)−Mt(2))b_t=\frac{2}{N-1}\left( M_{t}^{\left( 1 \right)}-M_{t}^{\left( 2 \right)} \right) bt​=N−12​(Mt(1)​−Mt(2)​)

代码如下(示例):

clc,clear
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

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

总结

提示:这里对文章进行总结:
1.简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和滞后

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

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

时间序列模型(1)--移动平均法相关推荐

  1. 时间序列模型 (二):移动平均法

    时间序列的其它博文系列: 时间序列模型 (一):模型概述 时间序列模型 (二):移动平均法 时间序列模型 (三):指数平滑法 时间序列模型 (四):差分指数平滑法. 自适应滤波法v 时间序列模型 (五 ...

  2. 数学建模 时间序列模型

    时间序列模型 时间序列是按时间顺序排列的.随时间变化且相互关联的数据序列.分析时间序 列的方法构成数据分析的一个重要领域,即时间序列分析. 时间序列根据所研究的依据不同,可有不同的分类. 1.按所研究 ...

  3. 时间序列模型相关说明和模型介绍

    一.什么是时间序列? 时间序列是在规律性时间间隔记录的观测值序列.依赖于观测值的频率,典型的时间序列可分为每小时.每天.每周.每月.每季度和每年为单位记录. import pandas as pd d ...

  4. 时间序列模型——AR、MA、ARMA、ARIMA

    这里写目录标题 时间序列模型 自回归模型 差分与非平稳序列 差分 检验不平稳 移动平均模型 移动平均法 MA模型 ARMA模型 ARIMA 建模方法 时间序列模型 常用的时间序列模型有四种:自回归模型 ...

  5. matlab的meadian函数_24 第二十四章 时间序列模型_W

    <24 第二十四章 时间序列模型_W>由会员分享,可在线阅读,更多相关<24 第二十四章 时间序列模型_W(31页珍藏版)>请在人人文库网上搜索. 1.第二十四章时间序列模型 ...

  6. 时间序列规则和时间序列模型

    1. 时间序列规则 1.1 什么是时间序列规则 对于赛题/业务的规则之前已经描述了它的重要性和应用,在此不再赘述.这章主要了解时间序列及其规则,和周期的应用. 1.1.1 时间序列 时间序列(或称动态 ...

  7. 时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测

    注:转载出处: http://blog.csdn.net/ztf312/ 在此感谢原博主的整理分享! 题目:下列时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测? AR模型 MA模型 ARM ...

  8. 机器学习:时间序列模型

    题目:下列时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测? AR模型 MA模型 ARMA模型 GARCH模型(正确) ----------------------------------- ...

  9. 时间序列模型 (五): 趋势外推预测方法

    时间序列的其它博文系列: 时间序列模型 (一):模型概述 时间序列模型 (二):移动平均法 时间序列模型 (三):指数平滑法 时间序列模型 (四):差分指数平滑法. 自适应滤波法v 时间序列模型 (五 ...

最新文章

  1. 诗歌rails之 method_missing
  2. 每日一皮:你偷偷藏私房钱时被老婆发现的样子...
  3. python上机实验报告读取文件_Python程序设计实验报告八 : 文件
  4. Java基础:继承、多态、抽象、接口
  5. 减小TabLayout高度而不影响每个tab展示的几种方法
  6. nsa构架_我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战
  7. Pytest装饰器@pytest.mark.parametrize一键生成接口正交试验用例
  8. 基于asp.net的音乐分享网站的设计与实现(含源文件)
  9. E: Some index files failed to download. They have been ignored, or old ones used instead.解决方案
  10. 军用计算机品牌,军用电脑笔记本有何特点 军用电脑笔记本品牌推荐
  11. SpringCloud工作笔记049---nginx的安装及配置为简单的文件服务器
  12. 花了一个月精心准备30张可视化大屏模板,可直接套用,拿走不谢
  13. LeetCode题解——Reverse Integer
  14. 新西兰计算机科学硕士哪所大学最好,2020年新西兰哪些大学计算机科学专业比较好及其优势介绍...
  15. 互联网日报 | 2月3日 星期三 | 微信5000万份红包封面免费领;抖音回应“封杀腾讯”谣言;爱驰汽车入局网约车...
  16. 第19章 人口预测
  17. JQ实现星星评价(带半星)
  18. php mail 垃圾邮件,如何避免我的邮件从PHP邮件()被标记为垃圾邮件? - 程序园
  19. Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have
  20. Mysql -- 管理工具

热门文章

  1. [Error Code: 904, SQL State: 42000] ORA-00904 : 标识符无效
  2. 火车头采集器文章翻译插件(文章标题内容中英双语对照|自动插入相关图片)
  3. 隐马尔科夫(HMM)模型
  4. 哈工大C语言程序设计精髓第三周
  5. 小说项目怎么玩才能赚钱?
  6. 基于JSP的运动会综合管理系统
  7. 软件测试 - 测试基础知识
  8. AI比赛-推荐系统(一)-新闻推荐03:多路召回【用不同策略分别召回部分候选集,然后把候选集混在一起供后续排序模型使用】【①、YoutubeDNN双塔召回;②、基于物品召回;③、基于用户召回】【天池】
  9. 【协议森林】IPv6过渡技术之MAP-T/E技术
  10. 好用的vue瀑布流插件-vue-masonry