2021年10月3日日曜日

タンクモデルのパラメータ最適化

先輩&後輩が、SCE-UA でタンクモデルのフィッティングを行っていました。

数年前にSCE-UAを利用した際、その恣意的な合わせこみ方法に引っかかっており、もっと一般的な最適化手法を適用すればどうなるの?と考えていました(手は動かしませんでしたが)。

良い機会ですので、何かコードが転がっていないか?と探し始めたところ、すぐに引っかかりました。

Python 流出解析用タンクモデルのパラメータ検索に挑戦(日流量解析)
https://qiita.com/damyarou/items/63480fb3e49ff2496a76

「パ-ソナル・コンピュ-タのためのタンク・モデル・プログラムとその使い方(第2報)」に沿って作られたようですね。オリジナルに乱数による範囲設定は入っていたかな?

一般的といえるかどうかはわかりませんが、タンクモデル本家の最適化アルゴリズムなので、ひとまず動くかどうか試してみることにしました。

動かないところを直しながら、少し手を加えて完成。動作確認もOK。結果が表示されました。Python だと計算はやや遅いのですが、図化まで一気にできるのが利点です。図化までのtotal 時間を考えると、小さいプログラムならこちらの方が速いので、手放せません。

で、結果はイマイチ。使われていたデータを眺めた段階で「ダメだろう」と思われたので、致し方ない結果。

ま、動きましたので、第2報の内容を読み返してみましょう。


0 件のコメント:

コメントを投稿