Использование категориальной переменной в моделях spreg
Я хотел бы использовать модель пространственной регрессии, используя пакет spreg в Python. Мои данные состоят из числовых переменных, но у меня также есть категориальная переменная земельного покрова (с 7 классами), которую мне нужно включить в модель. Это отлично работает с использованием statsmodels , но я не смог понять, как это сделать в spreg .
Я пробовал создавать фиктивные переменные вручную (используя
RuntimeWarning: в sqrt обнаружено недопустимое значение se_result=np.sqrt(отклонение)
RuntimeWarning: в sqrt обнаружено недопустимое значение tStat = betas [list(range(0, len(vm)))]. Reshape(len(vm),) / np.sqrt(variance)
Все фиктивные переменные также имеют значения nan в разделах результатов Std.Error, t-Statistic и Probability (см. Отрывок ниже).
Variable Coefficient Std.Error t-Statistic Probability
CONSTANT -142.9375000 nan nan nan
temperature 0.0136240 0.0001169 116.4984154 0.0000000
precipitation 0.0000003 0.0000000 153.7448775 0.0000000
cover_1 141.9375000 nan nan nan
cover_2 142.0625000 nan nan nan
cover_3 141.6875000 nan nan nan
cover_4 142.0625000 nan nan nan
cover_5 141.9375000 nan nan nan
cover_6 141.6875000 nan nan nan
cover_7 141.8125000 nan nan nan
При использовании статистических моделей с теми же данными / переменными результат модели OLS был следующим:
coef std err t P>|t|
temperature -0.0004 2.72e-05 -15.115 0.000
precipitation -1.62e-08 4.12e-10 -39.294 0.000
cover_1 0.0706 0.001 119.653 0.000
cover_2 0.0290 0.001 29.431 0.000
cover_3 0.0100 0.001 7.120 0.000
cover_4 0.0491 0.000 122.972 0.000
cover_5 0.0327 0.000 79.698 0.000
cover_6 0.0140 0.000 35.541 0.000
cover_7 -0.0026 0.001 -4.223 0.000
Как я могу включить свои категориальные данные в модели spreg (например, spreg.GM_Lag)?
1 ответ
Я предполагаю, что вы попали в «ловушку фиктивной переменной».
У вас нет константы в версии statsmodels, но она включена в версию spreg.
Если вы не опустите контрольный уровень в своей категориальной переменной, то он будет идеально коллинеарен константе. Матрица плана будет сингулярной, а стандартная матрица продукта x'x не обратима.