r - 使用 GARCH 进行时间序列预测
问题描述
我正在尝试使用 GARCH(1,1) 模型预测 R 中的时间序列对象。我的目标是使用 GARCH 模型提前预测 24 个实例。尽管我在预测时使用了时间序列对象,但出现以下错误:
is.constant(y) 中的错误:(列表)对象不能被强制输入'double'
这些是我正在使用的命令:
library(forecast)
library(tseries)
trainer1 <- ts(trainer, frequency=24)
m1 <- garch(trainer1, order = c(1,1))
forecasts1 <- forecast(m1, h=24)
我使用的示例数据如下:
124.30
98.99
64.00
64.00
123.99
123.99
34.97
123.99
139.91
140.00
164.30
178.99
140.00
169.95
161.18
139.94
161.31
124.00
115.01
124.00
非常感谢您的帮助 :)
解决方案
这garch
不是forecast
包的功能。因此,您不能在模型上应用forecast
功能。m1
该garch
功能在tseries
包中可用。因此,要garch
用于预测,您必须使用
library(forecast)
library(tseries)
trainer1 <- ts(df, frequency=24)
m1 <- garch(trainer1, order = c(1,1))
forecasts1 <- predict(m1, trainer1)
如果你想预测,你可以使用fGarch
像
library(fGarch)
fit <- garchFit(~ arma(0,1) + garch(1,1), data = trainer1, trace = FALSE)
predict(fit,n.ahead=24,plot=TRUE)
数据
df = structure(list(trainer = c(124.3, 98.99, 64, 64, 123.99, 123.99,
34.97, 123.99, 139.91, 140, 164.3, 178.99, 140, 169.95, 161.18,
139.94, 161.31, 124, 115.01, 124)), class = "data.frame", row.names = c(NA,
-20L))
推荐阅读
- sql - 如何将子查询中的字段/列添加到外部选择语句中?
- docker - 在 Azure devops 中使用 docker 构建 .net 核心时出现问题
- c# - c# 更新 SharePoint 用户属性 CSOM + Pnp 框架
- azure - 如何提高 Azure 自定义视觉准确性
- firebase - 从 GCP 控制台,我们可以编写一个与 Firebase 实时数据库交互的 GCP 云函数吗?
- r - 删除y轴的第一个标签
- ruby-on-rails - Heroku 上的 Sendgrid 与 apikey 身份验证
- qt - QML QtCharts CandlestickSeries 中继器
- java - Junit 5 测试 toString()
- java - JHipster OpenAPI 模型包