変化点検出と外れ値、スコア(Score)~『ハードナッツ』第7回
いよいよ大詰めが近付いて来た、NHK『ハードナッツ!~数学girlの恋する
事件簿~』。今までは脳内イメージも含めて、数学ガール・難波くるみ(橋本
愛)が具体的な計算をやってみせてた訳だが、第7話「恐怖のウイルスとくる
みの秘密(前編)」では、ほとんど計算なし。くるみと刑事・伴田(高良健吾)の
秘密の方に重点を置いたのだろう。
試しに第8話(後編)について、文庫本を流し読みしてみると、やはり具体的
な計算は無さそうな気がする。前編の延長であって、新たな数学的要素が
見当たらないのだ。まあ、橋本愛の表情と声だけでも可愛いのは事実だが、
数学好きとしてはちょっと残念な終わり方だ。
当サイトでは、『ガリレオ』の場合、人文系レビューと理数系の数式記事の2
本を毎回書いて来たが、『ハードナッツ』ではここまで数式記事しか書いてな
い。今更、最後の2話だけ人文系レビューを書く気にもなれないから、仕方な
く、やや強引に数学記事を書いてみよう。
ちなみに前回の記事は、アップした4日後くらいに1000字ほど追記。非常に
専門的な数式をそれなりに解説してある。もう少し情報が手に入れば、完全
に読み解ける所まで近づいてるのだ。まだ読んでない方は、ご覧あれ♪
☆ ☆ ☆
では、数式。冒頭でくるみがノートに書いてた式は、残念ながら私の環境では
読み取れなかったが、傾きm₁、m₂の2直線がなす角θ(シータ)について、三
角関数のtan(タンジェント)を使って何か計算してたような感じだ。
高校数学(1~2年)の標準レベルでよく使う式も入ってたように見えたから、
一応、証明付きで掲載しとこう。傾きm₁、m₂の直線がx軸の0以上の部分と
なす角をそれぞれα、β(ただし、0≦β<α<180°)とすると、
tanθ=tan(α-β)
={sin(α-β)} / {cos(α-β)}
=(sinα cosβ-cosαsinβ) / (cosα cosβ+sinα sinβ)
=(tanα-tanβ) / (1+tanα tanβ)
=(m₁-m₂) / (1+m₁ m₂)
2行目と3行目はあえてsin、cosを使ってみたが、飛ばしていきなり4行目に
進んでもいい。要するに、教科書に太字や枠組み付きで載ってる、三角関数
の加法定理。
この式(左辺=右下)に、m₁-m₂を示すルート付きの式と、もう一つ何かの式
を代入して、tanの値(さらにθの値)を計算してたようだが、おそらくドラマと何
の関係もない。単なる(簡単な)数学の勉強だろう。
☆ ☆ ☆
ウォーミングアップを終えた所で、本題の「変化点検出」。英語の「change-
point detection」の直訳らしい。
ドラマの物語的に結びつけられてたのは、鈴虫の鳴き声が急に増えた(天敵
の鳥がウイルスで減った)事と、伴田からの携帯連絡がずっとゼロのままであ
る事だ。何か変化が起きるのではないか。既に起きてるのではないか。
くるみが黒板に書いたグラフは、どちらも横軸が11月10日からの日付け。つ
まり、時間。縦軸は、鈴虫の個体数(?)と、伴田からの携帯連絡(電話のみか)。
鈴虫のグラフは右上に急上昇してるから、関連する何かの急激な変化を表し
てるような気がする。伴田のグラフは横軸に張り付いたままだけど、だからこ
そ逆に、期待感も込めて、一気に上に向かうように見えなくもない。
こうした事を数学的、確率・統計学的に処理するのが変化点検出であって、く
るみが手に取ったブルバキによる同名の著作は単なるフィクション、偽物だ。
ブルバキというのは、20世紀半ばくらいに注目を浴びたフランスの若手数学
者集団のペンネームだが、『変化点検出』という本は見当たらない。
☆ ☆ ☆
では、くるみの脳内イメージらしき映像にあった数式3本はどこから来たのか。
ネットで色々と調べてみたが、英語圏も含めてとにかく情報が少ないし、素人
にも分かる説明がほとんど見当たらない。参考書だと、山西健司『データマイ
ニングによる異常検知』(共立出版)があちこちで話題になってるが、私の周
囲には無い。処理システムとしては、NECのChange finder(変化発見装置)
がメジャーなようだが、これまた素人にも分かる具体的説明が見当たらない。
そんな状況の中、もっとも丁寧な説明は、東京大学大学院・工学系研究科・社
会基盤学専攻の中西航氏のpdfファイル、「A Unifying Framework for
Detecting Outliers and Change Points from Time Series」だろう。
直訳は、「時系列から外れ値と変化点を検出するための統一的な枠組」となる。
時間に沿った
データ系列(鈴
虫の数の変化な
ど)の中で、特
殊な値が生じた
時、たまたま生
じた異常値に過ぎないなら「外れ値」(outlier)、その後の系列全体を大きく変
える転換点なら「変化点」(change point)と呼ぶらしい。当然、外れ値は無
視して、変化点だけを発見したいわけだ。
実用的には、セキュリティと金融が代表的なものだろう。ネットのアクセスの
急増から悪意ある攻撃を検出したり、株価の急上昇や急降下をいち早く見
出したりできれば、大きなメリット、利益となる。ただし、要するに未来の予測
だから、完全に出来るはずはない。精度、単純性、計算スピード。納得しやす
さ、データ量などに注目して、システムを選択することになる。
☆ ☆ ☆
中西氏のファイルから、ドラマの映像に対応する箇所をコピペさせて頂こう。
下の2、3、5番目の式を書き換えた形になってるのが、ドラマの3本の式だ。
下では条件付き確率を表す記号(|x・・・」など)が使われてるが、ドラマでは
省かれてた。私も、省いていいと思うし、むしろ省いた方がスッキリする。
上の2番目の式、最初のスコアリング(点数評価)を、ドラマは「Score(x t)=」
とおいてた事になる。その場合、上の3番目の式で、Σの前後の-log pi・・は、
Score(x i+1)になり、ドラマの2本目の式と同等になる。上の5番目のlogの
式を使って、上の3番目のlogの式を置き換えたものが、ドラマの3本目の式だ。
ただし、なぜかこちらだけ、底(てい)がネイピア数e(≒2.7)の自然対数である
事を強調して、「ln」と書いてあった。
他にも紛らわしい箇所がある。上ではΣの変数 i の範囲が、ドラマより1少な
い数になってるのだ。
ドラマ : i=t-T+1 → t (Σの項は Score x i )
中西氏 : i=t-T → t-1 (Σの項は Score x i+1)
これはΣでたまに生じる現象で、見かけ上の違いに過ぎない。実際にΣで足し
算する各項を書き並べれば、同じだと分かる。どちらも、次の和のことだ。
(Score x t-T+1)+(Score x t-T+2)+・・・・・・+(Score x t)
☆ ☆ ☆
では、大きな流れで言うと、何をやってるのか。x t は元の時系列データであっ
て、鈴虫が(11月)10日に2匹なら、 x₁₀ =2 といった書き方になる。
ところで、過去のx (x₁ ~ x t-1)から、x t の取り得る値の確率を表す式(確
率分布)p t-1を求めることが出来る。t=10(つまり11月10日)なら、t-1
(つまり11月9日)までのデータを使って、x₁₀ の確率分布を理論的に求め、
現実のx₁₀の値の確率を見るわけだ。現実の値は2だけど、理論的には2に
なる確率は5%しかないから珍しい、といった感じの使い方となる。前回の
統計的推測(片側検定)の話と似た発想だ。
当然、確率の値pは0から1の間であって、log(対数)を取るとマイナスになる。
だから、logの前にマイナス記号を付けて、-log p とし、分かりやすいプラス
の数値に変えてある。これがScore(x t)だが、「対数損失」と呼ぶのは、「予
測された確率分布からその値がずれてる度合いを、対数で表したもの」という
ことだろう。要するに、異常性を表すのだ。
何かの正の変数にlogを付けると、元が1より大きい場合には、小さい値になる。
しかしこの場合、-logであって、しかも右側は確率(1未満)だから、小さい値
になるとは限らず、特に-logの右側が0に近いような値の時は、非常に大き
な値になる。
この-logの値、つまり x t の「スコア」が非常に大きい時、元をたどると確率
が非常に低い時、そのx tは外れ値の可能性が高いと判断される。つまり、た
またま異常な値になっただけで(差し当たりは)相手にしなくていいだろう、と
いう意味だ。ただし、後で判断が変更される可能性は残ってる。
☆ ☆ ☆
それでは、本物の変化点はどうやって検出するのか。簡単に言うと、単発の
外れ値ではなく、ある程度以上の複数の点が新しい流れを作り出してる箇所
を見つけるのだ。
そのために、-logの値、すなわちScore(x t)の値の平均みたいなものを計
算する。例えば、平均をとる時間の幅Tを10日間とするなら、過去10日分の
Score(x t)の平均を、 (1/T)ΣScore で計算する。それが y t であって、
10日移動平均などと呼ばれるらしい。「移動」というのは、平均値が毎日動く
(=変化する)からだろう。
外れ値の場合、単発だから、平均した y t は小さな値のままになる。ところが
本物の変化点だと、持続的だから、平均 y t はまず大きな値になる。ただし、
変化点を過ぎた後で一定の状態が続けば、また小さな値に戻る。要するに、
確率分布が新しくなって、確率が上がり(=普通の現象になり)、Scoreが小
さくなるからだ。
☆ ☆ ☆
結局、x t の変化を見出すために、 y t の変化(急増&減少)を見ることにな
る。だから、このy t に対しても、x tと同様の処理が考えられる。つまり、確率
分布を求めて、-log(つまり y t のスコア)を計算して、(1/T)Σで移動平
均を出す。それをドラマの映像では、3本目の式でScore(t)と書いてたのだ。
理屈より具体例を見たい、と思った方は、私と同じ感性だが、ネットだとコン
ピュータ計算の結果がいくつかあるだけで、簡単な例を手作業で計算した例
がどこにも見当たらない。
そこで次回、私が簡単な具体例を作って、実際に計算してみせようと思う。今
日はもう時間切れだし、小説を流し読みした限りでは、次回のドラマも変化点
検出の続きになりそうな感じなのだ。
もし次回、新たな数学の話が登場した場合は、その話と変化点検出の具体例
と、両方について解説する予定。
(☆追記: 既に、続編記事をアップした。
変化点検出とスコア、具体的な計算例~『ハードナッツ』最終回 )
では、今回はそろそろこの辺で。。☆彡
P.S. 中盤で、中川、内村、川島の3人の行動範囲を円で表して、共通部分
を求めてた。円の半径d(の最大値)を求める式は、それぞれ次の通り。
先に2dを計算するのは、それが往復の移動距離だからだ。
中川 : 速さ v=25(km/h) 時間 t=2(h)
2d=vt=50 d=25(km)
内村 : v=30(km/h) t=1(h)
2d=vt=30 d=15(km)
川島 : v=25(km/h) t=1.5(h)
2d=vt=37.5 d=18.75(km)
cf. トランプのポーカーの確率計算
~『ハードナッツ!~数学girlの恋する事件簿~』第1回解説
検査精度と難病の確率、落下速度、素因数分解の暗号
無理数を発見した弟子をピタゴラスが殺したという伝説の検証
ピタゴラス音律と普通の十二平均律、周波数のズレなど~第3回
ラブレターの換字式暗号&数字の順列パスワード~第4回
計量文献学による解析、K特性値、筆者判定~第4回
ハートマークと「i LOVE u」、愛の方程式~第5回
「アッシェンフェルターのワイン方程式」の間違いと本物(原論文)~第5回
特殊な違いの有無の判定(統計的推測、5%片側検定)~第6回
(計 4833字)
| 固定リンク | 0
「映画・テレビ」カテゴリの記事
- 『雲上を駆ける! 第39回・乗鞍ヒルクライム2024』(NBS長野放送)、YouTube動画で見た感想(2024.09.24)
- やす子24時間マラソンの2日目と「同じ道」を9時間で歩いて「検証」した YouTuber、実際は6割弱の距離(29km)を歩いただけ(2024.09.12)
- 直前の欠場、「パリ五輪は、まだ走れ!っていうメッセージ♪」~カンテレ『前田穂南が走れなかったオリンピック』(TVer動画)(2024.09.06)
- 世論の逆風と雷雨の中、やす子(体重78kg、25歳)の81kmマラソンSPの感想~日テレ『24時間テレビ』2024年(2024.09.04)
- パリ五輪2024・女子マラソン、ほぼリアルタイムの感想♪&優勝したハッサンのラップタイム(2024.08.11)
「芸能・アイドル」カテゴリの記事
- 世論の逆風と雷雨の中、やす子(体重78kg、25歳)の81kmマラソンSPの感想~日テレ『24時間テレビ』2024年(2024.09.04)
- 二重偏波気象レーダー、降雹(こうひょう)アラート、数式(偏微分方程式)の変数 Pidep、Pgacw、etc ~『ブルーモーメント』第5話(2024.05.25)
- 絶対に離れない手のつなぎ方、正義も真実も超えて、人間として「心中」へ・・~『Destiny』第1話~第4話(2024.05.02)
- 嘘(lie)で壊れた橋=つながり、再建を信じて(believe)生きる(be、live)~『believe ━ 君にかける橋 ━」第1話(2024.04.27)
- 晴原(ハルカン=山下智久)が書いた雪崩の数式の意味、雲田彩(出口夏希)の中国語の発音と意味~『ブルーモーメント』第1話(2024.04.25)
「数学」カテゴリの記事
- Python(パイソン)入門4~ランダムなサイコロの目の予想、数値データのリストの処理(ChatGPT4oも使用)(2024.09.20)
- パズル「絵むすび」31、解き方とコツ、考え方(難易度4、ニコリ作、朝日新聞be、2024年9月14日)(2024.09.15)
- 四角形や丸の「真ん中」に正三角形を配置するデザイン(YouTubeほか)、長さ、重心、三角形分割錯視を考慮した視覚調整(2024.09.08)
- パズル「推理」、小学生向け8、カンタンな解き方、表の書き方(難易度3、ニコリ作、朝日be、24年8月31日)(2024.09.01)
- パズル「ナンスケ」解き方13、2024年7月13日の問題は間違い「ではありませんでした」(難易度4、ニコリ作、朝日新聞be)(2024.07.13)
コメント