先輩&後輩が、SCE-UA でタンクモデルのフィッティングを行っていました。
数年前にSCE-UAを利用した際、その恣意的な合わせこみ方法に引っかかっており、もっと一般的な最適化手法を適用すればどうなるの?と考えていました(手は動かしませんでしたが)。
良い機会ですので、何かコードが転がっていないか?と探し始めたところ、すぐに引っかかりました。
Python 流出解析用タンクモデルのパラメータ検索に挑戦(日流量解析)
https://qiita.com/damyarou/items/63480fb3e49ff2496a76
「パ-ソナル・コンピュ-タのためのタンク・モデル・プログラムとその使い方(第2報)」に沿って作られたようですね。オリジナルに乱数による範囲設定は入っていたかな?
一般的といえるかどうかはわかりませんが、タンクモデル本家の最適化アルゴリズムなので、ひとまず動くかどうか試してみることにしました。
動かないところを直しながら、少し手を加えて完成。動作確認もOK。結果が表示されました。Python だと計算はやや遅いのですが、図化まで一気にできるのが利点です。図化までのtotal 時間を考えると、小さいプログラムならこちらの方が速いので、手放せません。
で、結果はイマイチ。使われていたデータを眺めた段階で「ダメだろう」と思われたので、致し方ない結果。
ま、動きましたので、第2報の内容を読み返してみましょう。
0 件のコメント:
コメントを投稿