2014-11-26 2 views
1

내가 10 년 동안 일반화 된 예측 오차 분산 분해의 전체 행렬 싶어하지만 내가 알고, 일반화 된 예측 오차 분산 분해일반화 된 예측 오차 분산 분해

> 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 

에 대한이 R 코드를 구현하기 위해 노력하고 나는 R 소프트웨어에서 데뷔하고있다! 제발 도와 주시겠습니까

답변