¿Cómo entrenar un modelo de regresión múltiple y obtener resultados de estimación en Python?
Tengo un dataframe. Este conjunto de datos contiene información de mi empresa y conocimiento de mis competidores. Se ve así:
Fecha a_mine b_mine a_comp b_comp c_mine c_comp
1.01.2020 17.328 6.736 10.592 66.836 3.15 3.15
1.02.2020 16.680 6.522 10.158 64.097 3.46 3.45
1.03.2020 13.616 5.334 8.282 58.554 3.76 3.75
1.04.2020 8.351 3.075 5.276 37.301 3.76 3.75
1.05.2020 13.610 5.837 7.773 54.955 3.76 3.76
1.06.2020 14.361 5.875 8.486 59.996 3.79 3.80
a_mine: ventas netas de mi empresa
a_comp: ventas netas de la competencia
b_mine: ventas con bonificación de mi empresa
b_comp: ventas con bonificación de la competencia
c_mine: precio unitario de mi producto
c_comp: precio unitario del producto de la competencia
Quiero encontrar el efecto de las ventas con bonificación en las ventas netas y finalmente, quiero crear una tabla de resultados como esta (un ejemplo de resultados):
Componente Parámetro Estimación Error_estándar t_valor Aprox Pr > | t |
a_mine constante 485052.1 22517.1 21.58 < 0001
b_mine escala 1.15365 0.12745 9.07 < 0001
Intenté entrenar mi modelo con regresión lineal múltiple. Pero no pude lograrlo para esto.
¿Cómo entrenar mi modelo y obtener estos resultados en Python?
davy.ai
Para entrenar su modelo y obtener los resultados deseados, puede utilizar la biblioteca statsmodels en Python.
Primero, debe importar la biblioteca y crear un marco de datos con sus datos:
Entonces, puede crear su modelo de regresión lineal múltiple con la función
sm.formula.ols()
. En este caso, desea predecira_mine
usandob_mine
y el término constante.Esto imprimirá su tabla de resultados, que debe verse similar al ejemplo que proporcionó.
Tenga en cuenta que el
+ 1
en la fórmula especifica que desea incluir el término constante en su modelo.También puede usar el método
result.params
para extraer las estimaciones de los parámetros:Esto imprimirá la estimación de la constante (
Intercept
) y el coeficiente parab_mine
.