Statsmodel

Statsmodel

Linear Regression

import statsmodels.api as sm
result = sm.OLS(y, X).fit()
result.summary()

VIF

from statsmodels.stats.outliers_influence import variance_inflation_factor
[variance_inflation_factor(X, i) for i in range(1, X.shape[1])]

BP test

sms.het_breuschpagan(result.resid, result.model.exog)