ノート2.6 カクヨムに不正って存在するの?(PV数編)
(注意)本作のデータは全て2021年1月19日から20日にかけて取得されたものです。
――――――――――――――――
俺――
「ついに新しいアメリカ合衆国大統領が誕生したわね」
「あぁ。大きな混乱は無かったようで安心したよ」
俺たちが視聴しているのは、先日第46代アメリカ大統領となったジョー・バイデンによる大統領就任演説だ。
彼はアメリカ史上最高齢で大統領に就任する。この異例ずくめの状況下で。
「タケル君はこの演説をどう思う?」
「民主主義においては結束が必要だ、と言ったのが印象的だなぁ。分断されたアメリカの現状をどうにかしたいという意志を感じたよ」
「そっかー。難しいことはよく分かんないけど、トランプ前大統領のときにしっちゃかめっちゃかになっちゃったから、これからの道のりは険しそうね。
そう言えば、今回の大統領選挙では新型コロナウィルスの感染対策として大規模な郵便投票が実施されたのよね」
「その通りだ。そして、これが不正投票の温床になったんじゃないかという批判が今もなお根強く残っている。
選挙不正は民主主義の根幹を揺るがす大事件だ。
嘆かわしい話だが、日本ではつい最近大規模な選挙買収があったとして有罪判決が出たばかり。何故誰も止めなかったのか不思議でしょうがない……」
「人間、目先の利益のためならなんでもやるのね」
「不正と言えば、ケイコちゃんはカクヨムに不正は存在すると思う?」
「いやいや、あったら困る! カクヨムコンみたいなコンテストをいっぱい主催してるし、仮に不正なんか発覚したら大変なことになるわ。間違いなくニュースになるって」
「しかし、以前からコンテストの読者選考には『不正が存在するんじゃないか?』と疑問を投げかける人が少なくない。
確かに、読者選考の仕組みには不透明な部分が多い。と言うか何も分からない。『どういう基準で作品が選ばれるのか?』という1番基本的な部分ですら公開されていないのは問題だ」
「でもさー、主催者側の意図も汲んであげてよ」
「ん? ケイコちゃんが意見を言うなんて珍しいな」
「だって、もし『★と♡が評価の対象です』なんて公表してごらんなさいよ。みんな一斉に友達同士で相互評価を始めちゃうわよ?」
「うーむ、確かにその可能性は否定できない……」
「現に、自主企画の中で★を投げ合ってもランキングの評価には反映されないって明記されてるしね。
あーあ、どうにかして不正を見つけられるような方法があったらいいのになー」
「あると言ったら?」
「え?」
「直接的な証拠を挙げられる訳じゃないが、『不正があるかもしれない』程度のことなら出来るぞ」
「えぇ!?」
「と言うことで、今回から統計を利用した不正検知の話をシリーズでお送りするぞ」
「おぉ……何というか、本当に出来たら凄い。どうやってやるの?」
「まずはこの表を見て欲しい」
「どれどれ――」
――――――――――――――――
ベンフォードの法則:1桁目の数字 d に対する存在確率分布
――――――――――――――――
d = 1 が出る確率:30.10%
d = 2 が出る確率:17.61%
d = 3 が出る確率:12.49%
d = 4 が出る確率:9.69%
d = 5 が出る確率:7.92%
d = 6 が出る確率:6.69%
d = 7 が出る確率:5.80%
d = 8 が出る確率:5.12%
d = 9 が出る確率:4.58%
――――――――――――――――
「何これ? サイコロの出る目の確率?」
「違う違う。これはベンフォードの法則だ」
「弁当の法則?」
「ケイコちゃん、俺のためにお弁当を作ってくれるのか。嬉しいなぁ」
「ごめんなさい、話を続けて」
「では、これからベンフォードの法則について簡単に説明していくぞ。この法則では数字の1桁目に注目する。例えば、次のような数字があったとしよう――」
123,456,789
「ケイコちゃんに問題だ。この数字の1桁目は?」
「バカにしないで。これくらい流石に分かるわ。『1』ね」
「その通り。数字の先頭だな。今後扱うのは1桁目の数字だけで、それ以外は必要ないぞ。
さてこのとき、ベンフォードの法則は次のように説明できる」
『自然に得られた10進数の数字の集合があったとする。ここで、1~9の間の数字 d に注目したとき、1桁目に d が現れる確率は log_10 ((d + 1)/d) の分布に従う』
「ん? んん?? どういうこと??? さっぱり分かんない。logって何?」
「その辺の数学的な説明はすっ飛ばして結論だけ言おう。この法則が主張しているのはこうだ――」
『自然に得られた数字を扱ったとき、1桁目に数字 d が出現する確率はサイコロの目のように等確率ではない』
「そんな馬鹿な!」
「そして、その確率分布がさっきの表という訳だ。log_10 ((d + 1)/d) に数字 d を代入すると、表に出てくる数字が得られるよ。
この法則は、非常に多くの現象で成り立つことが確かめられている。例えばファンクラブの会員番号であったり、人口の統計データ、果ては物理や化学に出てくる定数まで――身近な数字はベンフォードの法則に支配されていると言っても過言ではない」
「えぇ……信じられない。普通に考えると同じ確率にしか思えないわ……。後、自然にって言葉を強調してるけど、自然じゃなかったらどうなるの?」
「もしも集合に作為的な数字を加えたとしたら、最早ベンフォードの法則には従わなくなる。つまり、表に記載されている確率との差を見ることによって、その数字の集合に不正があるかどうかを検証することが出来るんだ!」
「……くどいかもしれないけど、全く信じられない。そんなことって起こり得るの?」
「では、実際に例を見てみよう」
――――――――――――――――
実データ:PV数(2021年1月20日)
――――――――――――――――
94
499
320
5
831
1,498
100
38
……
50
249
2,019
21,491
121,899
――――――――――――――――
合計:215,590作品
――――――――――――――――
「え、もう実際のデータでやっちゃうの!?」
「もちろんだ。スペースの都合でごくごく一部しか載せてないけど、実際は大量のPV数を使って計算しているぞ。
ただし、ベンフォードの法則では1から9の数字だけに注目するので、0は除外する必要があるんだ。従って、PV数0の作品3,456作品は除外する」
「わ、分かったわ」
「まずは、全てのPV数で1桁目の数字だけを抜き出す作業を行う。ケイコちゃん、ちょっとだけでいいからこの作業をやってみてよ」
「えぇ? 面倒くさいなぁ」
「まぁそう言わずに。実際に手を動かせば感覚が掴めるさ」
「しょうがないわね――」
――――――――――――――――
PV数:全てのデータに対して、1桁目だけを抽出
――――――――――――――――
94 → 9
499 → 4
320 → 3
5 → 5
831 → 8
1,498 → 1
100 → 1
38 → 3
……
50 → 5
249 → 2
2,019 → 2
21,491 → 2
121,899 → 1
――――――――――――――――
合計:212,134作品
――――――――――――――――
「ほら、出来たわよ。13作品分しかやってないけど。こんな感じであってる?」
「ありがとう。次に、出てきた数字の数を全て数え上げて、その割合を計算するんだ。ケイコちゃんが作業してくれた数字だけを数え上げるとこんな感じになるな」
――――――――――――――――
PV数:1 桁目の数字 d に対する出現個数と割合
対象:ケイコちゃんが計算してくれた13作品
比較:実際の出現確率 vs 理論値
――――――――――――――――
d = 1(1桁目が1):3個 23.08% vs 30.10%(誤差-7.03%)
d = 2(1桁目が2):3個 23.08 % vs 17.61%(誤差5.47%)
d = 3(1桁目が3):2個 15.38 % vs 12.49%(誤差2.89%)
d = 4(1桁目が4):1個 7.69 % vs 9.69%(誤差-2.00%)
d = 5(1桁目が5):2個 15.38 % vs 7.92%(誤差7.47%)
d = 6(1桁目が6):0個 0.00% vs 6.69%(誤差-6.69%)
d = 7(1桁目が7):0個 0.00% vs 5.80%(誤差-5.80%)
d = 8(1桁目が8):1個 7.69 % vs 5.12%(誤差2.58%)
d = 9(1桁目が9):1個 7.69 % vs 4.58%(誤差3.12%)
――――――――――――――――
合計:13作品 (100.00%)
――――――――――――――――
「なによ、タケル君の嘘つき。誤差ありまくりで、全然理論値と合ってないじゃない!」
「それはそうさ。だって、まだ13作品分しか数えてないんだからね」
「うっ……。じゃぁ、全部の作品を数え上げた結果を早く見せなさいよね」
「分かったよ。これが結果だ――」
――――――――――――――――
PV数:1 桁目の数字 d に対する出現個数と割合
対象:0 PVを除いた全作品(212,134作品)
比較:実際の出現確率 vs 理論値
――――――――――――――――
d = 1:64,274個 30.30% vs 30.10%(誤差:0.20%)
d = 2:37,796個 17.82% vs 17.61%(誤差:0.21%)
d = 3:26,567個 12.52% vs 12.49%(誤差:0.03%)
d = 4:20,535個 9.68% vs 9.69%(誤差:-0.01%)
d = 5:16,931個 7.98% vs 7.92%(誤差:0.06%)
d = 6:13,955個 6.58% vs 6.69%(誤差:-0.12%)
d = 7:12,096個 5.70% vs 5.80%(誤差:-0.10%)
d = 8:10,505個 4.95% vs 5.12%(誤差:-0.16%)
d = 9:9,475個 4.47% vs 4.58%(誤差:-0.11%)
――――――――――――――――
合計:212,134 作品 (100.00%)
――――――――――――――――
「……冗談よね?」
「いいや、これが現実だ」
「ちょっと、異世界に迷い込んだ気分よ。一体どんな魔法を使ったの?」
「これが自然界に存在する魔法だ。
結論を言おう。カクヨムにおける小説のPV数は、理論値との誤差が非常に小さいことからベンフォードの法則に従っていると言える。従って、統計的に見て大規模な不正は起こっていないと断言できる」
「マジか……タケル君、やりやがった……」
「ここ数年で1番の衝撃よ」
「ありがとう」
「まさか、ここまで鮮やかにやられるとは思ってなかったわ。これはタケル君が思いついた方法なの?」
「いいや、実は違う」
「……」
「『ベンフォードの法則』は、帳簿などにおける会計不正の発見に実際応用されているんだ。つまり、誰かが不正した部分の数字はベンフォードの法則に従わないから、今回やった方法を適用すると不正があったかも知れないと分かる。
注意しないといけないのは、これ自体が不正の証拠にはなり得ないと言うこと。あくまで統計的な推定に過ぎない。そこから不正を確定させるには、ガサ入れなんかをして実際の証拠を押収する必要があるぞ。
なお、冒頭に出てきた選挙不正にも応用しようとした事例は沢山あるけど、様々な理由であまり上手くいかないらしい」
「なーんだ、そうだったの。タケル君が自分で考えたにしては、えらく洗練されてるなとは思ったんだよ」
「それ、どういう意味?」
「なんでもないわ。それで、PV数に不正は無いらしいと分かったけど他の指標はどうなのかしら? 例えば――」
「おっと、ここでタイムオーバーだ。それについては次回以降ね」
「くっ、引き延ばされるのか……。次の研究ノートが待ち遠しい!」
――――――――――――――――
今日の研究ノートまとめ
――――――――――――――――
・統計的に不正を検知するために利用されるベンフォードの法則を紹介
・実際にPV数のデータにベンフォードの法則を適用した
・その結果、PV数において大規模な不正は起こっていないと分かった
――――――――――――――――
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます