2010-05-09 1 views

ответ

3

Да, скачать этот (http://www.scipy.org/Cookbook/OLS?action=AttachFile&do=get&target=ols.0.2.py) от http://www.scipy.org/Cookbook/OLS

Или вы можете установить R и ссылку python-R. R может сделать ничего.

+0

В настоящее время я использую R, но я рассматривал возможность вычисления только python для удобства обмена. – djq

+0

Это не работает (я изменил его, чтобы он соответствовал Python 3, поэтому он запускается, но самый первый тест разбил интерпретатор Python без сообщения об ошибке). Кто-нибудь знает, как его обновить? – max

1

Возможно, вы захотите изучить функцию scipy.optimize.leastsq. Это довольно сложно, но я, кажется, помню, что это то, на что я хотел бы обратить внимание, когда хотел сделать многомерный регресс. (Это было какое-то время, так что я мог бы забыть)

2

Веб-страница, на которую вы ссылались, упоминает numpy.linalg.lstsq, чтобы найти вектор x , который сводит к минимуму |b - Ax|. Вот несколько примеров того, как он может быть использован:

Сначала мы установки некоторые «случайные» данные:

import numpy as np 
c1,c2 = 5.0,2.0 
x = np.arange(1,11)/10.0 
y = c1*np.exp(-x)+c2*x 
b = y + 0.01*max(y)*np.random.randn(len(y)) 
A = np.column_stack((np.exp(-x),x)) 
c,resid,rank,sigma = np.linalg.lstsq(A,b) 
print(c) 
# [ 4.96579654 2.03913202]