Korzystam ze scikit-learn Pythona do trenowania i testowania regresji logistycznej.
scikit-learn zwraca współczynniki regresji zmiennych niezależnych, ale nie podaje standardowych błędów współczynników. Potrzebuję tych standardowych błędów, aby obliczyć statystykę Walda dla każdego współczynnika i z kolei porównać te współczynniki ze sobą.
Znalazłem jeden opis, w jaki sposób obliczyć standardowe błędy dla współczynników regresji logistycznej ( tutaj ), ale nieco trudniej jest podążać.
Jeśli zdarzy ci się znać proste, dokładne wyjaśnienie, w jaki sposób obliczyć te standardowe błędy i / lub możesz mi je podać, bardzo bym to docenił! Nie mam na myśli konkretnego kodu (choć prosimy o opublikowanie dowolnego kodu, który może być pomocny), ale raczej algorytmiczne wyjaśnienie związanych z tym kroków.
Odpowiedzi:
Czy twoje oprogramowanie daje ci macierz kowariancji parametrów (lub wariancji-kowariancji)? Jeśli tak, standardowe błędy to pierwiastek kwadratowy przekątnej tej macierzy. Prawdopodobnie zechcesz zajrzeć do podręcznika (lub google do notatek z wykładów uniwersyteckich), aby dowiedzieć się, jak uzyskać macierz dla liniowych i uogólnionych modeli liniowych.V.β
źródło
Standardowe błędy współczynników modelu to pierwiastki kwadratowe przekątnych wpisów macierzy kowariancji. Rozważ następujące:
(UWAGA: Zakłada to model z przechwytywaniem.)
Macierz kowariancji można zapisać jako:
Można to zaimplementować za pomocą następującego kodu:
To powiedziawszy,
statsmodels
prawdopodobnie będzie lepszym pakietem do użycia, jeśli chcesz uzyskać dostęp do wielu „gotowych” narzędzi diagnostycznych.źródło
V = np.product(predProbs, axis=1);
covLogit = np.linalg.pinv(np.dot(X_design.T * V), X_design)
Jeśli jesteś zainteresowany wnioskowaniem, prawdopodobnie będziesz chciał rzucić okiem na statsmodels . Dostępne są standardowe błędy i wspólne testy statystyczne. Oto przykład regresji logistycznej .
źródło