かなり間接的な方法でデータを適合させる必要があります。近似で復元される元のデータは、小さな振動とドリフトを伴う線形関数であり、これを特定したいと思います。これをf(t)と呼びましょう。このパラメータを実験に直接記録することはできませんが、間接的にのみ記録できます。たとえば、g(f)= sin(af(t))とします。(実際の転送機能はより複雑ですが、ここでは役割を果たさないはずです)
したがって、f(t)がsin関数の転換点に向かって方向を変える場合、特定するのは困難であり、gの逆関数といくつかのデータの推測を継続するよりも、f(t)を回復するための代替アプローチを試しました。
同じ既知の伝達関数g()を実行し、g(fm(t))をデータに適合させるモデル関数fm(t)を作成します。データセットは巨大であるため、データの連続するチャンクに対してこれを区分的に行い、セット全体でfmの連続性を保証します。
最初の試みは、optimize.leastsqを使用して線形関数を使用することでした。ここで、誤差推定値はg(fm)から導出されます。完全に満足できるものではありません。データとその導関数の連続性を保証するf(t)のモデルとしてfspline(t)を取得するには、スプラインをデータに適合させる方がはるかに良いと思います。
問題は、補間パッケージからのスプラインフィッティングがデータに直接作用するため、g(fspline)を使用してスプラインをラップし、これに対してスプライン補間を実行できないことです。これをscipyで実行できる方法はありますか?
他のアイデアはありますか?
二次関数を試し、前のフィッティングされたデータのチャンクのものと一致するようにオフセットとスロープを修正したので、フィッティングパラメータは曲率だけで、すぐに逸脱し始めます。
ありがとう