2019年6月20日木曜日

再現期間、確率降水量の計算

カーネル法では、カーネル×重みを足し合わせて既知の値にフィッティングしました。

これは、予想される形状が複雑な場合に有効です。
では、予想される形状が単純な場合、一つのカーネルを調整するだけでフィッティングできるかもしれません。コレ、曲線近似、曲線回帰に属するようです。

数種類のカーネル関数で試行し、もっとも適合したものを選択する、というのは常套手段。例えば、コチラ↓。

国交省気象庁「確率降水量の推定方法」
https://www.data.jma.go.jp/cpdinfo/riskmap/cal_qt.html

(1) グンベル分布
(2) 一般化極値(GEV)分布
(3) 平方根指数型最大値分布
(4) 対数ピアソンⅢ型分布
(5) 対数正規分布

これらの関数を降雨量にあてはめ、もっともフィットしたものを選択する、というのが大まかな計算の流れ。
後半のSLSCというのが経験的というのは、今回初めて知りました。情けないことですが、ツール任せの部分であり、残差等で比較しているものと勘違いしていました。しっかり読まなくては。

実務で何度か計算していますが、回数は片手で足りるほど。上記の反省 & 理解を深めるために、前半の計算を追ってみました。使ったのは Python。

計算や図化は簡単だったのですが、水文統計ユーティリティーでの結果と差異が生じます。試算ではヒストグラムを作る時のビン数によりフィッティング結果が変わるのですが、ユーティリティーではどのビン数で計算したのかが不明(後のヒストグラム表示でビン数を変えても分布は変化しないので、内部である程度決めた値を使っているのかもしれません)。フィッティング後の係数も不明な点は、以前から疑問視していた通り。

また、確率紙についてもこれまで真剣に見ておらず、対数軸と誤認していました。反省。
計算を追う過程で先輩の古い(50年以上前の)教科書をお借りし、ようやく理解しました(Rには確率紙のライブラリがあったのですが、Python にはなかったので計算・図化しました)。
が、この図で経験的にフィットの良し悪しを判別する必要があるのでしょうか?
ヒストグラムを作った段階で何らかの最適化手法によるフィッティングをかけているので、残差の小さいカーネル関数を選択すれば良いのではないでしょうか?不都合があるのでしょうか?
確立紙プロットは確認程度でも良いですよね。確かに、50年以上前だと確率紙にプロットするしかなかったのかもしれません。が、今は容易に計算できます。

得られた知識はあったものの、新たな疑問も増えました。
解決するのは、まだ先のようです。

***********************************
20190626追記
河川砂防技術基準に以下の内容があります。
解析対象水文資料を用いて候補モデルの母数を求める際には、標本の大きさに応じて適切な推定法を用いるなどの手法があり、積率法、L 積率法、最尤法等の手法が用いられている。なお、小標本(標本サイズ<30)については、L 積率法がよく用いられている。 
なぜか Win + Anaconda が動かないので追認できませんが、おそらく、これですね。

***********************************
20190627追記
L積率法でパラメーターを固定すると、ユーティティーの値に近づきました。
ただ、先輩たちも昔からこの手の検算はされてきたようで「ユーティリティと答えが一致しない」というのは知られていたようです。いくつか理由が考えられるそうですが。
検算するなら、水理公式集が良さそうです。

0 件のコメント:

コメントを投稿