2013-03-15 3 views
20

So führen Sie schrittweise Regression in Python? Es gibt Methoden für OLS in SCIPY, aber ich kann das nicht schrittweise tun. Jede Hilfe in dieser Hinsicht wäre eine große Hilfe. Vielen Dank.Schrittweise Regression in Python

Edit: Ich versuche ein lineares Regressionsmodell zu erstellen. Ich habe 5 unabhängige Variablen und mit der schrittweisen Vorwärtsregression ziele ich darauf, Variablen auszuwählen, so dass mein Modell den niedrigsten p-Wert hat. Folgender Link erklärt das Ziel:

https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CEAQFjAD&url=http%3A%2F%2Fbusiness.fullerton.edu%2Fisds%2Fjlawrence%2FStat-On-Line%2FExcel%2520Notes%2FExcel%2520Notes%2520-%2520STEPWISE%2520REGRESSION.doc&ei=YjKsUZzXHoPwrQfGs4GQCg&usg=AFQjCNGDaQ7qRhyBaQCmLeO4OD2RVkUhzw&bvm=bv.47244034,d.bmk

Nochmals vielen Dank.

+3

'scikits.learn' hat LARS/Lasso, wenn das von Nutzen ist: http://scikit-learn.org/dev/modules/linear_model.html#lars-lasso – NPE

+0

Können Sie näher erläutern, welche Art von Kriterien Sie haben Möchten Sie für die Auswahl der prädiktiven Variablen verwenden? Und wenn Sie ein Beispiel möchten, können Sie einige Beispieldaten bekanntgeben oder verknüpfen? – BKay

+0

Es ist nicht ratsam, ein Modell auf p-Werten zu basieren. Sie sind eher eine Plausibilitätsprüfung und andere Kriterien wie AIC oder BIC sind geeigneter. –

Antwort

0
"""Importing the api class from statsmodels""" 
import statsmodels.formula.api as sm 

"""X_opt variable has all the columns of independent variables of matrix X 
in this case we have 5 independent variables""" 
X_opt = X[:,[0,1,2,3,4]] 

"""Running the OLS method on X_opt and storing results in regressor_OLS""" 
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit() 
regressor_OLS.summary() 

die Zusammenfassung Methode verwenden, können Sie die p-Werte Ihrer Variablen in Ihrem Kernel überprüfen als 'P> | t |' geschrieben. Dann prüfen Sie die Variable mit dem höchsten p Wert. Angenommen, x3 hat den höchsten Wert, z. B. 0,956. Dann entfernen Sie diese Spalte aus Ihrem Array und wiederholen Sie alle Schritte.

Wiederholen Sie diese Methoden, bis Sie alle Spalten entfernen, deren p-Wert höher ist als der Signifikanzwert (z. B. 0,05). Am Ende wird Ihre Variable X_opt alle optimalen Variablen mit p Werten kleiner als Signifikanzniveau haben.

0

Sie können die Vorwärts-Rückwärts-Auswahl basierend auf dem Modell statsmodels.api.OLS vornehmen, wie gezeigt in this answer.

this answer beschreibt jedoch, warum Sie die schrittweise Auswahl für ökonometrische Modelle überhaupt nicht verwenden sollten.