pandas 0.11.0
(データ処理)を使用してロジスティック回帰を行ってstatsmodels 0.4.3
おり、Mac OSX Lionで実際の回帰を行っています。
~2,900 の異なるロジスティック回帰モデルを実行し、結果を csv ファイルに出力し、特定の方法でフォーマットする必要があります。
現在、私はprint result.summary()
(次のように)結果をシェルに出力することだけを認識しています:
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
===============================================================================
print np.exp(result.params)
によって計算され、シェルに次のように出力されるオッズ比も必要です。
age_age5064 0.818842
age_age6574 0.774648
sex_female 0.777667
stage_early 0.832098
access 0.989859
dtype: float64
私が必要とするのは、これらのそれぞれが次のような非常に長い行の形式で csv ファイルに書き込まれることです (この時点では、次のようなものが必要かどうかはわかりませんがLog-Likelihood
、完全を期すためにそれを含めました):
`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`
これらの実際の値がすべて含まれる非常に長い行と、同様の形式のすべての列指定を含むヘッダーが表示されます。
私はcsv module
Python の に精通しており、さらに に慣れてきていpandas
ます。~2,900 のロジスティック回帰モデルがすべて完了したら、この情報をフォーマットしてファイルに保存し、ファイルpandas dataframe
に書き込むことができるかどうかはわかりません。to_csv
それは確かにいいでしょう。また、各モデルが完成するごとに書いても構いません( を使用csv module
)。
アップデート:
そのため、statsmodels サイトを詳しく調べていました。具体的には、モデルの結果がクラス内にどのように格納されているかを把握しようとしていました。「Results」というクラスがあり、これを使用する必要があるようです。このクラスからの継承を使用して別のクラスを作成すると、必要なフォーマットを取得するために、メソッド/演算子の一部が変更される可能性があります。私はこれを行う方法についてほとんど経験がなく、これを理解するのにかなりの時間を費やす必要があります (これは問題ありません)。誰かが助けてくれる/経験があれば、それは素晴らしいことです!
クラスが配置されているサイトは次のとおりです: statsmodels results class