ARIMA乘法季节模型

目录

ARIMA乘法季节模型

例题1 

例题 2

例题3


ARIMA乘法季节模型

        序列的季节效应、长期趋势效应和随机波动之间有着复杂的相互关联性,简单的季节模型不能充分地提取其中的相关关系,这时常采用乘积季节模型。

例题1 

我国1949-2008年年末人口总数(单位:万人)。选择适当的指数平滑法拟合该序列的长期趋势,并作5期预测。

代码:

加载数据:

a<-read.table('D:/桌面/大三下作业/时间序列/实验报告6/习题4-5.csv',sep=',',header=T) #读取数据
x<-ts(a$population,start=1949)
plot(x,main='时序图') #绘制时序图

返回:

由时序图可知,该序列为显著的线性递增序列,可以使用holt两参数指数平滑法进行趋势拟合和预测,或使用ARIMA ( 1,1,0)模型进行拟合和预测。

拟合模型:

fit1<-HoltWinters(x,gamma=F) #进行2参数指数平滑法进行拟合
fit1 #输出拟合结果

返回:

plot(fit1,main='拟合结果时序图') #对拟合结果绘制时序图

返回:

由于没有指定平滑系数的值,所以R基于最优拟合原则计算出平滑系数:

通过Holt两参数指数平滑法,不断迭代,得到最后一期的参数估计值为:

则未来任意k期的预测值为:

 进行5期预测:

fore1<-forecast(fit1,h=5)
fore1

返回:

plot(fore1) #对预测结果绘制时序图
lines(fore1$fitted,col='red') #拟合值

返回:

例题 2

某地区1962-1970年平均每头奶牛的月度产奶量数据(单位:磅)。

(1)绘制该序列的时序图,直观考查该序列的特点(有无趋势和季节)。

(2)选择适当的指数平滑法预测下一年该地区奶牛的月度产奶量。写出指数平滑模型、预测模型,预测值和80%、95%的置信区间,绘制预测图。

(1)

加载数据:

a<-read.table('D:/桌面/大三下作业/时间序列/实验报告6/习题4-7.csv',sep=',',header=T)
x<-ts(a$ milk_yield,start=c(1962,1),frequency=12)

绘制时序图:

plot(x,main='时序图') #绘制时序图

返回:

        从时序图中可以看到,该序列具有明显的线性递增趋势以及以年为周期的季节效应, 所以可以确定这个序列受到2个因素的影响:长期趋势、季节效应,由于季节性没有随趋势变化而发生显著变化,所以可选择加分模型。

(2)

指数平滑模型预测

拟合:

xfit1<-HoltWinters(x) #三参数指数平滑模型拟合

xfit1

返回:

由于没有特别指定平滑系数的值,所以R基于最优拟合原则计算出平滑系数:

 通过Holt-winters三参数指数平滑加法迭代公式,得到三参数的最后迭代值为:

 参数的最后12个估计值对应的是12个月的季节指数,见表1.

表1

月份j

季节指数

月份j

季节指数

1

-14.0658

7

33.47357

2

-53.0368

8

-11.9391

3

37.0976

9

-54.9495

4

50.88901

10

-50.0478

5

109.6942

11

-77.2317

6

82.63421

12

-35.5463

下一年该地区奶牛的月度产奶量的预测模型为:

 进行预测:

library(forecast)

fore1<-forecast(xfit1,h=12)

fore1

返回:

plot(fore1) #绘制时序图

lines(fore1$fitted,col=2) #绘制拟合趋势

返回:

用以前知识实现模型预测:

差分运算:

dif1<-diff(diff(x),12) #1阶差分12步

plot(dif1) #绘制1阶差分的时序图

返回:

平稳性检验:

library(aTSA)

adf.test(dif1)

返回:

由结果可知,三期结果的p值均小于0.05,所以认为该序列平稳

白噪声检验:

for(i in 1:2)print(Box.test(dif1,lag=6*i))

返回:

由结果可知,6期和12期的p值均小于0.05,所以拒绝原假设,认为不是白噪声序列

模型定阶:

acf(dif1,main='自相关系数图')

pacf(dif1,main='偏自相关系数图')

返回:

由自相关系数图可知,可以认为自相关系数1阶拖尾,由偏自相关系数图可知,可以认为偏自相关系数1阶拖尾,则可以建立定阶为ARIMA(1,1,0)

拟合模型:

fit2<-arima(x,order=c(1,1,0),seasonal=list(order=c(0,1,1),period=12))

fit2

返回:

 对模型进行检验:

library(aTSA)

ts.diag(fit2)

 返回:

 由图可知拟合效果良好。

进行预测:

fore2<-forecast(fit2,h=12)

fore2

返回:

 绘制时序图:

plot(fore2)

lines(fore2$fitted,col=2)

返回:

 例题3

2013-2020年中国农村居民人均消费支出累计值(元)如附件所示。

(1)绘制该序列的时序图,直观考查该序列的特点(有无趋势和季节)。

(2)选择适当的指数平滑法预测未来3年中国农村居民人均消费支出累计值(元)。写出指数平滑模型、预测模型,预测值和80%、95%的置信区间,绘制预测图。

(1)

加载数据:

a<-read.table('D:/桌面/大三下作业/时间序列/实验报告6/农村居民人均消费支出累计值(元).csv',sep=',',header=T)

x<-ts(a$zhichu,start=c(2013,1),frequency=4)

plot(x,main='时序图') #绘制时序图

返回:

  从时序图中可以看到,该序列具有明显的线性递增趋势以及以年为周期的

季节效应, 所以可以确定这个序列受到2个因素的影响:长期趋势、季节效应,由于季节性有随趋势变化而发生显著变化,所以可选择乘法模型。

(2)

指数平滑模型预测:

拟合:

xfit1<-HoltWinters(x,seasonal="mult") #三参数指数平滑模型拟合

xfit1

返回:

由于没有特别指定平滑系数的值,所以R基于最优拟合原则计算出平滑系数:

通过Holt-winters三参数指数平滑乘法迭代公式,得到三参数的最后迭代值为:

 参数的最后4个估计值对应的是4个季度的季节指数,见表2.

表2

季度

1季度

2季度

3季度

4季度

0.45802

0.786094

1.135653

1.620233

该序列向前任意K期的预测值等于

对为来3年进行预测:

library(forecast)

fore1<-forecast(xfit1,h=12)

fore1

返回:

plot(fore1) #绘制时序图

lines(fore1$fitted,col=2) #绘制拟合趋势

返回:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言acres92 region_[R语言 学习笔记] circlize绘制基因组圈图的原理与使用(一)...

由于图形大多由点、线、多边形等简单图形组成&#xff0c;circlize实现了在圆形作图区域添加图形的低级绘图函数&#xff0c;通过低级绘图函数的不同组合&#xff0c;可以轻松生成更复杂的图形。这一原则确保了各种类型的高级图形不会受软件包本身的通用性限制&#xff0c;并且…

python生活中哪些运用_【想把python运用在实际生活中?那么python查询价格方法可以帮助你】- 环球网校...

【摘要】通过本次课程可以让python学员了解一下python查询价格方法&#xff0c;对代码编程有个感性的认知。也好让大家能够理性选择&#xff0c;不要盲目跟从&#xff0c;选择适合自己当前阶段的学习内容&#xff0c;循序渐进&#xff0c;以兴趣自我探索为向导&#xff0c;所以…

机器学习之二分类LDA线性判别(最大特征值法)

目录 一、实验数学原理 二、算法实现步骤 三、实例分析 四、实验结果及分析 一、实验数学原理 线性判别分析((Linear Discriminant Analysis &#xff0c;简称 LDA)是一种经典的线性学习方法&#xff0c;在二分类问题上因为最早由 [Fisher,1936] 提出&#xff0c;亦称 ”Fi…

Java通过反射访问构造方法

为了能够动态获取对象构造方法的信息&#xff0c;首先需要通过下列方法之一创建一个 Constructor 类型的对象或者数组。 getConstructors()getConstructor(Class<?>…parameterTypes)getDeclaredConstructors()getDeclaredConstructor(Class<?>...parameterTypes…

python正则匹配ip_[求助] 正则表达式匹配 IP 地址的问题求助

需求&#xff1a; 有一个列表&#xff0c;表中元素包含IP地址&#xff0c;空元素&#xff0c;文字。想从这个列表中匹配出特定规律的IP地址&#xff0c;列表见下图 testip [‘’, ‘’, ‘’, ‘IP&#xff08;30位&#xff09;’, ‘’, ‘24.45.127.2’, ‘24.45.127.6’, ‘…

在布局空间标注的尺寸量不对_卫生间最佳布局尺寸,合理布局做到1毫米都不浪费!...

房子不论大小里面都会配置一个卫生间&#xff0c;卫生间分为大致三个区域&#xff0c;一个是洗涮区&#xff0c;可以在这里每天洗脸刷牙&#xff0c;还有就是淋浴区我们可以每天在这里洗澡&#xff0c;洗掉一天的疲惫。最后就是如厕区。这三大区域各个设计尺寸不同&#xff0c;…

机器学习 —— 向量机(matlab)

目录 一、SVM基本介绍 1.1 SVM算法定义 1.2 SVM和逻辑回归的区别 二、实验数学原理 三、实验算法和实验步骤 四、实例分析 一、SVM基本介绍 1.1 SVM算法定义 SVM全称是supported vector machine&#xff08;支持向量机&#xff09;&#xff0c;即寻找到一个超平面使样本…

Java通过反射执行方法

要动态获取一个对象方法的信息&#xff0c;首先需要通过下列方法之一创建一个 Method 类型的对象或者数组。 getMethods()getMethods(String name,Class<?> …parameterTypes)getDeclaredMethods()getDeclaredMethods(String name,Class<?>...parameterTypes)访问…

python中的运算符_Python中的运算符

说完常用的数据类型&#xff0c;再来说下运算符。运算符用于将各种类型的数据进行运算&#xff0c;让静态的数据跑起来。 编程语言中的运算大致分为以下几个大类&#xff1a; 算术运算&#xff0c; 用于加减乘除等数学运算 赋值运算&#xff0c;用于接收运算符或方法调用返回的…

excel如何去重统计户数_公式解读第三期 单元格中数字如何去重排序?

公式解读 第三期 -单元格中数字的去重排序&#xff01;本期涉及到函数较多&#xff0c;你可以一次性根据这个案例&#xff0c;学习多少很多常用 函数的用法&#xff0c;同时我也会讲解思路&#xff0c;这个很重要&#xff0c;思路决定了出路。直接先看一下我们的效果图&#xf…

机器学习 —— 神经网络(matlab)

目录 一、介绍 二、实验数学原理 三、实验算法和实验步骤 四、实例分析 一、介绍 神经网络是一种运算模型&#xff0c;由大量的节点&#xff08;或称“神经元”&#xff0c;或“单元”&#xff09;和之间相互联接构成。每个节点代表一种特定的输出函数&#xff0c;称为激励…

Java通过反射访问成员变量

通过下列任意一个方法访问成员变量时将返回 Field 类型的对象或数组。 getFields()getField(String name)getDeclaredFields()getDeclaredField(String name)上述方法返回的 Field 对象代表一个成员变量。例如&#xff0c;要访问一个名称为 price 的成员变量&#xff0c;示例代…

python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...

1. 类对象和实例对象 Python中一切皆对象&#xff0c;Python类本身也是一种对象&#xff0c;类定义完成后&#xff0c;会在当前作用域中定义一个以类名为名字的命名空间。类对象具有以下两种操作&#xff1a; 可以通过“类名()”的方式实例化一个对象。 可以通过“类名.类属性”…

python主成分分析法降维_主成分分析降维(MNIST数据集)

今天看了用主成分分析简化数据&#xff0c;就顺便用MNIST数据集做了下实验&#xff0c;想直观地看一下效果&#xff0c;并通过完成这个小demo深入理解下原理。我发现“是什么、能做什么、怎么用、效果是什么、原理是什么、优缺点是什么”这样的思路能让我更好地接受一个新知识&…

ARIMA加法季节模型

目录 ARIMA加法季节模型 ARIMA加法季节模型函数 例题 ARIMA加法季节模型 季节效应和其它效应之间是加法关系 通过简单的趋势差分、季节差分之后转化为平稳&#xff0c;模型结构通常如下 ARIMA加法季节模型函数 例题 部分数据&#xff1a; timexJan-93977.5Feb-93892.5Mar…

Java在远程方法调用中运用反射机制

我们将介绍反射机制在网络编程中的应用&#xff0c;实现如何在客户端通过远程方法调用服务器端的方法。 假定在服务器端有一个 HelloService 接口&#xff0c;该接口具有 getTime() 和 echo() 方法&#xff0c;具体代码如下&#xff1a; import java.util.Date;public interf…

安捷伦频谱仪的使用方法图解_频谱仪的简单操作使用方法lbrack;1rsqb;

R3131A频谱仪简单操作使用方法一&#xff0e;R3131A频谱仪简介。R3131A频谱仪是日本ADVANTEST公司的产品&#xff0c;用于测量高频信号&#xff0c;可测量的频率范围为9K—3GHz。对于GSM手机的维修&#xff0c;通过频谱仪可测量射频电路中的以下电路信号, (维修人员可以通过对所…

多元时间序列分析 —— 因果检验

目录 因果检验 因果关系的识别 例 Granger 因果关系定义 两变量之间的4种因果关系 Granger因果检验 1.假设条件 2.检验统计量 例 进行Granger因果检验应该注意的问题 因果检验 因果关系的识别 对于多元时间序列而言&#xff0c;如果能找到对响应变量有显.著影响的输…

华为仿苹果字体_华为mate40系列再次霸榜DXO,网友:无敌是多么寂寞

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以免费收到最新内容了。每天都有分享&#xff0c;完全是免费订阅&#xff0c;请放心关注。声明&#xff1a;本文转载自网络&#xff0c;如有侵权&#xff0c;请在后台留言联系…

Java常见异常处理

异常&#xff08;exception&#xff09;是在运行程序时产生的一种异常情况&#xff0c;已经成为了衡量一门语言是否成熟的标准之一。 异常简介 Java 中的异常又称为例外&#xff0c;是一个在程序执行期间发生的事件&#xff0c;它中断正在执行程序的正常指令流。为了能够及时…