R语言与数据分析练习:选择适当模型拟合某股票连续若干天的收盘价序列的发展

ARIMA模型

ARIMA模型(英语:Autoregressive Integrated Moving Average model),差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),是时间序列预测分析方法之一。ARIMA(p,d,q)中,AR是“自回归”,p为自回归项数;MA为“滑动平均”,q为滑动平均项数,d为使之成为平稳序列所做的差分次数(阶数)。“差分”一词虽未出现在ARIMA的英文名称中,却是关键步骤。

题目:

某股票连续若干天的收盘价如表5-13所示,选择适当模型拟合该序列的发展。

数据如下:

表5-13 某股票收盘价 ———————————————————————————————————— 304 303 307 299 296 293 301 293 301 295 284 286 286 287 284 282 278 281 278 277 279 278 270 268 272 273 279 279 280 275 271 277 278 279 283 284 282 283 279 280 280 279 278 283 278 270 275 273 273 272 275 273 273 272 273 272 273 271 272 271 273 277 274 274 272 280 282 292 295 295 294 290 291 288 288 290 293 288 289 291 293 293 290 288 287 289 292 288 288 285 282 286 286 287 284 283 286 282 287 286 287 282 282 294 291 288 289 ————————————————————————————————————

实现代码:

# 设置工作目录并读取数据
setwd("D:/bigdata/R语言与数据分析/R语言数据分析实战/第5章/02-习题程序")
data1 <- read.csv("./data/data.csv")
data <- data1[1:100, ]# 平稳性检验
# 结论: 1.序列并未全部在一个常数内稳定地来回波动 属于非平稳随机序列
#       2.发现数据为非平稳序列 需要做处理
data <- ts(data)
plot(data)  # 绘制时序图
acf(data, lag.max = 30)  # 数据自相关检验 # 差分运算:使得数据在一个常数附件随机波动
data_t1 <- diff(data)
plot(data_t1)  # 绘制时序图
acf(data_t1, lag.max = 30)  # 数据自相关检验# 单位根检验:若p值小于0.05 则该序列为非纯随机序列
library(tseries)
adf.test(data_t1)# 模型定阶
library(TSA)
res <- armasubsets(y = data_t1, nar = 5, nma = 5)  # 差分序列BIC定阶
plot(res)# 模型残差检验
library(forecast)
for(p in c(0, 3, 5)){for(q in c(0, 3, 4)){arima.model <- Arima(data, order = c(p, 1, q))box.test.result <- Box.test(arima.model$residuals, lag = 1, type = "Ljung-Box")  print(paste('p =', p, '; q =', q , '; 残差P值:', round(box.test.result$p.value, 4), collapse = ""))}
}# 模型评估
for(p in c(0, 3, 5)){for(q in c(0, 3, 4)){arima.model <- Arima(data, order = c(p, 1, q))forecast.data <- forecast(arima.model, h = 7)pred <- forecast.data$meanerror <- abs(data1[101:107, 1] - pred) / data1[101:107, 1]print(paste('p =', p, '; q =', q , ';误差:', round(mean(error), 6)))}
}# 因此最优模型是ARIMA(3,1,3)

运行截图:

R语言与数据分析练习:选择适当模型拟合某股票连续若干天的收盘价序列的发展相关推荐

  1. R语言与数据分析练习:使用ARIMA模型预测网站访问量

    R语言与数据分析练习:使用ARIMA模型预测网站访问量 使用ARIMA模型预测网站访问量 一.实验背景: 随着流量的增大,某网站的数据信息量也在以一定的幅度增长 基于该网站2016年9月~2017年2 ...

  2. 2014全球软件技术峰会WOT:R语言金融数据分析

    跨界知识聚会系列文章,"知识是用来分享和传承的",各种会议.论坛.沙龙都是分享知识的绝佳场所.我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果.从听众到演讲 ...

  3. 【R语言与数据分析实战】R软件编程

    目录 1.流程控制 (1) if语句 (2) 循环语句 2.运算 (1) 数值运算 (2) 向量运算 (3) NA处理 3.定义函数 (1) 可变长函数 (2) 嵌套函数 4.作用域 5.对象的不变性 ...

  4. 看书标记【R语言 商务数据分析实战4】

    看书标记--关于R语言 chapter 4 4.2 任务实现 [R语言 商务数据分析实战4] chapter 4 财政收入预测分析 从海量数据中发现隐藏的运行模式,并提供具有决策意义的信息.变量过多会 ...

  5. 看书标记【R语言 商务数据分析实战9】

    看书标记--关于R语言 chapter 9 9.2 任务实现 [R语言 商务数据分析实战9] chapter 9 餐饮企业综合分析 统计分析>>ARIMA预测销售额>>协同过滤 ...

  6. 《R语言游戏数据分析与挖掘》一2.2 数据对象

    2.2 数据对象 R拥有许多用于存储数据的对象类型,包括向量.矩阵.数组.数据框和列表.它们在存储数据的类型.创建方式.结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同.多样化的数据对 ...

  7. R语言与数据分析-01-数据类型与数据输入-01-基础

    一. R语言的数据类型 原文链接 : r语言与数据分析实战1 1.1 知识描述 搞清楚我们面对的数据类型是什么,并能实现数据类型之间的转换 1.2 相关知识 需要认真学习以下函数: mode(): 用 ...

  8. R语言glmnet交叉验证选择(alpha、lambda)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值、模型最优的lambda值,最终模型的拟合与评估

    R语言glmnet交叉验证选择(alpha参数和lambda参数)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值.弹性网络(elasticNet)模型最优的 ...

  9. R语言对数线性模型loglm函数_用R语言进行数据分析:常规和广义线性模型

    用R语言进行数据分析:常规和广义线性模型 线性模型 对于常规的多重模型(multiple model)拟合,最基本的函数是lm(). 下面是调用它的方式的一种改进版: >fitted.model ...

最新文章

  1. 不是python中用于开发用户界面的第三方库-Python三方库:wxPython(GUI图形用户界面)...
  2. SwingC API 演示DEMO,不断更新
  3. Django 关联管理器
  4. vue获取商品数据接口_基于 request cache 请求缓存技术优化批量商品数据查询接口...
  5. P4768 [NOI2018] 归程(kruskal 重构树)
  6. 手机热点总是正在连接服务器,手机热点用不了?可以尝试这个方法。
  7. autolisp 列表 resbuf
  8. Datawhale组队-pandas(上)基础(自学)
  9. 51 FI配置-财务会计-固定资产-折旧-维护期间控制方法
  10. iPhone SE 3钢化膜已上架海外市场:4.7英寸屏 Home键得到保留
  11. 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中)
  12. python大法之二-一些基础(一)
  13. Robot Freamwork 安装配置文档
  14. 【问】安装SQL 2012R2时提示NetFx3
  15. c语言 sd卡编程,嵌入式系统基础 嵌入式系统中的C语言编程基础 烧写Superboot到SD卡.docx...
  16. 如何使用FlashgameMaster修改游戏
  17. VIO与全局快门及轮速计的一些应用小技巧
  18. 量化投资——思想、工具与策略
  19. 深度生成模型重塑药物研发【Cell子刊综述】
  20. 穷不坑朋友,富不忘恩人!

热门文章

  1. java获取零时区时间戳
  2. HDU5599GTW likes tree
  3. 【板栗糖GIS】BAT—win11恢复经典win10右键内容
  4. 亚马逊规则漏洞下的中国创业者机会
  5. 推荐系统中的召回算法大致梳理(非完整)
  6. 计算机二级一般容易过的是什么情况,计算机二级哪个最容易考过
  7. Apache Phoenix 映射已存在 HBase 表,查询不到数据
  8. c++语言编译器哪个好,C/C++语言编译器哪个好?几款好用的编译器推荐给你
  9. 如何更改mysql数据库编码格式_怎么修改MYSQL数据库的编码格式
  10. 机器学习(十):机器学习训练速度的提升技巧