2017-07-25 3 views
1

J'utilise des pandas et des statsmodels pour effectuer une régression linéaire. Cependant, je ne trouve aucun moyen de lire les résultats. les résultats sont affichés mais j'ai besoin de faire d'autres calculs en utilisant les valeurs coef. existe-t-il un moyen possible de stocker les valeurs coef dans une nouvelle variable?Lecture de la valeur de coef à partir des résultats de la régression OLS

import statsmodels.api as sm 
import numpy 
ones = numpy.ones(len(x[0])) 
t = sm.add_constant(numpy.column_stack((x[0], ones))) 
for m in x[1:]: 
    t = sm.add_constant(numpy.column_stack((m, t))) 
results = sm.OLS(y, t).fit() 

This is the image of the results

Répondre

2

Selon le docs, une instance de RegressionResults est retourné.

Vous pouvez voir tous les attributs disponibles.

Peut-être vous êtes intéressé par:

params

Les coefficients linéaires qui réduisent au minimum le critère des moindres carrés. Ceci est généralement appelé Beta pour le modèle linéaire classique.

Exemple:

model = sm.OLS(Y,X) 
results = model.fit() 
print(results.params) 
+1

'' 'Il n'a pas help''' est presque inutile. Peut-être que vous voulez expliquer quel est le problème. – sascha

+1

il y avait un problème avec numpy car j'ai oublié d'inverser tout (np) à numpy. Pardon. Votre réponse est correcte et cela a résolu le problème. – HussainBiedouh

+1

results.params est la réponse, voici d'autres exemples http://www.statsmodels.org/dev/examples/notebooks/generated/ols.html – HussainBiedouh