非平稳序列的分析方法:

{确定性时序分析随机性时序分析{确定性时序分析随机性时序分析

\begin{cases} 确定性时序分析\\ 随机性时序分析\\ \end{cases}

由确定性因素导致的非平稳通常显示出明显的规律性
可以分解为4大类因素:
1、长期趋势
2、循环波动(or交易日因素)
3、季节性因素
4、随机波动
因素之间的相互作用模式
加法模型:xt=Tt+Ct+St+Ttxt=Tt+Ct+St+Ttx_t=T_t+C_t+S_t+T_t
乘法模型:xt=Tt×Ct×St×Ttxt=Tt×Ct×St×Ttx_t=T_t×C_t×S_t×T_t

分析目的:

  1. 单纯测度某一个因素对序列的影响
  2. 测度各个因素之间的相互作用以及他们对序列的综合影响

一、 趋势分析

1、趋势拟合法

找到序列中的趋势,利用这种趋势对未来做预测

①线性拟合

线性模型:

{xt=a+bt+ItE(It)=0,Var(It)=σ2{xt=a+bt+ItE(It)=0,Var(It)=σ2

\begin{cases} x_t=a+bt+I_t\\ E(I_t)=0,Var(I_t)=σ^2\\ \end{cases}
ItItI_t为随机波动
利用 lm( ) 函数拟合线性趋势

#读入数据
x<-c(8444,9215,8879,8990,8115,9457,8590,9294,8997,9574,9051,9724,9120,+ 10143,9746,10074,9578,10817,10116,10779,9901,11266,10686,10961,10121,+ 11333,10677,11325,10698,11624,11502,11393,10609,12077,11376,11777,+ 11225,12231,11884,12109)
#构造时间变量
t<-c(1:40)
x.fit<-lm(x~t)
summary(x.fit)

x<-ts(x)
plot(x,lwd=2.5)
abline(lm(x~t),col="red",lwd=3)

②曲线拟合

对曲线模型估计时,应通过变换将其转换为线性模型,再用最小二乘估计,用 lm( ) 函数拟合;
不能转换的就用迭代法估计,用 nls()函数

例如,下面的例子,对1949-2008年的化肥产量进行曲线拟合:xt=a0+a1t+a2t2xt=a0+a1t+a2t2x_t=a_0+a_1t+a_2t^2

a=read.table("D:\\Backup\\桌面\\R\\时间序列分析--基于R\\data\\file12.csv",sep = ",",header = T)
x<-ts(a$output,start = 1949)
plot(x)


    时序图显示有明显的曲线递增趋势。

#lm()拟合
t1<-c(1:60)
t2<-t1^2
x.fit1<-lm(x~t1+t2)
summary(x.fit1)

#nls拟合
x.fit2<-nls(x~a+b*t1+c*t1^2,start = list(a=1,b=1,c=1))  #start指定迭代初始值
summary(x.fit2)


可见,两个函数的拟合结果一样:
xt=319.0225−57.7690t+2.3551t2+εt,εt∼N(0,2632)xt=319.0225−57.7690t+2.3551t2+εt,εt∼N(0,2632)x_t=319.0225-57.7690t+2.3551t^2+ε_t,ε_t\thicksim N(0,263^2)

绘制非线性拟合图:

y<-predict(x.fit2) #将nls得到的拟合值赋给y
y<-ts(y,start = 1949)
plot(x,type="p")
lines(y,col=2,lwd=2.5)

2、平滑法

①移动平均法

用一定时间间隔内的加权平均值作为下一期的预测值,权重为 1n1n\frac{1}{n},说明无论时间远近,过去的 n 期对下一期的影响是一样的。
如:在一个有30个序列值得时间序列当中,假如用4期的的加权平均值预测第31期,那么x^30(1)=x30+x29+x28+x27+x265x^30(1)=x30+x29+x28+x27+x265\hat{x}_{30}(1)=\frac{x_{30}+x_{29}+x_{28}+x_{27}+x_{26}}{5}

利用TTR包中的SMA函数进行拟合简单移动平均趋势趋势

如:对北京1949-2008年的每年最高气温序列做5期移动平均拟合


library(TTR)
a=read.table("D:\\Backup\\桌面\\R\\时间序列分析--基于R\\data\\file6.csv",sep = ",",header = T)
x<-ts(a$temp,start = 1949)
x.ma<-SMA(x,5)
plot(x,type="o",lwd=1.5)
lines(x.ma,col=2,lwd=2.5)
legend(locator(1),cex=0.75,x.intersp=0.3,xjust = 0,yjust = 1, text.width=17,inset=5,c("观察值序列","5期移动平均拟合值序列"),lty = c(1,1),col = c("black","red")) 

②指数平滑法

在实际当中,大多数是近期对现在的影响较大,远期对现在的影响较小,所以在指数平滑法中各期权重随时间间隔的增大而减小

  • 简单指数平滑:

x^t(1)=x~t=αxt+(1−α)x~t−1x^t(1)=x~t=αxt+(1−α)x~t−1\hat{x}_t(1)=\tilde{x}_t=\alpha x_t+(1-\alpha)\tilde{x}_{t-1},指定x~0=x1x~0=x1\tilde{x}_0=x_1,变化缓慢的序列,取较小的 α 值,反之取较大的 α 值。
只能做1期预测

  • Holt两参数指数平滑

    适用于含有线性趋势的序列
    思想:假定序列有较固定的趋势–每期都递增or递减 r ,那么第 t 期的 估计值就等于前一期的值加上固定的趋势变动值 r。但 r 不是固定的,是一个随机序列rtrt{r_t} 。

  • Holt三参数指数平滑

    适合序列既含有趋势又含有季节

利用 HoltWinters( ) 函数做平滑趋势拟合

例如:对每头奶牛月产量序列做3参数指数平滑,并预测未来两年产量

b<-read.table("D:\\Backup\\桌面\\R\\时间序列分析--基于R\\data\\file5.csv",sep = ",",header = T)
x<-ts(b$milk,start = c(1962,1),frequency = 12)
x.fit<-HoltWinters(x)
plot(x.fit)
legend(locator(1),cex=0.75,x.intersp=0.3,xjust = 0,yjust = 1, text.width=5,inset=5,c("观察值序列","Holt三参数指数平滑序列"),lty = c(1,1),col = c("black","red")) 

#预测序列并绘制预测效果图
x.fore<-forecast(x.fit,h=24)
plot(x.fore,main = "HoltWinters三参数指数平滑序列预测图")


二、 季节效应分析

有周期性变化的事件—-季节效应

例如:第 i 年第 j 个月的气温:

xij=总平均气温×第j各月的季节指数+随机波动=x¯⋅Sj+Iijxij=总平均气温×第j各月的季节指数+随机波动=x¯⋅Sj+Iij

x_{ij}=总平均气温×第j各月的季节指数+随机波动=\bar{x}\cdot S_j+I_{ij}
季节指数: Sj=各月平均气温总平均气温Sj=各月平均气温总平均气温S_j=\frac{各月平均气温}{总平均气温},>1说明该月的值高于平均值,=1没有明显的季节效应


三、综合分析

分析既有趋势变动又有季节效应的序列

模型:
加法模型:xt=Tt+St+Ttxt=Tt+St+Ttx_t=T_t+S_t+T_t
乘法模型:xt=Tt×St×Ttxt=Tt×St×Ttx_t=T_t×S_t×T_t

利用函数decompose(x,type= )进行确定性因素分解。
type=”additive”,加法模型,默认
type=”mult”,乘法模型

例:对1993-2000年中国消费品零售总额序列进行确定性因素分解

c<-read.table("D:\\Backup\\桌面\\R\\时间序列分析--基于R\\data\\file14.csv",sep = ",",header = T)
x<-ts(c$sales,start = c(1993,1),frequency = 12)
plot(x)

x.fit<-decompose(x,type = "mult")
plot(x.fit)

输出季节指数图

plot(x.fit$figure,type="o")


可见,在冬天零售总额偏高


非平稳序列的确定性分析相关推荐

  1. 【机器学习笔记39】时序分析(非平稳序列建模)

    [参考资料] [1]应用时序分析 [2]https://blog.csdn.net/u010414589/article/details/49622625 [3]http://www.statsmod ...

  2. ARIMA模型——非平稳序列的随机性分析

    一.拟合ARIMA模型 ARIMA是先运用差分运算得到平稳序列,再对平稳序列建立ARMA模型.差分运算可用diff函数完成,命令格式为: diff(x,lag=,differences=) 其中:x: ...

  3. 无季节效应的非平稳序列分析(一)

    目录 Cramer分解定理(1961年提出) 差分 R语言函数 diff 例题: 过差分: 小结 Cramer分解定理(1961年提出) 任何一个时间序列 都可以分解为两部分的叠加:其中一部分是由多项 ...

  4. 手把手教你用Python处理非平稳时间序列(附代码)

    作者:AISHWARYA SINGH 翻译:陈之炎 校对:丁楠雅 本文约3600字,建议阅读10分钟. 本文将重点介绍时间序列数据的平稳性检验方法. 简介 预测一个家庭未来三个月的用电量,估计特定时期 ...

  5. 时间序列研(part5)--四种典型的非平稳随机过程

    学习笔记,仅供参考,有错必纠 文章目录 时间序列 四种典型的非平稳随机过程 随机游走过程 随机趋势非平稳过程或差分平稳过程.有漂移项的非平稳过程 趋势平稳过程或退势平稳过程 确定性趋势非平稳过程 看图 ...

  6. python时间序列预测不连续怎么办_手把手教你用Python处理非平稳时间序列(附代码)...

    本文约3600字,建议阅读10分钟. 本文将重点介绍时间序列数据的平稳性检验方法. 简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问 ...

  7. 手把手教你用Python处理非平稳时间序列

    简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问题都有什么共同点? 它们都属于时间序列数据的范畴!如果没有"时间" ...

  8. python处理时间序列非平稳_手把手教你用Python处理非平稳时间序列

    简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问题都有什么共同点? 它们都属于时间序列数据的范畴!如果没有"时间" ...

  9. 应用时间序列分析——有季节效应的非平稳序列分析-R语言

    因素分解理论: 1919年统计学家沃伦·珀森斯(Warren Persons)在他的论文<商业环境的指标>中首次提出了确定性因素分解(time series decomposition)思 ...

  10. 当一个序列满足对于任意的前 项和都满足不小于_时间序列分析第01讲--平稳序列(基本概念,线性平稳序列)...

    第一章 平稳序列 1.1平稳序列基本概念 无论是从原序列中把趋势项去掉得到的随机波动项,还是用随机差分后得到残差序列,都会存在一种现象:随机项会沿着水平值波动,并且前后之间具有相关性,与独立序列不同. ...

最新文章

  1. 基于Spring可扩展Schema提供自定义配置支持
  2. leetcode算法题--目标和
  3. 华为ipd产品开发流程_华为集成产品开发(IPD)流程的解读
  4. 老BOJ 16 棋盘分割
  5. 零基础学java web开发pdf_新手学Java Web开发.pdf
  6. Winform 的一个多线程绑定DataGrid数据源的例子
  7. github在线执行_什么是Github操作,如何自动执行测试和Slack通知?
  8. 'display','position'和'float'相互关系
  9. 【Linux】Linux修改openfiles后不生效问题?
  10. [Oracle 9i] Case Expression and Case Statement in 9i
  11. 通过 IDEA 黑掉你
  12. DXGI高帧率屏幕录像软件源码解析(声音捕获,抓屏,ffmpeg录像,MP4录像,flv录像,麦克风采集)(第1篇API展示及使用部分)
  13. Windows自带的几种截图快捷键使用方法记录
  14. 2019--Target Speaker Extraction for Multi-Talker Speaker Verification
  15. 7z文件格式及其源码的分析(四)
  16. 史玉柱自述:我是怎么带队伍的
  17. 发布苹果App有哪些步骤流程
  18. UIImageView裁剪成圆形的方法
  19. BZOJ 2708 木偶
  20. 中南大学杰出校友_杰出客户服务的10个要点。

热门文章

  1. M2Det的学习过程
  2. 关于Eclipse优化记录
  3. log4j配置文件配置及解读
  4. Linux驱动之串口驱动配置
  5. 算法导论 答案勘误(ing)
  6. 【资料】avr单片机和stm32区别,avr单片机选型技巧
  7. 粒子群算法及C语言实现
  8. 单片机原理及应用(c语言编程),单片机原理及应用——C语言程序设计与实现
  9. 中国无线充电行业发展规模与投资可行性咨询报告2022-2027年版
  10. Windows常见进程大全