在Python中使用NumPy进行多元回归?

1 投票
3 回答
7613 浏览
提问于 2025-04-15 22:31

在Python中,使用NumPy进行多变量回归是否可行?

文档这里提到可以这样做,但我找不到更多的具体信息。

3 个回答

1

你可以看看这个 scipy.optimize.leastsq 函数。这个函数有点复杂,但我记得当我想做多变量回归的时候会用到它。(不过我记得的时间有点久了,可能记错了)

2

你链接的网页提到了 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]
3

是的,下载这个文件( http://www.scipy.org/Cookbook/OLS?action=AttachFile&do=get&target=ols.0.2.py )从 http://www.scipy.org/Cookbook/OLS

或者你可以安装R语言,并且使用一个Python和R的连接工具。R语言可以做很多事情。

撰写回答