[SciPy-user] Estimation of parameters while fitting data

Doreen Mbabazi doreen at aims.ac.za
Mon Mar 31 16:09:01 EDT 2008


Hi,

Thanks, I tried to do that(by taking err = V-f(y,t,p)[2]) while defining
the function residuals but the trouble is that actually f(y,t,p)
calculates value of y at t0 so it cannot help me. What I want are the
third values from y(y[i][2]). Below I have tried to do that but that gives
particular values of y so my parameters are not optimized.

def residuals(p, V, t):
     """The function is used to calculate the residuals
     """
     for i in range(len(t)):
         err = V-y[i][2]
         return err

#Function defined with y[0]=T,y[1]=T*,y[2] = V,lamda = p[0],d = p[1],
k=p[2],delta=p[3], pi = p[4], c = p[5]
initial_y = [10,0,10e-6] # initial conditions T(0)= 10cells , T*(0)=0,
V(0)=10e-6

p is the list of parameters that are being estimated (lamda,d,k,delta,pi,c)
def f(y,t,p):
    y_dot = [0,0,0]
    y_dot[0] = p[0] - p[1]*y[0] - p[2]*y[0]*y[2]
    y_dot[1] = p[2]*y[0]*y[2] - p[3]*y[1]
    y_dot[2] = p[4]*y[1] - p[5]*y[2]
    return y_dot

y = odeint(f,initial_y,t,args=(p,))

Doreen

Gabriel Gellner
>> I have as my fitting function a system of differential equations(3) and
>> I
>> am supposed to get the optimal parameters to use by fitting data to this
>> system. I tried to use scipy.optimize.leastsq. The difficulty is with
>> the
>> function that calculates the difference between the data and the values
>> from the fitting function. The result of the fitting function is a list
>> with three values and yet I only need one of the values to be subtracted
>> from the data value.
> Could you not just subtract the index of the returned value?
> Say it is the first value you need then just use value[0].
>
> If not can you give a small example, it will make it easier to help.
>
> Gabriel
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>







More information about the SciPy-User mailing list