2013-08-27 29 views
2

說我有預測器陣列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

+0

'y'與'x'的關係如何,形式如下:'y = ax + b'? –

回答

0

我想通scikit-learn就已經做到了這一點,所以我看着source code,發現他們使用scipy.linalg.lstsq(見線379)。

根據the docsscipy版本lstsq確實接受矩陣作爲b參數。 (其實numpy version也接受矩陣值。)

也許這些是你在找什麼?

+0

是的,我做了類似的事情:使用'numpy.linalg.lstsq' ...問題是這個缺少p值和可能性的計算。我想在scikit-learn中線性迴歸的包裝應該更新以支持將來的多個輸出 –