2016-11-22 4 views
1

Как я понял, уравнение регрессии можно рассчитать с помощью этой функции:полиномиальная регрессия модель питона

import statsmodels.formula.api as smf 
fg = smf.ols(formula='X ~ Y', data=data).fit() 

можно вычислить из Numpy функции polyfit.

numpy.polyfit(x, y, degree) 

как мы можем изменить степень в numpy polyfit.

В МНК функции можно также добавить другие независимые переменные, как указано ниже:

fg = smf.ols(formula='X ~ Y+Y1+Y2', data=data).fit() 

Так что мой вопрос, мы можем изменить заказ/степень прилегания в функции олы? или мы можем добавить еще одну независимую переменную в numpy polyfit?

ответ

2

В случае характеристики statsmodels, которую вы упомянули, формулы указаны с использованием языка patcy (см. http://patsy.readthedocs.io/en/latest/). Таким образом, например, этот первый вызов, который вы использовали, мог бы быть следующим.

fg = smf.ols(formula='X ~ Y + Y**2', data=data).fit() 

или

fg = smf.ols(formula='X ~ log(Y)', data=data).fit() 
+0

Таким образом, мы не можем добавить еще независимые переменные в МНК? я прав?. Если я хочу изменить порядок от 1 до 2 или 3. – bikuser

+0

Конечно, вы можете. См. Http://statsmodels.sourceforge.net/devel/example_formulas.html. Я намеревался спросить, что вы подразумеваете под порядком? –

+0

Я имею в виду порядок (или степень) 1 для линейных, порядок 2 для квадратичного, порядок 3 - кубический и т. Д. – bikuser

Смежные вопросы