簡體   English   中英

Python OLS計算

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM