1

したがって、Python でプロットした次のデータがあります。 気温と日

データは、私が扱っている微分方程式系の強制項の入力です。したがって、連続関数をこのデータに適合させる必要があるため、段階関数の不連続性に伴う安定性の問題に対処する必要はありません。残念ながら、それはかなり大きなデータセットです。

私は、微分方程式をコーディングしている言語であるスタンに翻訳するのが可能であり、それほど面倒ではない適合関数に終わろうとしています。手動でコーディングできる部分。

polyfitfrom から始めましたnumpyが、あまり良くありませんでした。UnivariateSplinefromを使用するscipyと、適切な適合が得られましたが、Stan に変換するのに扱いやすいものにはなりませんでした。したがって、他の言語に簡単に翻訳できる関数を返す、他のフィットへの提案を探していましたか? データの形状を見て、有用な周期的スプライン フィットはありますか?

4

2 に答える 2

1

UnivariateSpline オブジェクトには get_knots メソッドと get_coeffs メソッドがあります。これらは、b スプライン基底での適合のノットと係数を示します。

別の同等の方法はsplrep、フィッティング (およびsplev評価) に使用することです。

区分的多項式表現に変換するには、PPoly.from_spline を使用します (正確な形式については、後者のドキュメントを確認してください)。

フーリエ空間表現が必要な場合は、leastsq または least_squares を使用できます。NLSQ フィット パラメータに適切な開始値を指定することが不可欠です。少なくとも、たとえば、期間の最大から最大の距離推定と振幅の最大から最小の推定から始めます。

ただし、常に非線形フィッティングと同様に、YMMV.

于 2016-05-20T11:20:55.717 に答える
0

方向場から、複数の正弦波関数の和または合成を含む適合がそれである可能性があるようです。例: sin(cos(2x))、sin(x)+2cos(x) など。Wolfram Alpha、Mathematica、または Matlab を使用して方向フィールドを作成します。

于 2016-05-20T04:23:45.020 に答える