ほぼ単調なデータに単調曲線を当てはめようとしています。(X 値は単調であり、Y 値は単調である必要がありますが、ノイズは多くの場合、基になる値のポイントごとの変化よりも大きくなります。) ここで、私が現在行っていることの要約を示します。
def goodness_of_fit(Xfit):
assert(is_sorted(Xfit))
# ( Calculate the area between the fit line and the join-the-dots line from the data )
scipy.optimize.minimize(goodness_of_fit, x0=numpy.linspace(xmin, xmax))
Xfit配列をソートしたままにする最適化アルゴリズムを取得する方法が見つかりません-誰か提案はありますか? (配列のサイズが大きすぎて、N-1 個の個別の順序付け制約を作成し、制約付き最適化関数を使用することはできません。) 最適なソリューションが以下でしか利用できない場合は、Python 以外の別の言語を喜んで使用します。その言語。
(NB、実際には Y 値ではなく X 値をフィッティングしています。これは、最終的に dX/dY 曲線をプロットし、生データからプロットした場合のようにばかげた値に膨らまないようにしたいためです。ただし、 、固定 X 値に Y 値を合わせる方がはるかに簡単な場合は、代わりにそれを行うことができます。)