2017-05-18 28 views
2

この質問は、数学についてのプログラミングよりもプログラミングには関係ありませんが、私はいくつかの意見を募集したいと思います。Pythonの指数関数/線形曲線フィッティング

私はthis curveの指数関数的減衰挙動をモデル化しようとしていますが、わかるように、より低い値である程度の変動/ノイズがあります。私のフィット感がそれに依存しないように、この騒音を排除/湿らせることができますか?

私はこの曲線のログを扱うので、線形回帰を使ってフィットを行います。私は最小二乗法を使用しましたが、私が選択した時間間隔に応じて直線の傾きが大きく(約20%)変化します。

私は助けることができ、約2その他の方法を聞いた:

  • 加重最小二乗法を、私は、私は私のポイントを計量については行くだろうかわかりません。
  • 最小絶対偏差は、明らかに小さい値がこの方法ではあまり関係しない傾向があります。

私は試行錯誤の段階を避けたいと思います。あなたはなにか考えはありますか?

編集:コードは、それは簡単な崩壊ではなく、データの減衰一部対数空間での場合は、線形を見ていないのpython

+0

データと、使用コードを追加し、多分また 'python'タグを追加してください。 – Cleb

+0

ログ圧縮データに対して線形方法を使用して指数関数的減衰を適用するのは間違っています。ネットを検索して "動態モデリング"を試してみてください。この種の問題を解決する多くのパッケージが存在します。一例は 'R'パッケージに依存します。 –

+0

リニアモデルを使用してフィットするのがなぜ間違っているのですか?私は今までのところ正しい結果を得ました。方程式を単純化し、プレイ中のパラメータはより直感的です。 –

答えて

2

を使用して行われます。実際、データは指数関数的減衰と一定のバックグラウンドの合計に似ています。だから、a*exp(-b*x)+cのようなモデルを試してみてください。画像内の曲線は、一定のオフセットを持つガウスピーク(テールが多かれ少なかれ指数関数的に減少する)の右側です。フィット(緑色の線)は、上記の関数です。

fit of simulated data

+0

はい、それは 'c'パラメータを追加することで、フィット感を維持するのに役立ちます。ありがとうございました。特定のフィッティング関数を使用しましたか? –

+0

'scipy.odr'を使って、平らな最小二乗法だけです。イメージは、ピーク・オ・マット・セッション(http://lorentz.sf.net)のスクリーンショットです。 –

関連する問題