【问题标题】:Multivariate polynomial regression多元多项式回归
【发布时间】:2018-09-11 22:45:03
【问题描述】:

我正在尝试在 python 中对我的数据进行多元多项式回归。我有 4 个自变量和 1 个因变量。我什至不确定从哪里开始。在过去的几天里,我浏览了很多博客,但并没有很清楚。大多数博客都是针对单变量数据的。是否有任何人可以指导我的好帖子,它解释了这个概念并有一个示例代码? 非常感谢任何帮助。

谢谢!

【问题讨论】:

  • 你能说得更清楚你的输入输出是什么吗?您是否有一个 m 因变量样本 xi[0],..,x[3] 的数据集以及您希望拟合多元多项式模型的因变量 m 样本 yi 的相应数据集(即,您的输出是拟合多项式的系数)?还是您的问题不同?

标签: python regression multivariate-testing


【解决方案1】:

scipy 在这里得到了一个很好的解决方案 https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html

def defa(x, a,b,c,d):
    return a*b*c*d # the form for regresion you want to do
var1, var2 = scipy.optimize.curve_fit(defa,[x cordinates],[y cordinates])
print(var1)
# your a b c and d will ne printed out in order

顺便说一句,如果你是第一次安装 scipy,你应该知道 scipy 还需要你有 numpy :)

f.x.

import numpy as np
from scipy.optimize import curve_fit

def defa(x,a,b,c,d,e):
    return a**2+b**3+c**4+d**5+e
print(curve_fit(defa,range(1000),range(1000)))

输出:

(array([9.32720415, 4.0480121, 3.12719445, 2.49008364, 154.80388797]),array([...]))

这意味着

a = 9.32720415
b = 4.0480121
c = 3.12719445
d = 2.49008364
e = 154.80388797

【讨论】:

    猜你喜欢
    • 2018-12-19
    • 2021-07-07
    • 2018-10-19
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多