R SUR регрессия с использованием systemfit, приводящая к ошибке: LU в вычислительном отношении единственное число: отношение экстремальных входов

Я использую регрессию SUR, используя systemfit package in R. Набор данных содержит возвраты для 80 банков, которые регрессируют на фиктивные переменные, которые равны 1 в определенные даты и 0 в противном случае. При запуске этого я всегда получаю ту же ошибку:

Ошибка в.solve.dgC.lu(as(a, "dgCMatrix"), b = b, tol = tol): LU в вычислительном отношении единственное число: отношение экстремальных записей в |diag(U)| = 3.703e-20

Я загрузил набор данных в pastebin, поэтому я надеюсь, что вы легко сможете воспроизвести ошибку, выполнив следующий код:

library("systemfit")
library("plm")
den <- read.table("https://pastebin.com/raw.php?i=WF3vn1G8", sep=";", header=TRUE)
denpanel<-pdata.frame(den, c("id", "t"))
densur<-systemfit(returns ~ Price + Pre + Event + Post, method = "SUR",data = denpanel)

Регрессия SUR работает до 78 банков. Когда я добавляю 79-й банк, он больше не работает.

Я использую R версии 3.5.1 (64 бит).

Буду очень признателен за вашу помощь! Это мой первый пост, поэтому, пожалуйста, дайте мне знать, если я что-то забыл.

1 ответ

Решение

Это происходит потому, что у нас G=80 банков, T=83 наблюдения на банк и K=5 параметров на банк, что дает 83-5=78 степеней свободы на уравнение, что является проблемой, поскольку SUR оценивает ковариационную матрицу невязок GxG. Между тем, OLS не будет выдавать никаких ошибок и будет давать те же оценки, но не будет вычислять ковариационную матрицу, и, следовательно, стандартные ошибки будут другими.

Другие вопросы по тегам