Я пишу кусок кода, который оценивает матрицу взаимозависимых переменных. У меня есть набор данных Y, чью оценку я вычисляю. Код для того же самого дан ниже:
t = nrow(Y)
space = 200 # 200 days rolling window estimation
CV = array(NA, c(k, k, (t-space)))
colnames(CV) = rownames(CV) = colnames(Y)
for (i in 1:dim(CV)[3]) {
var1 = VAR(Y[i:(space+i-1),], p=nlag, type="const")
if(any(roots(var1)>1)){
CV[,,i] = CV[,,(i-1)]#
} else {
CV[,,i] = gfevd(var1, n.ahead=nfore)$fevd
}
if (i%%500==0) {print(i)}
}
Этот код генерирует ошибку:
Error in solve.default(diag(sqrt(diag(Sigma)))) :
Lapack routine dgesv: system is exactly singular: U[17,17] = 0.
Любая идея относительно того, почему эта ошибка прибывает, будет оценена. Для справки, это ссылка на код, который я пытаюсь повторить: https://drive.google.com/file/d/1ryTQ1njsbKgeJoNAnLdquhYXCNS7s-N8/view