Chcę uruchomić binarną regresję logistyczną, aby modelować obecność lub brak konfliktu (zmienna zależna) z zestawu zmiennych niezależnych w okresie 10 lat (1997-2006), przy czym każdego roku ma 107 obserwacji. Moi niezależni to:
- degradacja gruntów (kategoryczna dla 2 rodzajów degradacji);
- wzrost populacji (0 - nie; 1 - tak);
- typ źródła utrzymania (0 - typ jeden; 1 - typ drugi);
- gęstość zaludnienia (trzy poziomy gęstości);
- Ciągłe NDVI (maksymalna wydajność warzyw);
- NDVI (spadek warzyw w stosunku do poprzedniego roku - 0 - nie; 1-tak) i
- i NDVI (spadek wegetacji od dwóch lat - 0 - nie; 1 - tak).
Jestem całkiem nowy - to projekt, który dał mi mój wykładowca - i dlatego byłbym wdzięczny za porady lub wskazówki. Testowałem już pod kątem wielokoliczności.
Zasadniczo moje dane są podzielone na 107 jednostek obserwacji (regiony przestrzenne) obejmujących 10 lat (łącznie 1070) i dla każdej jednostki obserwacji daje wartość „migawki” warunków zmiennych niezależnych w tym czasie w obrębie tej jednostki ( region). Chcę wiedzieć, jak skonfigurować moją regresję logistyczną (lub tabelę) w celu osobnego rozpoznawania 107 wartości każdego roku, aby można było ocenić czasowe zmiany NDVI między różnymi latami jednostkowymi?
źródło
Odpowiedzi:
To jest naprawdę bardzo skomplikowany problem i trudne pytanie od wykładowcy!
Jeśli chodzi o sposób organizacji danych, prostokąt 1070 x 10 jest w porządku. Na przykład w R:
Aby dopasować model, funkcja glm (), jak sugeruje @ gui11aume, zrobi podstawy ...
... ale ma to problem polegający na tym, że traktuje „kraj” (zakładam, że masz kraj jako swoje 107 jednostek) jako stały efekt, podczas gdy efekt losowy jest bardziej odpowiedni. Traktuje także okres jako prosty czynnik, nie dopuszcza się autokorelacji.
Pierwszy problem można rozwiązać za pomocą uogólnionego liniowego modelu efektów mieszanych, jak np. Pakiet lme4 Batesa i in. W R. Ładne wprowadzenie do niektórych aspektów tego tutaj . Coś jak
byłby krok naprzód.
Teraz twoim ostatnim pozostałym problemem jest autokorelacja przez 10 okresów. Zasadniczo twoje 10 punktów danych w każdym kraju nie jest tak warte, jakby były 10 losowo wybranymi niezależnymi i identycznie rozmieszczonymi punktami. Nie znam powszechnie dostępnego oprogramowania do autokorelacji w resztkach modelu wielopoziomowego z nietypową odpowiedzią. Na pewno nie jest zaimplementowany w lme4. Inni mogą wiedzieć więcej niż ja.
źródło
Ten samouczek jest wyczerpujący.
W R musisz przygotować swoje dane, powiedzmy zmienną
data
wdata.frame
, której pierwsza kolumna to zmienna 0-1 (konflikt), a pozostałe kolumny to predyktory. W przypadku zmiennych jakościowych należy upewnić się, że są one typufactor
. Aby upewnić się, że kolumna 3, powiedzmy, ma tę właściwość, możesz ją egzekwowaćdata[,3] <- as.factor(data[,3])
.To tylko kwestia
Zakłada to domyślnie, że masz model addytywny i podaje wartości szacunkowe. Aby uzyskać bardziej kompleksowy wynik, możesz wykonać test poszczególnych parametrów
źródło