我正在尝试使用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
非常感谢您的帮助:)
答案 0 :(得分:0)
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))