El código es:







El resultado de ejecutar el código anterior es:



El código es:







El resultado de ejecutar el código anterior es:



Hola, Andrés, espero que estés bien
Parece que estás trabajando en ajustar un modelo de regresión lineal para una planta de energía y estás en el proceso de verificar multicolinealidad y heterocedasticidad. Aquí tienes algunos pasos que podrías seguir para avanzar con tu análisis:
Calcular el VIF (Factor de Inflación de la Varianza):
Puedes calcular el VIF para cada variable independiente. Un VIF superior a 5 o 10 indica multicolinealidad.
vif_data = pd.DataFrame()
vif_data["Variable"] = X.columns
vif_data["VIF"] = [variance_inflation_factor(X_const.values, i) for i in range(X_const.shape[1])]
print(vif_data)
Si encuentras multicolinealidad, considera eliminar o combinar variables.
Realizar el Test de Breusch-Pagan:
Este test te ayudará a identificar la presencia de heterocedasticidad.
_, pval, _, _ = het_breuschpagan(modelo.resid, modelo.model.exog)
print('p-value:', pval)
Un p-valor menor a 0.05 indicaría heterocedasticidad.
Visualizar los Residuos:
Puedes graficar los residuos para observar cualquier patrón.
plt.scatter(modelo.fittedvalues, modelo.resid)
plt.xlabel('Valores Ajustados')
plt.ylabel('Residuos')
plt.title('Residuos vs Valores Ajustados')
plt.show()
Si encuentras heterocedasticidad, podrías considerar transformar las variables o utilizar modelos robustos.
Espero que estos pasos te sean útiles para avanzar en tu análisis. ¡Espero haber ayudado y buenos estudios!