statistics - Automatically finding starting values for a sigmoid curve -


i have ~10.000 of vectors , want fit sigmoid curve each of them; in each case, need define starting parameters fitting, want find these parameters automatically. on stackexchange, there discussed strategies of automatically finding starting values non-linear models (one, two), these discussions consider specific cases such fitting gaussian. there general stratagies can applied sigmoid curve too?

if there general methods, implemented. need special case methods.

if example sigmoid function like:

s(x) = l / (1 + exp( -k*(x-x0)) 

so want find l, k , x0, proceed this:

i'll call data x[] , y[]

find maximum of y[] , take bit greater estimate of l

transform y[]

z[i] = log( l/y[i] - 1) 

(note if l maximum of y[] z y maximum undefined, why should take l greater maximum; alternatively miss out z's y's maximum)

so relationship seek

z[i] ~ -k*(x[i]-x0)  

and estimate k , x0 using linear least squares on x[], z[]


Comments

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -