stats polyfit multiple linregress lineal example python scipy regression

polyfit - regression lineal python



RegresiĆ³n escalonada en Python (4)

Puede hacer una selección hacia adelante o hacia atrás según el modelo de statsmodels.api.OLS , como se muestra en esta respuesta .

Sin embargo, esta respuesta describe por qué no debería usar la selección por pasos para los modelos econométricos en primer lugar.

¿Cómo realizar una regresión por pasos en python ? Hay métodos para OLS en SCIPY pero no puedo hacerlo paso a paso. Cualquier ayuda en este sentido sería de gran ayuda. Gracias.

Edit: estoy tratando de construir un modelo de regresión lineal. Tengo 5 variables independientes y, al utilizar la regresión paso a paso, mi objetivo es seleccionar variables de modo que mi modelo tenga el valor p más bajo. El siguiente enlace explica el objetivo:

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

Gracias de nuevo.



Trevor Smith y yo escribimos una pequeña función de selección hacia adelante para regresión lineal con statsmodels: http://planspace.org/20150423-forward_selection_with_statsmodels/ Puede modificarla fácilmente para minimizar un valor p, o seleccionar en función de los valores p beta con solo Un poco más de trabajo.


"""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()

Usando el método de resumen, puede verificar en su núcleo los valores p de sus variables escritas como ''P> | t |''. A continuación, compruebe la variable con el valor p más alto. Supongamos que x3 tiene el valor más alto, por ejemplo, 0.956. Luego elimine esta columna de su matriz y repita todos los pasos.

X_opt = X[:,[0,1,3,4]] regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit() regressor_OLS.summary()

Repita estos métodos hasta que elimine todas las columnas que tengan un valor de p mayor que el valor de significación (por ejemplo, 0.05). Al final, su variable X_opt tendrá todas las variables óptimas con valores de p inferiores al nivel de significación.