Одна из возможностей - использовать взвешенные наименьшие квадраты в statsmodels
примерно
y - ответ или эндогенная переменная (endog
)
x - это ваша одномерная пояснительная переменная
чем больше вес, тем больше вес на этом наблюдении
для получения полиномиальной матрицы и подгонки
import numpy as np
import statsmodels.api as sm
exog = np.vander(x, degree+1)
result = sm.WLS(y, exog, weight=w).fit()
параметры в result.params
. Установленные значения в result.fittedvalues
Прогноз изменился между версиями. С версией 0.4 вы можете использовать
result.predict(np.vander(x_new, degree+1))