「このデータ、何か変です」
由紀がノートパソコンの画面を葵に見せた。部室で、三人がデータ分析の課題に取り組んでいる。
「どの辺が?」
「ここの値だけ、異常に大きい」
葵が画面を覗き込んだ。「アウトライア。外れ値だね」
「間違い?」
「それとも、重要な発見かもしれない」
ミラが静かにノートを開き、書いた。「Anomaly = High surprise」
「異常値は、高い驚き」由紀が訳した。
葵が説明を始めた。「情報理論では、驚きを定量化できる。確率が低いイベントは、驚きが大きい」
「じゃあ、この外れ値は?」
「確率モデルから大きく逸脱してる。だから、驚きの値が閾値を超えた」
由紀が考え込んだ。「閾値?」
「正常と異常を分ける境界。統計的に有意な差があるかを判定する基準だ」
ミラが式を書いた。「I(x) = -log₂(p(x)) > threshold」
「自己情報量が閾値を超えると、異常と判定する」葵が補足した。
「でも、閾値をどう決めるんですか?」
「良い質問だ。あまり低いと、誤検出が増える。高すぎると、本当の異常を見逃す」
陸が部室に入ってきた。「何の話?」
「異常検出」由紀が答えた。
「俺のノイズレベルが異常って話?」陸が冗談を言う。
「ある意味そうかもね」葵が笑った。「でも、それが個性でもある」
ミラが新しいページに書いた。「Normal distribution assumption」
「正規分布を仮定する」由紀が読んだ。
「多くの異常検出は、データが正規分布に従うと仮定する。そして、平均から標準偏差の3倍以上離れた値を異常とする」
「3σルール」陸が言った。
「よく知ってるね。約99.7パーセントのデータが3σ以内に収まる。だから、それを超える値は稀だ」
由紀が画面のデータを見返した。「このデータは、平均から5σも離れてる」
「それは確かに異常だ。確率的には、ほぼ起こりえない」
「でも、起こった」
葵が静かに言った。「そこが重要。異常値は、モデルの誤りか、新しい現象の発見を意味する」
「どっちか分からない?」
「文脈が必要。データだけでは判断できない」
ミラが書いた。「Context is key. Verify source.」
「文脈が鍵。ソースを検証する」
陸が尋ねた。「機械学習の異常検出は?」
「基本は同じ。正常データで訓練し、そこから大きく外れたものを異常とする」
「オートエンコーダーとか?」
「そう。入力を圧縮して復元する。復元誤差が大きいと、学習していないパターン、つまり異常の可能性がある」
由紀が興奮気味に言った。「驚きを測ることで、異常を検出するんですね」
「情報理論的な異常検出」葵が頷いた。「予測と実際のズレが、驚きの大きさだ」
ミラがもう一度書いた。「Surprise threshold = detection sensitivity」
「驚きの閾値が、検出感度を決める」
陸が考え込んだ。「閾値を調整すれば、敏感にも鈍感にもなれる」
「そう。用途によって調整する。セキュリティなら厳しく、ノイズが多い環境なら緩く」
由紀がデータポイントをクリックした。「このデータ、調べてみます」
「良い姿勢だ。異常値を無視せず、向き合う」
ミラが微笑み、最後に書いた。「Anomaly teaches us」
「異常が教えてくれる」
葵が立ち上がった。「驚きの閾値を超えたとき、新しい知識が生まれる」
「それが科学の進歩なのかも」由紀が言った。
陸が笑った。「俺も、驚きを提供し続けるよ」
「陸の異常検出は、常にアラート出っぱなし」由紀が冗談で返した。
ミラが静かに部屋を出て行った。いつものように、多くを語らず。
窓の外では、日常という名の正常なデータが流れている。でも時々、驚きの閾値を超える何かが現れる。それが世界を変えていく。