是否可以使用 NumPy 在 Python 中执行多变量回归?
此处的文档表明确实如此,但我找不到有关该主题的更多详细信息。
是的,从http://www.scipy.org/Cookbook/OLS下载这个( http://www.scipy.org/Cookbook/OLS?action=AttachFile&do=get&target=ols.0.2.py)
或者您可以安装 R 和 python-R 链接。R 可以做任何事情。
您链接到的网页提到numpy.linalg.lstsq以找到最小化的向量 x |b - Ax|
。这是一个如何使用它的小例子:
首先我们设置一些“随机”数据:
import numpy as np
c1,c2 = 5.0,2.0
x = np.arange(1,11)/10.0
y = c1*np.exp(-x)+c2*x
b = y + 0.01*max(y)*np.random.randn(len(y))
A = np.column_stack((np.exp(-x),x))
c,resid,rank,sigma = np.linalg.lstsq(A,b)
print(c)
# [ 4.96579654 2.03913202]
您可能想查看该scipy.optimize.leastsq
功能。这相当复杂,但我似乎记得当我想做多元回归时,我会考虑这样做。(时间久了,可能记错了)