Когда я запускаю регрессию панели, она говорит, что это вычислительно единственное число... но я не думаю, что это

Я пытаюсь использовать [r] для запуска plm на двух больших наборах данных, один с 400K obs, а другой с 1.1 миллионами. Я могу запустить меньшее в SAS, но большее не работает. Я пытался понять, могу ли я использовать [r], и когда я пытаюсь запустить приведенный ниже код, он всегда возвращается следующим образом:

> pvlag<-read.csv(file="pvlag.csv", sep=",")
>  pvpanel<-plm.data(pvlag, c("New_ID", "billmo"))
 pv<-plm(usetotl~livgarea+yardarea+poolsize+lagavg+lat1+nonlat1+grad+grad,data=pvpanel, model="random", random.method=("swar"), index=c("New_ID", "billmo")) 

ряды являются константами и были удалены Ошибка в solve.default(crossprod(Xm)): система вычислительно единственная: число взаимных условий = 6.47315e-22

Это происходит с обоими наборами данных, хотя, когда я запускаю меньший в SAS, он выводит оценочные коэффициенты и т.д. без проблем. У кого-нибудь есть идеи, почему это происходит? Кроме того, поскольку я использую модель случайных эффектов, зачем удалять значения cosntant? Я думал, что это проблема только с моделями с фиксированными эффектами?

2 ответа

Вы использовали переменную grad дважды. это также происходит, если вы используете фиктивные переменные, которые будут давать 1-е на всей выборке, скажем, у вас есть две фиктивные переменные, первая имеет 1 для первых 200 КБ, а вторая - одну для вторых 200 КБ. Вы не можете использовать оба. Вы должны выбрать один - но не важно, какой.

Для меня я попал в фиктивную ловушку, когда получил эту ошибку. Разве это не ваш случай тоже?

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