我有问题用ols类调整等式 y = b 0 + b 1 x 1 + b 2 x 2
代码:
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
有人可以帮助我吗?
答案 0 :(得分: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
有两个列矩阵,但正在传递一个,因此错误。