人の噂も七十五日

人の噂も七十五日の由来

この言葉は古代中国の五行思想に端を発しているようである。五行とは「木」「火」「土」「金」「水」であり、それぞれが春夏秋冬と季節の変わり目(土用)を表している。
1年は365日くらいだからこれを5つに分ければ、およそ70日〜75日程度。要するに、「人の噂も季節が変わるまで」という意味だ。そう考えると、「暑さ寒さも彼岸まで」という言葉に近いかも知れない。
また、五行思想は、古代中国で見つかっていた5つの惑星に由来しているという話もあることを考えれば、結構壮大な思想から発された言葉ということになる。

ただ、今回の考察は、このような思想とは全く関係なく、「じゃあ、75日たったらどのくらいに噂話が減るの?」ということを考えてみた。すなわち、75日を過ぎても話が存続している確率はいくらかを算出してみたということだ。

噂話の収拾方法

さて、確率計算をするには元となるデータが必要となる。井戸端に行ってコッソリ聞き込みをするわけにもいかないので、ネット上で何とかしようと試みた。そもそも現代では井戸端って存在しないぞ。

現代の井戸端と言えば、ネット上の掲示板ということになろうか。で、目をつけたのがYahoo!掲示板である。
75日たってどうなっているかを調べるのであるから、小出しに分かれて出てくる話題よりも、ドカンといきなり出てきて、その後、ソースとしての情報はあまり出てこないものがよかろう。最初に情報が出たのみで、あとは噂のみで成り立っている話題が最適だと思われる。要するに、燃料は最初だけ与えられ、途中で油が注がれない噂が望ましい。そうすると、例えば事件や事故の報道の中で、最初だけは当事者が出てきたが、その後はほとんど表に出てこないような話題がよいことになる。

そういうわけで、サンプルとして調べたのが“Yahoo!掲示板 - 国内ニュース - ★シンドラーエレベーター★”である。そもそも、この話題は、noteの方でも取り上げており、当初から注目していた。そして、ようやく75日以上経過したので解析ができるようになったわけである。確かに全然話題に上らなくなった(好都合の?)事例だろう。

元データは極めて単純である。1つ1つの発言内容を見ていたらきりがないので、内容には目もくれず、ひたすら1日分の発言数をカウントするのだ。毎日、何件の発言があったかを機械的に調べるわけである。

この集計結果は8月31日現在であり、全発言総数は4778件、最終発言は8月29日のものである。実際に最終発言を見て頂ければ分かるが、そこには「up」とだけ書かれており、既に話題として終結していることが分かる。そして、75日目以降は確かにほとんど発言がないことが一目瞭然である。

なお、8月16日前後に少しピークがあるが、これはお盆休みによるものだろう。こういう、噂とは直接関係のないイベントが入ると集計が狂うが、何しろ100日近い集計が必要なのだから、その間にゴールデンウイークとか盆暮れ正月が入ることは仕方があるまい。

極地理論を使った統計的手法

さて、サンプルは揃った。次はこれをどう調理するかである。もっとも単純な手法は、75日を境に前後に分け、75日以降の発言総数が全体の何%になるかを調べるものだ。
この手法は計算が簡単である代わりに致命的な欠陥がある。当然ながら75日前後の発言数に大きく左右されてしまうのである。サンプルでは都合が良い事に、ちょうど75日目に(お盆休みが効いていると思われる)ピークがある。そうすると、75日以降で集計するか、76日以降で集計するかによって、大きくパーセンテージが変化するのだ。この変化は、発言がたまたまそこにあったから生じたもので、本来ならばオミットされるべきものだから、何らかの手段でこのグラフをなだらかに整形する必要がある。

例えば、グラフ全体の形状から、回帰曲線として指数関数を当てはめるのはどうかとも思える。y=exp(-x)みたいに。ただし、1つ難点があって、指数関数の場合は、一番最初が最も大きい値となり後は減衰しっぱなしとなる。
噂話の場合、元となるソースが公開されてしばらくは、その重要性にいち早く気付いた人のみが騒ぎ、その騒ぎを聞きつけた人が連鎖反応的に増えて騒動が大きくなるという過程を持つ。よって、噂話のピークはソース公開から少し遅れる筈である。このことを考慮した関数を用いる必要があるだろう。

そういうわけで、さらにこのグラフをジッと見ていたのだが、このグラフを時系列グラフと見るのではなく、頻度分布図と見たらどうだろうかという妄想名案が浮かんだ。そして、75日以上というのは、ソース公開から75日以上も離れている極値であり、確率密度関数を求めて、75日を超える超過確率を算出するという手法はどうか…という考えに至ったのである。
要するに、極値理論を用いた解析を行ってはどうかと。
ちなみに、極値理論のまじめな解説はこことかを参考にして頂きたい。私は根が不真面目なので、適当につまみ食いする(^^;)。

Gumbel分布のパラメータを積率法で算出

方針は決まったので、あとは粛々と計算するのみである。計算方法はGumbel分布を仮定して、そのパラメータを積率法で出すという極めてオーソドックスな手法を用いることとした。詳細はネットで検索してね…と端折ろうかとも思ったが、あまりに不親切なので、少しだけ解説しておく(分かっている人と興味の無い人は飛ばしてね)。

まず、確率密度関数とは何かということだが、まずはもっともポピュラー釣り鐘型の正規分布を想像して頂きたい。正規分布では、データ値の平均値μと、標準偏差σが登場する。そして、μ±σの間に、68.3%のデータが含まれるなどと言う。これが正に確率密度関数そのものなのである。
ちなみに正規分布の場合は、

という関数になる。(x-μ)2という式が入っていることから分かるように、この式はx=μを最大として左右対称の形をしている。

また、xの値がaからbまでの間だったとして、その間にデータが含まれる確率P(a≤X<b)は、

となる。なお、この関係式はf(x)が正規分布でなくても成り立つ。また、当然ながら、
P(-∞≤X<∞) = 1
が成り立たなければならない。
元々の頻度分布のグラフでは、グラフに含まれるデータをかき集めると、データ総数になってしまうので、確率密度関数にするには全体をデータ総数で割るといった規格化が必要となるわけである。

続いて、実際に採用するGumbel分布であるが、こちらは左右非対称である。理由は、その関数形を見て頂ければすぐ分かる。

ここで、2つの変数αβが登場したが、まずβの方は、正規分布のμと同等であるから、x=βを最大とするグラフになるなということが分かる。そして、x-β二乗されることなくそのままexpの中に入っているという点で、左右比対称になることが理解出来る筈だ。

また、75日を超えた発言の存在確率は、P(75≤X<∞)となる。これはグラフに赤で書き入れたが、75日より大きい値のグラフの面積ということになる。

次に、この2つの変数αβの算出法であるが、元々のデータ群から求めた、値の平均値μと標準偏差σに、Gumbel分布も一致するように合わせ込むという手法を使う。これが、積率法と呼ばれるもので、具体的には、

となる。γは、いわゆるオイラー定数というヤツである。

データ値の変換

さあ、後はゴリゴリと計算するだけのようだが、さにあらず。そもそもの考察を振り返ってみて見れば、データを時間順に並べた時系列グラフを頻度分布と見ると言うイレギュラーなことをしているのだから、そのままではデータが使えないのである。
例えば、75日目の発言数は31件ある。普通ならば、75個目のデータの値が31だったことになるのだが、これを度数分布と見るならば、75という値のデータが31個あったと考えなければならない。

さて、計算上必要なのは、値の平均値μと標準偏差σである。
まず、平均値の算出は、普通ならば、各日付のデータ数を全て足し合わせて、“のべ日数”で割ればよいことになる。だがここでは、各日付のデータ数に“のべ日数”を乗じたものを用意し、その平均を出さねばならない。要するに、75日目の発言数が31ならば、75×31であり、「1×○○、2×○○、…、75×31、76×○○、…」と全て計算した後に、それらの値を足して、データ数で割ることになる(“のべ日数”で割るのではない点に注意)。
これが分かれば、標準偏差の算出もほぼ同様である。75日目の発言について述べれば、75から先に調べた平均値を引き、その値を二乗した数値に31を掛けるのである。そして、これらを1日目からずっと用意し合計して、データ数で割ればよい。後で平方根をとることを忘れないように。

お待たせしました、結果発表

そういうわけで、出てきた結果が、赤線で書かれたGumbel分布の確率密度関数である。
少し補足しておくと、実際の確率密度関数は、-∞から∞まで積分して1となる関数であるので、頻度分布のグラフに重ねると、非常に低い山になってしまう。そこで、確率密度関数にデータ数を掛けて規格化してある。う〜む、どちらかというと逆規格化かな。こうしておけば、度数分布を示す青い棒グラフの面積と、赤線の下部の面積とが同じになるので、見た目に分かりやすいということだ。

で、肝心の75日を超えた発言が存在する確率は、0.195%となった。確かに少ない。1000の発言があったとしたら、76日以降の発言は2件しかないということになる。この結果ならば、「人の噂も七十五日」という言葉も充分正しいと言って良いのではないだろうか?

また、もうひとつチェックしておきたい数値がある。それは、積率法で得た、2つの変数αβの、βの方である。この値は、頻度分布のピークを示す値ということになる。このサンプル結果で得られたのはβ=8.91であった。要するに、ソースとなる話題が発表されてから、9日目当たりが噂話が咲き乱れる時期だということだ。
まあ、そう言われればそんなものかな。第一報が1〜2日、詳細が分かって3日目、コメンテータがウダウダ言って4〜5日、1週間立てば特集番組が組まれ、9日目当たりで、世間一般に充分浸透し、賛否両論、皆が言いたい放題…といった展開だろうか?

今後の考察(するならばだけど…)

一応、それなりの結果は出た。手法と結果、共にそこそこおもしろかったと個人的には思っている。ただ、如何せん、サンプルが1つだけというのが一番の問題だ。ここで得られた結果が一般的なものなのか、それとも、このサンプル固有のものなのかが分からない。できれは、このような噂話を数十は集めて同様な手法で75日を超えた発言が存在する確率を求め、今度は確率値群の平均と標準偏差を出すべきだろう。そこまですれば、胸を張って発表できる…って、何処で発表するんだ

それから、極値理論で使用される確率密度関数はGumbel分布だけではない。まずは、これを拡張した一般極値分布(GEV分布)で解析すべきである。グラフを見ての感じでは、Fréchet分布がフィットしそう。その他、係数の算出法もいっぱい有るし、まともにやろうするときりがないのである。

暇があったら突き詰めてみるのもおもしろいが、多分75日くらいしたら忘れていると思うので、後はよろしく…。