浸水・道路冠水予測モデル作成
1 metadata. センサ一覧表(地点、高さ、センサID,メッシュコード)
センサのIDと設置期間(使用するデータの期間)を決める
2 metadata. 降雨データの準備のためメッシュコードの一覧表を作成する(センサ追加時のみ)
RDFにて日毎に圧縮された一次メッシュの降雨データから,10分毎の三次メッシュのデータを年毎に自動的に作成
センサ追加時にcronで実行しているaverage.phpのメッシュコードを修正する
RDFからcURLで降雨を取得する
- RDFにて自動的に作成するためのメッシュコードの出力
- tsvファイル:データ,
- logファイル:日毎のデータ数(1日のデータ数は全てあるなら1440)と降雨,
(処理 A)
リスト表示
rdfサーバの10分1㎞ファイルを表示する
降雨強度を10分間隔1㎞に平均化
3 sensordata. センサの観測情報
〇4. 有効降雨データの作成(使用データ:rain, sensor)
- センサIDを入力し,対応する全時刻の降雨データをRDFサーバから取得*して地点の降雨(降雨生データ, "rain_デバイスid_raw.tsv")を作成する
(*サーバ内にある場合は改めて取得しない)
- 浸水を検知すべき降雨があってもセンサが浸水を検知できない冠水中の時刻*を無効として降雨強度値を9999に置換する
(*センサが浸水を検知した後から浸水の消滅を検知するまで)
- センサ観測値はDBから取得する
- 主信号受信時刻を降雨時刻に合わせるときの補正値は150秒
- データ量が大きいので作成した降雨データ("rain_デバイスid_mask.tsv")はサーバ内に蓄積する
- 降雨データの作成(センサID入力)
〇5. 同一地点センサによるスクリーニング:観測時刻の異常を発見するための情報を作成する(使用データ:複数sensor)
- 同一地点のセンサ観測値をDBから取得し,被検証センサの水検知時刻毎に低位置→高位置の水検知順の有無を調べ,異常値を除外するための資料を作成する
- 出力ファイル:サーバ内 "デバイスID_screening_sensor.tsv"
- 水検知日時のリストと同一地点の水検知状況(センサID入力)
〇6. 水検知記録から正例候補の異常値を除外する(使用データ:[4]降雨生データ(raw)& [5]"デバイスID_screening_sensor.tsv")
- 降雨(各水検知時刻の直前60分間の降雨強度[mm/h])と同一センサとの照合により異常データを排除する
- 主信号受信時刻を降雨時刻に合わせるときの補正値は150秒
- 異常値排除後の結果("valid_records.tsv")はダウンロード。
- 結果の時刻は主信号受信時刻(同一地点センサの評価ファイル("デバイスID_screening_sensor.tsv")と同じ)
- (*改修予定)直前降雨が極めて少ない,かつ,同一地点センサで観測されていない水検知記録を自動的に教師データから除外する
- 水検知記録を表示して目視で異常値を排除する
7.教師データを生成する
(使用データ:[4]の結果の有効降雨"rain_デバイスid_mask.tsv" & [6]の結果の異常値除外受信時刻"valid_records.tsv")
- デバイスIDを指定して降雨ファイルを呼び出し,6.でダウンロードした正例をアップロードし,閾値と説明変数を指定する,*期間を設定
- 主信号受信時刻を降雨時刻に合わせるときの補正値は150秒
- 出力ファイルはデバイスID_training_data.tsv(ダウンロード)
- (教師データから予測結果をひとまとまりの降雨毎に降雨とともにグラフ化)
- (正例数から説明変数の設計(自動化検討中.閾値・期間によってデータ数が変わる))
*正例数:最尤推定の信頼度。閾値:除外期間を除いたデータ数の分布状態(最低降雨強度1~10ミリ)
*説明変数に用いる直前降雨数,事前降雨の数と長さを変化させる
- (全てを10分降雨として偏回帰係数を算出することが可能)
- 教師データ("valid_records.csv"をアップロード)
計算結果ファイル名の表示とダウンロード
グリッドサーチ
8. 教師データから偏回帰係数を算出する
8.1 全期間に対する交差検証
9. ひとまとまりの降雨に対する連続的な解析
9.1 ひとまとまりの降雨データを作成する
9.2 予測値を算出する
- 偏回帰係数を作成するための教師データを指定し,連続する時刻のデータに対して予測値を出力する
- 教師データ用ファイルと,予測したい降雨データファイルを圧縮したファイルをアップロードする
- 教師データ用ファイルと降雨データファイルの説明変数は一致させること
- 出力結果:
- 降雨毎の各時刻の説明変数と真値と予測値
- その可視化(時刻に対する降雨強度と予測値の変化)
- 全降雨に対する評価:真陽性率,偽陰性率とROC曲線
- 連続時間データに対する予測を実施する
10.その他
新エリアレインにデータ投入
降雨データ
RDFサーバの降雨データ(複数時刻のgzをzip)をcsvに変換する
1/4mesh-csv
3次mesh-csv
新エリアレインDBにアップロード
降雨データ(1/4メッシュ)をDB/data_rainにアップロード
旧
降雨連結リストに複数のセンサの検知を追記できるよう連続日データを出力する
3. 月毎の降雨データを生成する(方法1)
(SSHでログインできない場合は処理に時間がかかるので、月毎に処理する必要がある)
日毎に圧縮された一次メッシュコードのレーダデータから,三次メッシュの10分毎のデータを月毎に作成する
- 日毎の降雨データの存在を確認する
- 日毎の降雨データを月毎に処理する
センサ地点のメッシュコードを入力し,センサ設置期間(+事前降雨に必要な期間)の月毎の降雨データを生成する。
- tsvファイル:データ,
- logファイル:日毎のデータ数(1日のデータ数は全てあるなら1440)と降雨,
- infoファイル:使用サーバと最低降雨の指定値
4. センサデータと降雨データを日毎に並べるための情報の出力
降雨連結リストに複数のセンサの検知を追記できるよう連続日データを出力する
- 降雨
- 降雨データの表示
- センサデータ:バラバラな日付を連続日のCSVダウンロード(2.の結果を利用する)
(参考)センサデータ:バラバラな日付を連続日で画面に表示する(2.の結果を利用する)
5. 水検知直前(水検知時刻を含む60分間)の降雨(参考)
降雨≒冠水を確認し,降雨が無いのに冠水(異常データ)をセンサ記録から排除することができるが,
直前降雨の無い水検知記録は自動的に教師データに使用されない
欠測は除去され,教師データに対して連続する無効期間とされる。
3. 月毎の降雨データを生成する(方法2)
(SSHでログインできる場合にはこちらで複数の年月をまとめて生成できる)
Login: arearain.sakura.ne.jp, cd /home/arearain/www/public/rain_script,
(sample)
php xrain_longterm_args.php 53402660 2024-08-01 2024-08-03
(nohup -- & でも)
(--->) 53402660.tsv
受信信号からセンサ位置のGeoJson出力
area-rain/public/