Prédiction des valeurs à l'aide d'un modèle OLS avec statsmodels
J'ai calculé un modèle à l'aide des moindres carrés ordinaires (régression linéaire multiple). J'ai divisé mes données pour l'apprentissage et le test (la moitié de chaque), et puis je tiens à prédire les valeurs pour le 2ème semestre de les étiquettes.
model = OLS(labels[:half], data[:half])
predictions = model.predict(data[half:])
Le problème est que je reçois et de l'erreur:
Fichier "/usr/local/lib/python2.7/dist-packages/statsmodels-0.5.0-py2.7-linux-i686.egg/statsmodels/regression/linear_model.py"de ligne, 281, dans le prédire
retour np.point(exog, params)
ValueError: matrices ne sont pas alignés
J'ai le tableau suivant les formes:
les données.la forme: (426, 215)
les étiquettes.la forme: (426,)
Si je transpose l'entrée de modèle.prédire, j'obtiens un résultat, mais avec une forme de (426,213), donc je suppose que c'est mal (je m'attends à un vecteur de 213 numéros d'étiquette de prédictions):
model.predict(data[half:].T)
Aucune idée de comment le faire fonctionner?
OriginalL'auteur nickb | 2012-11-04
Vous devez vous connecter pour publier un commentaire.
Pour statsmodels >=0.4, si je me souviens bien
model.predict
ne pas en savoir plus sur les paramètres, et exige d'eux dans l'appelvoir http://statsmodels.sourceforge.net/stable/generated/statsmodels.regression.linear_model.OLS.predict.html
Ce qui devrait fonctionner dans votre cas est de l'ajustement du modèle et ensuite utiliser le prédire la méthode des résultats de l'instance.
ou plus courte
http://statsmodels.sourceforge.net/stable/generated/statsmodels.regression.linear_model.RegressionResults.predict.html manque de docstring
Remarque: ce qui a été modifié dans la version de développement (rétro-compatible), qui peuvent profiter de la "formule" de l'information à prévoir
http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.RegressionResults.predict.html
OriginalL'auteur Josef