0

私は〜10.000のベクトルを持っており、それぞれにシグモイド曲線を当てはめたいと思います。いずれの場合も、フィッティングの開始パラメータを定義する必要があるので、これらのパラメータを自動的に探したいと思います。 stackexchangeでは、非線形モデル(onetwo)の開始値を自動的に見つける方法について議論されていますが、これらの議論では、ガウス関数のフィッティングなどの特定のケースについて検討します。シグモイド曲線にも適用できる一般的なストラテジーはありますか?シグモイド曲線の開始値を自動的に見つける

答えて

0

一般的な方法がある場合は、一般的に実装されます。特殊なケースメソッドが必要です。

あなたのシグモイド関数のようなある例えば場合:

S(x) = L/(1 + exp(-k*(x-x0)) 

あなたはL、KとX0を見つけたいと思うように、あなたはこのように進めることができます:

私はあなたのデータxを呼ぶことにします[ ]とy []

があるとY []を変換Y []の最大値を検索し、L

の推定値としてそれより少し大きいものを取る

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

(ただし、Lがy []の最大値である場合、最大値であるyのzは未定義となるため、Lを最大値よりも大きくする必要があります。別の方法としては、単に[あなたが求める関係が

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

なるように)

をZのYの最大値である場合を逃させ、x []、Z上の線形最小二乗法を用いて、KとX0を推定することができ]

関連する問題