Ejemplo de python scipy.odrpack.odr (con entrada / salida de muestra)?

Soy un usuario satisfecho de scipy.optimize.leastsq .

Ahora tengo – realmente siempre he tenido – datos x, y con barras de error variables, y parece que scipy.odrpack.odr es lo que necesito usar para respetar la mayor incertidumbre en algunos de los datos.

Desafortunadamente, no puedo encontrar un tutorial en línea que incluya código de muestra con entrada y salida de muestra. (Estoy tratando de hacer esto lo más fácil posible).

Apreciaría si alguien pudiera publicar un código de muestra con E / S de muestra. Esto sería fácil para alguien que usa mucho la rutina.

¡Gracias! Cuenta

Esta es una versión completa del ejemplo en los documentos :

 import numpy as np import scipy.odr.odrpack as odrpack np.random.seed(1) N = 100 x = np.linspace(0,10,N) y = 3*x - 1 + np.random.random(N) sx = np.random.random(N) sy = np.random.random(N) def f(B, x): return B[0]*x + B[1] linear = odrpack.Model(f) # mydata = odrpack.Data(x, y, wd=1./np.power(sx,2), we=1./np.power(sy,2)) mydata = odrpack.RealData(x, y, sx=sx, sy=sy) myodr = odrpack.ODR(mydata, linear, beta0=[1., 2.]) myoutput = myodr.run() myoutput.pprint() # Beta: [ 3.02012862 -0.63168734] # Beta Std Error: [ 0.01188347 0.05616458] # Beta Covariance: [[ 0.00067276 -0.00267082] # [-0.00267082 0.01502792]] # Residual Variance: 0.209906660703 # Inverse Condition #: 0.105981202542 # Reason(s) for Halting: # Sum of squares convergence