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. hdu 4831(线段树---待解决)
  2. sublime text 自动保存
  3. 第10章 例题 7-4 汉诺(Hanoi)塔问题
  4. 金士顿 datatraveler写保护_【脑洞大开】金士顿推出限量版羽毛球闪存盘
  5. 计算机无法创建新文件夹,无法创建文件,教您无法新建文件夹怎么办
  6. Flask和mysql多线程_Flask解析(二):Flask-Sqlalchemy与多线程、多进程
  7. HDOJ 5091 Beam Cannon 扫描线
  8. python词频统计之《哈姆雷特》_哈姆雷特词频统计,Hamlet
  9. Java编程:java判断两个区间交差重叠
  10. 弄一个html的登录页面,如何制作一个简单的HTML登录页面(附代码)
  11. STM32CubeMX——霍尔编码器、L298N驱动电机
  12. 航空插头的环境性能科普
  13. 离散数学学习笔记----命题逻辑的推理理论
  14. 西北工业大学软件学院大数据技术实验(二)
  15. 鼠标单击变双击补丁(含C++代码)
  16. ARM服务器市场现状研究分析-
  17. 在mysql调用存储过程完成spilt切割
  18. 阿波罗apollo使用方法+领英使用
  19. python——赋值
  20. Fiddler简单的使用教程(入门级)

热门文章

  1. pandas自定义函数进行数据清洗
  2. 江苏省计算机学业水平测试模拟软件,基于江苏省普通高中物理学业水平测试的学生在线自主模拟测试系统研发...
  3. podman容器的开机自启
  4. 在SAFe中如何组织和管理价值流?
  5. python repr函数_python编程 魔法函数之__str__和__repr__
  6. 委托方未按时付款,受托方可以不交付源代码
  7. 晋文源计算机考试,2021年晋文源第四次模拟考试yu
  8. rank函数python_python pandas中如何实现excel中的rank函数
  9. 使用Cygwin通过ssh命令行来访问Windows7
  10. 从此不需动辄求人“修”电脑