Python 2.7 - Statistikmodelle - Formatieren und Schreiben von Zusammenfassungsausgaben

Ich mache logistische Regression mitpandas 0.11.0(Datenverarbeitung) undstatsmodels 0.4.3 Um die eigentliche Regression durchzuführen, verwenden Sie Mac OSX Lion.

Ich werde ~ 2.900 verschiedene logistische Regressionsmodelle ausführen und die Ergebnisse in eine CSV-Datei ausgeben und auf eine bestimmte Weise formatieren.

Momentan bin ich mir nur dessen bewusstprint result.summary() Dadurch werden die Ergebnisse (wie folgt) in der Shell ausgegeben:

 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
 ===============================================================================

Ich brauche auch die Odds Ratio, die von berechnet wirdprint np.exp(result.params)und wird in der Shell als solche gedruckt:

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

Was ich brauche, ist, dass diese jeweils in Form einer sehr langen Reihe in eine CSV-Datei geschrieben werden (ich bin nicht sicher, ob ich an dieser Stelle Dinge wie benötigen werdeLog-Likelihood, haben es aber der Gründlichkeit halber aufgenommen):

`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`

Ich denke, Sie erhalten das Bild - eine sehr lange Zeile mit all diesen tatsächlichen Werten und eine Überschrift mit allen Spaltenbezeichnungen in einem ähnlichen Format.

Ich bin vertraut mit demcsv module in Python, und werde immer vertrauter mitpandas. Ich bin nicht sicher, ob diese Informationen formatiert und in einer Datei gespeichert werden könnenpandas dataframe und dann geschrieben, mitto_csv in eine Datei, wenn alle ~ 2.900 logistischen Regressionsmodelle abgeschlossen sind; das wäre sicher in ordnung. Es ist auch in Ordnung, sie zu schreiben, wenn jedes Modell fertig ist (mitcsv module).

AKTUALISIEREN:

Ich habe mir also mehr die Website statsmodels angesehen und speziell versucht, herauszufinden, wie die Ergebnisse eines Modells in Klassen gespeichert werden. Es sieht so aus, als gäbe es eine Klasse namens 'Results', die verwendet werden muss. Ich denke, Vererbung von dieser Klasse zu verwenden, um eine andere Klasse zu erstellen, in der einige der Methoden / Operatoren geändert werden, könnte der richtige Weg sein, um die von mir benötigte Formatierung zu erhalten. Ich habe sehr wenig Erfahrung in der Art und Weise, wie das gemacht wird, und ich werde eine Menge Zeit darauf verwenden müssen, dies herauszufinden (was in Ordnung ist). Wenn jemand helfen kann / mehr Erfahrung hat, wäre das großartig!

Hier ist der Ort, an dem die Klassen angelegt sind:statsmodels resultiert klasse

Antworten auf die Frage(5)

Ihre Antwort auf die Frage