Я хочу запустить бинарную логистическую регрессию, чтобы смоделировать наличие или отсутствие конфликта (зависимой переменной) из набора независимых переменных в течение 10-летнего периода (1997-2006 гг.), Причем каждый год имеет 107 наблюдений. Мои независимые:
- деградация земель (категорически для 2 типов деградации);
- увеличение численности населения (0 - нет; 1 - да);
- тип средств к существованию (0 - тип один; 1 - тип два);
- плотность населения (три уровня плотности);
- NDVI непрерывный (максимальная производительность овощей);
- NDVI t - 1 (снижение вегетационного периода по сравнению с предыдущим годом - 0 - нет; 1-да) и
- и NDVI t - 2 (снижение вегетации за последние два года - 0 - нет; 1 - да).
Я довольно новичок во всем этом - это проект, который мне дал лектор, - и поэтому я был бы благодарен за некоторые советы или рекомендации. Я уже проверил на мультиколлинеарность уже.
По сути, мои данные разделены на 107 единиц наблюдения (пространственных областей), охватывающих 10 лет (всего 1070), и для каждой единицы наблюдения это дает «снимок» значения условий независимых переменных в это время в пределах этой единицы ( область). Я хочу знать, как настроить мою логистическую регрессию (или таблицу) для распознавания 107 значений каждого года отдельно, чтобы можно было оценить временные изменения NDVI между различными единичными годами?
Ответы:
На самом деле это чрезвычайно сложная проблема и сложная задача вашего лектора!
С точки зрения того, как вы организовываете свои данные, прямоугольник 1070 x 10 - это хорошо. Например, в R:
Для подгонки модели, функция glm (), как предлагает @ gui11aume, сделает основы ...
... но проблема в том, что он рассматривает "страну" (я предполагаю, что у вас есть страна в качестве 107 единиц) как фиксированный эффект, тогда как случайный эффект более уместен. Он также рассматривает период как простой фактор, автокорреляция не допускается.
Вы можете обратиться к первой проблеме , связанной с обобщенной линейной модели смешанных эффектов , как, например , в Бейтс и др - х lme4 пакет в R. Там хороший введение в некоторые аспекты этого здесь . Что-то вроде
было бы шагом вперед.
Теперь вашей последней оставшейся проблемой является автокорреляция между вашими 10 периодами. По сути, ваши 10 точек данных по каждой стране не стоят столько, сколько если бы они были 10 случайно выбранными независимыми и одинаково распределенными точками. Мне не известно о широко доступном программном решении для автокорреляции в остатках многоуровневой модели с ненормальным откликом. Конечно, это не реализовано в lme4. Другие могут знать больше, чем я.
источник
Этот урок является всеобъемлющим.
В R вам нужно подготовить свои данные, скажем, переменную
data
в adata.frame
, первый столбец которой - ваша переменная 0-1 (конфликт), а другие столбцы - предикторы. Для категориальных переменных вы должны убедиться, что они имеют типfactor
. Чтобы убедиться, что столбец 3, скажем, имеет это свойство, вы можете принудительноdata[,3] <- as.factor(data[,3])
.Тогда это только вопрос
Это подразумевает, что у вас есть аддитивная модель, и дает вам оценочные значения. Чтобы получить более полный вывод, с тестом на отдельные параметры, вы можете сделать
источник