python 中的多项式回归模型
polynomial regression model in python
据我了解,可以通过以下函数计算回归方程:
import statsmodels.formula.api as smf
fg = smf.ols(formula='X ~ Y', data=data).fit()
我们也可以通过 numpy polyfit 函数进行计算。
numpy.polyfit(x, y, degree)
因为我们可以在 numpy polyfit 中改变度数。
在 ols 函数中,我们还可以添加其他自变量,如下所示:
fg = smf.ols(formula='X ~ Y+Y1+Y2', data=data).fit()
所以我的问题是我们可以更改 ols 函数中 fit 的 order/degree 吗?
或者我们可以在 numpy polyfit 函数中添加另一个自变量吗?
就您提到的 statsmodels 能力而言,公式是使用 patsy 语言指定的(请参阅 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()
据我了解,可以通过以下函数计算回归方程:
import statsmodels.formula.api as smf
fg = smf.ols(formula='X ~ Y', data=data).fit()
我们也可以通过 numpy polyfit 函数进行计算。
numpy.polyfit(x, y, degree)
因为我们可以在 numpy polyfit 中改变度数。
在 ols 函数中,我们还可以添加其他自变量,如下所示:
fg = smf.ols(formula='X ~ Y+Y1+Y2', data=data).fit()
所以我的问题是我们可以更改 ols 函数中 fit 的 order/degree 吗? 或者我们可以在 numpy polyfit 函数中添加另一个自变量吗?
就您提到的 statsmodels 能力而言,公式是使用 patsy 语言指定的(请参阅 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()