2013-04-03 51 views
1

我具有問題醇類來調節方程式 計算y = b + B X + B X錯誤 - 重回歸OLS類

代碼:

xs = numpy.loadtxt('teste.csv', skiprows=1, dtype=float, delimiter=';', 
    usecols=(0,1)) 

y = log(xs[:,0]) 
x = 1/xs[:,1] 
x2 = (1/xs[:,1])**2 

mymodel = ols.ols(y,x,'y',['x1', 'x2']) 
mymodel.summary()` 

我得到這個錯誤:

print '''% -5s   % -5.6f  % -5.6f  % -5.6f  % -5.6f''' % tuple([self.x_varnm[i],self.b[i],self.se[i],self.t[i],self.p[i]]) 
IndexError: index out of bounds 

有人可以幫我嗎?

回答

1

嘗試定義您的x爲:

x = 1/xs[:,1:2] # slice to keep (n, 1) shape 
x2 = (1/xs[:,1:2])**2 
x = np.hstack((x, x2)) 

你告訴ols期待一個兩列的矩陣x,但在通過一個單一的一個,因此錯誤。

+0

或'x = 1/xs [:,1,np.newaxis]'這對我來說看起來不像是一個錯誤。 'x [1:2]'是我會回頭改變舊的代碼:P – askewchan 2013-04-03 21:09:01

+0

它的工作原理!謝謝Jaime! – 2013-04-04 11:17:32