Czy nie przeprowadzasz transformacji logitów, aby zmienna obejmowała od minus nieskończoności do plus nieskończoności? Nie jestem pewien, czy dane posiadające 0 i 1 powinny stanowić problem. Czy to pokazuje komunikat o błędzie? Nawiasem mówiąc, jeśli masz tylko proporcje, Twoja analiza zawsze wyjdzie źle. Musisz użyć weight=argument
do glm
liczby przypadków.
Jeśli nic nie działa, możesz użyć podziału mediany lub podziału na kwartyle lub dowolnego punktu podziału, który uważasz za odpowiedni, aby podzielić DV na kilka kategorii, a następnie uruchomić regresję logistyczną porządkową. To może zadziałać. Wypróbuj te rzeczy.
Nie sądzę osobiście, że dodanie 0,001 do zer i pobranie 0,001 od nich to zbyt zły pomysł, ale ma pewne problemy, które zostaną omówione później. Pomyśl tylko, dlaczego nie dodajesz i nie odejmujesz 0,000000001 (lub nawet więcej miejsc po przecinku)? To lepiej reprezentuje 0 i 1 !! Może ci się wydawać, że nie robi to dużej różnicy. Ale tak naprawdę jest.
Zobaczmy następujące:
> #odds when 0 is replaced by 0.00000001
> 0.00000001/(1-0.00000001)
[1] 1e-08
> log(0.00000001/(1-0.00000001))
[1] -18.42068
> #odds when 1 is replaced by (1-0.00000001):
> (1-0.00000001)/(1-(1-0.00000001))
[1] 1e+08
> log((1-0.00000001)/(1-(1-0.00000001)))
[1] 18.42068
> #odds when 0 is replaced by 0.001
> 0.001/(1-0.001)
[1] 0.001001001
> log(0.001/(1-0.001))
[1] -6.906755
> #odds when 1 is replaced by (1-0.001):
> (1-0.001)/(1-(1-0.001))
[1] 999
> log((1-0.001)/(1-(1-0.001)))
[1] 6.906755
Widzisz, musisz utrzymywać szanse tak blisko, jak (0/1) i (1/0). Oczekujesz, że logarytmiczne szanse od minus nieskończoności do plus nieskończoności. Tak więc, aby dodać lub odjąć, musisz wybrać do naprawdę bardzo długiego miejsca po przecinku, aby kursy dzienne zbliżyły się do nieskończoności (lub bardzo dużej) !! Zakres, który uznasz za wystarczająco duży, zależy wyłącznie od ciebie.