Pracowałem nad modelem logistycznym i mam trudności z oceną wyników. Mój model to dwumianowy logit. Moje zmienne objaśniające to: zmienna kategorialna z 15 poziomami, zmienna dychotomiczna i 2 zmienne ciągłe. Mój N jest duży> 8000.
Staram się modelować decyzję firm o inwestowaniu. Zmienna zależna to inwestycja (tak / nie), 15 zmiennych poziomu to różne przeszkody dla inwestycji zgłaszane przez menedżerów. Pozostałe zmienne to kontrole sprzedaży, kredytów i wykorzystanej zdolności produkcyjnej.
Poniżej moje wyniki przy użyciu rms
pakietu w języku R.
Model Likelihood Discrimination Rank Discrim.
Ratio Test Indexes Indexes
Obs 8035 LR chi2 399.83 R2 0.067 C 0.632
1 5306 d.f. 17 g 0.544 Dxy 0.264
2 2729 Pr(> chi2) <0.0001 gr 1.723 gamma 0.266
max |deriv| 6e-09 gp 0.119 tau-a 0.118
Brier 0.213
Coef S.E. Wald Z Pr(>|Z|)
Intercept -0.9501 0.1141 -8.33 <0.0001
x1=10 -0.4929 0.1000 -4.93 <0.0001
x1=11 -0.5735 0.1057 -5.43 <0.0001
x1=12 -0.0748 0.0806 -0.93 0.3536
x1=13 -0.3894 0.1318 -2.96 0.0031
x1=14 -0.2788 0.0953 -2.92 0.0035
x1=15 -0.7672 0.2302 -3.33 0.0009
x1=2 -0.5360 0.2668 -2.01 0.0446
x1=3 -0.3258 0.1548 -2.10 0.0353
x1=4 -0.4092 0.1319 -3.10 0.0019
x1=5 -0.5152 0.2304 -2.24 0.0254
x1=6 -0.2897 0.1538 -1.88 0.0596
x1=7 -0.6216 0.1768 -3.52 0.0004
x1=8 -0.5861 0.1202 -4.88 <0.0001
x1=9 -0.5522 0.1078 -5.13 <0.0001
d2 0.0000 0.0000 -0.64 0.5206
f1 -0.0088 0.0011 -8.19 <0.0001
k8 0.7348 0.0499 14.74 <0.0001
Zasadniczo chcę ocenić regresję na dwa sposoby: a) jak dobrze model pasuje do danych oraz b) jak dobrze model przewiduje wynik. Aby ocenić dobroć dopasowania (a), uważam, że testy dewiacji oparte na chi-kwadrat nie są w tym przypadku odpowiednie, ponieważ liczba unikatowych zmiennych towarzyszących jest zbliżona do N, więc nie możemy założyć rozkładu X2. Czy ta interpretacja jest poprawna?
Widzę zmienne towarzyszące za pomocą epiR
pakietu.
require(epiR)
logit.cp <- epi.cp(logit.df[-1]))
id n x1 d2 f1 k8
1 1 13 2030 56 1
2 1 14 445 51 0
3 1 12 1359 51 1
4 1 1 1163 39 0
5 1 7 547 62 0
6 1 5 3721 62 1
...
7446
Czytałem także, że test GoF Hosmer-Lemeshow jest nieaktualny, ponieważ dzieli dane przez 10 w celu uruchomienia testu, który jest raczej arbitralny.
Zamiast tego używam testu le Cessie – van Houwelingen – Copas – Hosmer, zaimplementowanego w rms
pakiecie. Nie jestem pewien, jak dokładnie przeprowadzany jest ten test, jeszcze nie czytałem o nim artykułów. W każdym razie wyniki są następujące:
Sum of squared errors Expected value|H0 SD Z P
1711.6449914 1712.2031888 0.5670868 -0.9843245 0.3249560
P jest duży, więc nie ma wystarczających dowodów na to, że mój model nie pasuje. Świetny! Jednak....
Podczas sprawdzania zdolności predykcyjnej modelu (b) rysuję krzywą ROC i stwierdzam, że AUC jest 0.6320586
. To nie wygląda dobrze.
Podsumowując moje pytania:
Czy testy, które przeprowadzam, są odpowiednie, aby sprawdzić mój model? Jakie inne testy mogę rozważyć?
Czy uważasz, że model jest w ogóle przydatny, czy też odrzuciłbyś go w oparciu o stosunkowo słabe wyniki analizy ROC?
x1
należy traktować jako pojedynczą zmienną kategorialną? To znaczy, czy każdy przypadek musi mieć 1 i tylko 1 „przeszkodę” w inwestowaniu? Sądzę, że niektóre przypadki mogą napotkać 2 lub więcej przeszkód, a niektóre nie mają żadnych.