R 用协变量预测多元时间序列模型

R 用协变量预测多元时间序列模型,r,forecasting,state-space,R,Forecasting,State Space,我正在使用MARSS软件包运行一个多元自回归状态空间模型。我在尝试预测时出错。这是守则- library(MARSS) A = "zero" U = "zero" B = "identity" Z = "identity" Q = "equalvarcov" R = "equalvarcov" C = "unconstrained" y = rbind(rnorm(30)) covariates = rbind(x = rnorm(30)) model.list = list(B=B,U=U,

我正在使用MARSS软件包运行一个多元自回归状态空间模型。我在尝试预测时出错。这是守则-

library(MARSS)

A = "zero"
U = "zero"
B = "identity"
Z = "identity"
Q = "equalvarcov"
R = "equalvarcov"
C = "unconstrained"
y = rbind(rnorm(30))
covariates = rbind(x = rnorm(30))
model.list = list(B=B,U=U,Q=Q,Z=Z,A=A,R=R,C=C,c=covariates)
control.list = list(maxit=500)
MARSS.MODEL = MARSS(y, model=model.list, control=control.list)
newdata <-  rbind(x = rnorm(10))
predict(MARSS.MODEL, newdata=list(c=newdata),n.ahead=10,t.start=31)
库(MARSS)
A=“零”
U=“零”
B=“身份”
Z=“身份”
Q=“equalvarcov”
R=“equalvarcov”
C=“无约束”
y=rbind(rnorm(30))
协变量=rbind(x=rnorm(30))
model.list=list(B=B,U=U,Q=Q,Z=Z,A=A,R=R,C=C,C=协变量)
control.list=list(maxit=500)
MARSS.MODEL=MARSS(y,MODEL=MODEL.list,control=control.list)

newdata我试图运行您的代码,但遇到了另一个错误。您的t.start值大于原始数据的长度。它应该小于30。我将t.start设置为1,效果很好。感谢您的检查,但根据我在设置t.start=1时的理解,这将从原始数据开始运行模型预测。根据predict.marssMLE{MARSS}的帮助页面:“相对于开始(t=1)开始预测的t是什么?”模型拟合到的数据的长度。默认值是从t=t+1开始,其中t是模型拟合到的数据的长度。例如,如果TT=10,t.start=1,n.ahead=5,则预测是针对时间步长1、2、3、4、5,因此不会超过数据的结尾。“@DarwinBlackbeard是的,您正确读取了帮助文件,但是
MARSS::predict()
仍在开发中,目前不会超出数据范围。
Error: predict_marxss: c are time-varying.In this case, you cannot forecast past the end of the time series(t.start+n.ahead must be < length of original data).