【问题标题】:generalised forecast error variance decomposition广义预测误差方差分解
【发布时间】:2017-07-16 21:21:20
【问题描述】:

我正在尝试实现这个关于广义预测误差方差分解的 R 代码

> fevd_generalised <- function(model, n.ahead=10, normalize=TRUE) {
if (class(model) != "varest") {
return("The model class is not varest!")
}
A <- Phi(model, n.ahead)
epsilon <- residuals(model)
Sigma <- t(epsilon)%*%epsilon / (model$obs - model$p*model$K)
gi <- array(0, dim(A))
sigmas <- sqrt(diag(Sigma))
for (j in 1:dim(A)[3]) {
gi[,,j] <- t( t( A[,,j]%*%Sigma ) / sqrt(sigmas) )
}
d <- array(0, dim(A)[c(2,3)])
for (j in 1:dim(d)[2]) {
d[,j] <- diag(A[,,j]%*%Sigma%*%t(A[,,j]))
}

num <- apply(gi^2,1:2,sum)
den <- c(apply(d,1,sum))
fevd <- num/den
if (normalize) {
return(fevd/apply(fevd, 1, sum))
} else {
return(fevd)
}
}

> Blockquote

但是我想得到 10 年的广义预测误差方差分解的整个矩阵,知道我是 R 软件的新手!请您帮助我并提前谢谢

【问题讨论】:

    标签: r


    【解决方案1】:

    不过,可能有点太晚了,frequencyConnectedness 包实现了您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 2015-10-22
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      相关资源
      最近更新 更多