Python 2.7 - statsmodels - formatowanie i pisanie podsumowania

Używam regresji logistycznejpandas 0.11.0(obsługa danych) istatsmodels 0.4.3 zrobić rzeczywistą regresję na Mac OSX Lion.

Będę uruchamiał ~ 2900 różnych modeli regresji logistycznej i będzie potrzebował wyników do pliku csv i sformatowany w określony sposób.

Obecnie wiem tylko o tymprint result.summary() który wypisuje wyniki (w następujący sposób) do powłoki:

 Logit Regression Results                           
  ==============================================================================
 Dep. Variable:            death_death   No. Observations:                 9752
 Model:                          Logit   Df Residuals:                     9747
 Method:                           MLE   Df Model:                            4
 Date:                Wed, 22 May 2013   Pseudo R-squ.:                -0.02672
 Time:                        22:15:05   Log-Likelihood:                -5806.9
 converged:                       True   LL-Null:                       -5655.8
                                         LLR p-value:                     1.000
 ===============================================================================
                   coef    std err          z      P>|z|      [95.0% Conf. Int.]
 -------------------------------------------------------------------------------
 age_age5064    -0.1999      0.055     -3.619      0.000        -0.308    -0.092
 age_age6574    -0.2553      0.053     -4.847      0.000        -0.359    -0.152
 sex_female     -0.2515      0.044     -5.765      0.000        -0.337    -0.166
 stage_early    -0.1838      0.041     -4.528      0.000        -0.263    -0.104
 access         -0.0102      0.001    -16.381      0.000        -0.011    -0.009
 ===============================================================================

Potrzebuję również ilorazu szans obliczonego przezprint np.exp(result.params)i jest drukowany w powłoce jako taki:

age_age5064    0.818842
age_age6574    0.774648
sex_female     0.777667
stage_early    0.832098
access         0.989859
dtype: float64

Potrzebuję, aby każdy z nich został zapisany w pliku csv w postaci bardzo wiersza takiego jak (nie jestem pewien, czy w tym momencie będę potrzebował takich rzeczy jakLog-Likelihood, ale uwzględniliśmy to ze względu na dokładność):

`Log-Likelihood, age_age5064_coef, age_age5064_std_err, age_age5064_z, age_age5064_p>|z|,...age_age6574_coef, age_age6574_std_err, ......access_coef, access_std_err, ....age_age5064_odds_ratio, age_age6574_odds_ratio, ...sex_female_odds_ratio,.....access_odds_ratio`

Myślę, że otrzymujesz obraz - bardzo długi wiersz ze wszystkimi tymi rzeczywistymi wartościami i nagłówek ze wszystkimi oznaczeniami kolumn w podobnym formacie.

Znam tocsv module w Pythonie i jestem coraz bardziej zaznajomionypandas. Nie wiesz, czy te informacje mogą być sformatowane i zapisane w apandas dataframe a następnie napisane, używającto_csv do pliku po zakończeniu wszystkich ~ 2900 modeli regresji logistycznej; z pewnością byłoby dobrze. Również zapisywanie ich po zakończeniu każdego modelu jest również w porządku (przy użyciucsv module).

AKTUALIZACJA:

Szukałem więc więcej na stronie statsmodels, szczególnie próbując dowiedzieć się, jak wyniki modelu są przechowywane w klasach. Wygląda na to, że istnieje klasa o nazwie „Wyniki”, która będzie musiała zostać użyta. Myślę, że użycie dziedziczenia z tej klasy do stworzenia innej klasy, w której niektóre metody / operatory zostaną zmienione, może być dobrym rozwiązaniem, aby uzyskać wymagane formatowanie. Mam bardzo małe doświadczenie w tym zakresie i będę musiał poświęcić trochę czasu na to, aby to zrozumieć (co jest w porządku). Jeśli ktoś może pomóc / ma więcej doświadczenia, to byłoby niesamowite!

Oto strona, w której są ułożone klasy:klasa wyników statsmodels

questionAnswers(5)

yourAnswerToTheQuestion