Python 2.7 - statsmodels - formatando e escrevendo a saída de resumo

Eu estou fazendo regressão logística usandopandas 0.11.0(manipulação de dados) estatsmodels 0.4.3 para fazer a regressão real, no Mac OSX Lion.

Eu vou estar executando ~ 2.900 modelos de regressão logística diferentes e preciso da saída dos resultados para o arquivo csv e formatado de uma maneira particular.

Atualmente, só estou ciente de fazerprint result.summary() que imprime os resultados (como segue) para o shell:

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

Eu também precisarei do odds ratio, que é calculado porprint np.exp(result.params)e é impresso no shell como tal:

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

O que eu preciso é que cada um seja escrito em um arquivo csv em forma de uma linha muito longa como (não tenho certeza, neste momento, se eu vou precisar de coisas comoLog-Likelihood, mas incluiu por uma questão de meticulosidade):

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

Eu acho que você começa a foto - uma linha muito longa, com todos esses valores reais, e um cabeçalho com todas as designações de coluna em um formato similar.

Estou familiarizado com ocsv module em Python, e estou me tornando mais familiarizado compandas. Não tenho certeza se essa informação pode ser formatada e armazenada em umpandas dataframe e depois escrito, usandoto_csv para um arquivo uma vez que todos os 2.900 modelos de regressão logística tenham sido concluídos; isso certamente estaria bem. Além disso, escrevê-los como cada modelo é concluído também é bom (usandocsv module).

ATUALIZAR:

Então, eu estava procurando mais no site statsmodels, especificamente tentando descobrir como os resultados de um modelo são armazenados dentro das classes. Parece que existe uma classe chamada 'Resultados', que precisará ser usada. Eu acho que usar a herança dessa classe para criar outra classe, onde alguns dos métodos / operadores são alterados, pode ser o caminho a percorrer, a fim de obter a formatação que eu preciso. Eu tenho muito pouca experiência nas maneiras de fazer isso, e preciso gastar um pouco de tempo para descobrir isso (o que é bom). Se alguém pode ajudar / tem mais experiência que seria incrível!

Aqui está o site onde as classes são apresentadas:classe de resultados statsmodels

questionAnswers(5)

yourAnswerToTheQuestion