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

c++ - CPP, 'X' button listener -

shared memory - gstreamer shmsrc and shmsink with h264 data -

.net - Bulk insert via Dapper is slower than inserting rows one-by-one -