[英]Python OLS calculation
有沒有好的庫來計算python中的線性最小二乘OLS(普通最小二乘法)?
謝謝。
編輯:
感謝SciKits和Scipy。 @ars:X可以是矩陣嗎? 一個例子:
y(1) = a(1)*x(11) + a(2)*x(12) + a(3)*x(13)
y(2) = a(1)*x(21) + a(2)*x(22) + a(3)*x(23)
...........................................
y(n) = a(1)*x(n1) = a(2)*x(n2) + a(3)*x(n3)
那么如何在示例中傳遞Y和X矩陣的參數?
另外,我沒有太多的代數背景,如果你們能讓我知道這個問題的好教程,我將不勝感激。
非常感謝。
試試statsmodels包。 這是一個簡單的例子:
import pylab
import numpy as np
import statsmodels.api as sm
x = np.arange(-10, 10)
y = 2*x + np.random.normal(size=len(x))
# model matrix with intercept
X = sm.add_constant(x)
# least squares fit
model = sm.OLS(y, X)
fit = model.fit()
print fit.summary()
pylab.scatter(x, y)
pylab.plot(x, fit.fittedvalues)
更新響應更新的問題,是的,它適用於矩陣。 請注意,上面的代碼具有數組形式的x
數據,但我們構建了一個矩陣X
(大寫X)以傳遞給OLS
。 add_constant
函數只是構建矩陣,第一列初始化為攔截的列。 在您的情況下,您只需傳遞X
矩陣而無需中間步驟,它就可以工作。
你看過SciPy嗎? 我不知道是不是這樣,但我想它會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.