Получение полезных значений из statsmodels WLS
Я использую регрессию взвешенных наименьших квадратов statsmodels, но получаю некоторые действительно огромные значения.
Вот мой код:
X = np.array([[1,2,3],[1,2,3],[4,5,6],[1,2,3],[4,5,6],[1,2,3],[1,2,3],[4,5,6],[4,5,6],[1,2,3]])
y = np.array([1, 1, 0, 1, 0, 1, 1, 0, 0, 1])
w = np.array([0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])
temp_g = sm.WLS(y, X, w).fit()
Теперь я понимаю, что в регрессии WLS, как и в любой задаче линейной регрессии, мы предоставляем вектор эндог и вектор экзог, и функция может найти линию наилучшего соответствия и сообщить нам, какие параметры коэффициентов / регрессии для каждого наблюдение должно быть. Например, в моих данных, где каждое наблюдение состоит из 3 признаков, я ожидаю, что будет 3 параметра.
Поэтому я получаю их так:
parameters = temp_g.params # I'm hoping I've got this right! Or do I need to use "fittedvalues" instead?
Проблема в том, что я получаю действительно огромные значения, как это:
temp g params :
[ -7.66645036e+198 -9.01935337e+197 5.86257969e+198]
или это:
temp g params :
[-2.77777778 -0.44444444 1.88888889]
Что создает проблемы при дальнейшем использовании этих параметров, тем более что у меня есть несколько показателей для работы, и мне нужно поднять e
в силу некоторых параметров регрессии, что оказывается невозможным, учитывая такие большие числа. Потому что я получаю ошибки переполнения при использовании exp()
,
Это нормально? Я делаю что-то неправильно? Или есть конкретный способ сделать их полезными?