Получение полезных значений из 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(),

Это нормально? Я делаю что-то неправильно? Или есть конкретный способ сделать их полезными?

0 ответов

Другие вопросы по тегам