0

我正在使用多元时间序列数据(每小时时间序列数据)处理功能时间序列。我使用的 FAR 模型不止一个订单,R 中没有可用的统计包,因此我将数据转换为函数形式并获得函数原理组件,并从这些 FPCA 中提取它们相应的** FPCscores**。知道我在这些FPCscores上使用 VAR 模型通过 VAR 模型预测每 24 小时,但是当我输入 phat=23 时,VAR 给了我所有 23 小时的预测值,但是每当我输入 phat=24 时,例如想要每 24 小时预测一次,它以 NA 的形式给出结果。代码如下

library(vars)
library(fda)

fdata<- function(mat){
  nb = 27 # number of basis functions for the data
  fbf = create.fourier.basis(rangeval=c(0,1), nbasis=nb) # basis for data
  args=seq(0,1,length=24)
  fdata1=Data2fd(args,y=t(mat),fbf) # functions generated from discretized y
  return(fdata1)
}
prediction.ffpe = function(fdata1){
  n = ncol(fdata1$coef)
  D = nrow(fdata1$coef)
  #center the data
  #mu = mean.fd(fdata1)
  data = center.fd(fdata1)
  #ffpe = fFPE(fdata1, Pmax=10)
  #p.hat = ffpe[2] #order of the model
  d.hat=23
  p.hat=6
  #fPCA
  fpca = pca.fd(data,nharm=D, centerfns=TRUE)
  scores = fpca$scores[,0:d.hat]
  # to avoid warnings from vars predict function below
  colnames(scores) <- as.character(seq(1:d.hat))
  VAR.pre= predict(VAR(scores, p.hat), n.ahead=1, type="const")$fcst
  
}

请指导我如何解决我的问题或我做的错误。谢谢

4

0 回答 0