问题描述
我正在尝试使用GARCH(1,1)模型预测R中的时间序列对象.我的目标是使用GARCH模型提前预测24个实例.尽管我在预测时使用时间序列对象,但出现以下错误:
I am trying to forecast a time series object in R with GARCH(1,1) model. My goal is to hav 24 instances ahead forecast with the GARCH model. Although I am using a time series object while forecasting,I get the following error:
is.constant(y)中的错误: (列表)对象不能强制输入"double"
Error in is.constant(y) : (list) object cannot be coerced to type 'double'
这些是我正在使用的命令:
Those are the commands that I am using:
library(forecast)
library(tseries)
trainer1 <- ts(trainer, frequency=24)
m1 <- garch(trainer1, order = c(1,1))
forecasts1 <- forecast(m1, h=24)
我正在使用的示例数据如下:
And the sample data that I am using is as follows:
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
包的功能.因此,不能在m1
模型上应用forecast
函数. garch
功能在tseries
软件包中可用.因此,要使用garch
进行预测,您必须使用
The garch
is not a function of forecast
package. So, you cannot apply forecast
function on m1
model. The garch
function is available in tseries
package. So, to use garch
for prediction you have to use
library(forecast)
library(tseries)
trainer1 <- ts(df, frequency=24)
m1 <- garch(trainer1, order = c(1,1))
forecasts1 <- predict(m1, trainer1)
如果您要进行预测,可以使用fGarch
程序包之类的
If you want to forecast you can use fGarch
package like
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))
这篇关于使用GARCH进行时间序列预测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!