python中多个输出的有效回归

时间:2013-08-27 18:10:04

标签: python numpy scipy regression

假设我有预测变量数组x=numpy.array(n,px)和预测数组y=numpy.array(n, py) 在python中计算从x到y(1 ... py)的每个维度的所有回归(线性)的最佳方法是什么? 整个事物的输出将是矩阵(py,px)(对于每个输出,px参数)。

我当然可以轻松地迭代输出维度(对于每个计算正常单输出多变量输入OLS),但是这将是低效的,因为我将重新计算x的伪逆矩阵。

那里有没有有效的实施? 找不到任何(http://wiki.scipy.org/Cookbook/OLS

2 个答案:

答案 0 :(得分:0)

我认为scikit-learn已经这样做了,所以我查看了source code并发现他们使用scipy.linalg.lstsq(见第379行)。

根据the docsscipylstsq确实接受矩阵作为b参数。 (实际上numpy version也接受矩阵值。)

也许这些是你在找什么?

答案 1 :(得分:0)

sklearn.linear_model.LinearRegression的fit()方法接受多目标输出,因此现在在sklearn中本地处理。只需使用二维数组作为形状的拟合(X,y)的y值(n_samples,n_targets)。