Ich möchte mehrere Spezifikationen einer linearen Regression durchlaufen und die Ergebnisse für jedes Modell in einem Python-Wörterbuch speichern. Der folgende Code ist etwas erfolgreich, aber zusätzlicher Text (z. B. Datentypinformationen) ist in dem Wörterbuch enthalten, wodurch es unlesbar wird. Was das Konfidenzintervall angeht, hätte ich gerne zwei separate Spalten - eine für die obere und eine für die untere -, aber das kann ich nicht.Wie kann ich die Ausgabe besser formatieren, die ich vor mehreren Regressionen speichern möchte?
Code:
import patsy
import statsmodels.api as sm
from collections import defaultdict
colleges = ['ARC_g',u'CCSF_g',u'DAC_g',u'DVC_g',u'LC_g',u'NVC_g',u'SAC_g', u'SRJC_g',u'SC_g',u'SCC_g']
results = defaultdict(lambda: defaultdict(int))
for exog in colleges:
exog = exog.encode('ascii')
f1 = 'GRADE_PT_103 ~ %s -1' % exog
y,X = patsy.dmatrices(f1, data,return_type='dataframe')
mod = sm.OLS(y, X) # Describe model
res = mod.fit() # Fit model
results[exog]['beta'] = res.params
#I'd like the confidence interval to be separated into two columns ('upper' and 'lower')
results[exog]['CI'] = res.conf_int()
results[exog]['rsq'] = res.rsquared
pd.DataFrame(results)
______Current Ausgang
ARC_g | CCSF_g | ...
beta | ARC_g 0.79304 dtype: float64 | CCSF_g 0.833644 dtype: float64
CI | 0 1 ARC_g 0.557422 1.0... 0 1| CCSF_g 0.655746 1...
rsq | 0.122551 | 0.213053
Der Titel hat sehr wenig mit der Codierung Problem - Sie eine Formatierung Problem. – Merlin
Das stimmt. Ich habe den Titel bearbeitet. –