判定はすべて
detempus
に渡しています。日次は STL でトレンドを取り、曜日ごとの中央値を基準線に含めた上で、
残差の modified z-score(Iglewicz–Hoaglin, 中央値と MAD ベース)が
閾値
3.5 以上の日を上振れ異常とします。
平均と標準偏差を使わないのは、異常値自身に基準が引きずられるのを避けるためです。
曜日成分に中央値を使うのも同じ理由で、STL の季節成分をそのまま引くと、
1 回の水害から「木曜は多い」を学習してしまい、本物のスパイクが平常に見えます。
変化点検出: PELT(ruptures, model=
l2, penalty=
2.0)。
異常検知が突発的な外れ値を拾うのに対し、変化点は「ここから水準が移った」構造の変化を捉えます。
紫の水平線は区間ごとの平均です。
地図の点は、その日に報道された地点(既に生成済みの地図データから取得)。
県別(時次)の軸は作り方が違います:
判定を
detempus
に渡し、基準線は rolling_median(
y[i-window:i] しか見ない因果的な形)。
県別の系列は数百時間のうち数時間しか非ゼロでない疎な数え上げで、傾きも季節性も
無いため、STL を当てると末端のスパイクが自分で傾きを押し上げてしまいます。
変化点も求めません。水準が移った場所を問う道具ですが、この系列に水準が無く、
23 県で試すと孤立した非ゼロが 113 件すべて変化点になりました。
日次では進行中の事象が立ちません(8/27 の石川・富山は 16 件あっても日が
終わっていないので z=0.11)。時次なら 06 時台が 4.05 で立ちます。