Как решить «Ошибка в solve.default (diag (sqrt (diag (Sigma))))): Подпрограмма Лапака dgesv: система точно единственная: U [17,17] = 0» в R? - PullRequest
0 голосов
/ 17 марта 2020

Я пишу кусок кода, который оценивает матрицу взаимозависимых переменных. У меня есть набор данных 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...