【问题标题】:polynomial regression model in pythonpython中的多项式回归模型
【发布时间】:2017-04-06 09:11:20
【问题描述】:

据我了解,回归方程可以通过以下函数计算:

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 函数的拟合顺序/程度吗? 或者我们可以在 numpy polyfit 函数中添加另一个自变量吗?

【问题讨论】:

    标签: python numpy statistics statsmodels


    【解决方案1】:

    在您提到的 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()
    

    【讨论】:

    • 所以我们不能在ols中添加另一个自变量?我对么?。如果我想将订单从 1 更改为 2 或 3。
    • 当然可以。见statsmodels.sourceforge.net/devel/example_formulas.html。我想问,你说的顺序是什么意思?
    • 我的意思是阶数(或度数)1 是线性的,阶数 2 是二次的,阶数 3 是三次的,依此类推..
    • 是的,您可以拥有,例如:X ~ Y1**2 + Y2 + Y3**2。是这个意思吗?
    • 对不起,我没看懂..所以这里:X ~ Y12 + Y2 + Y32 表示 Y1、Y2 和 Y3 是具有 X 的 2 度多项式函数的三个自变量?
    猜你喜欢
    • 2018-12-19
    • 1970-01-01
    • 2021-01-28
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 2021-06-17
    相关资源
    最近更新 更多