いくつかの物や話の中から
「ベスト」を取り出すとは
どういうことなのか
乱数(ガウス分布)を約100億個取り出
し
便利そうな数を算出してみた
"経験数" 最大値の
N
中央値

4
10
30

最大値の
期待値

0.
998
1.
498
1.
998

1.
02
1.
53
2.
04

(端数処理は切り
捨てによる)

2013-12-10作成 下野寿之
― JAPAN.R 2013 @Yahoo! LT の発表資料のアレンジ版 ―
私の知る限り、誰も知らない面白そうなことを新発見
したように思ったので、統計学の教育にも役に立つだ
ろうと考え、
背景
知らないことは
数回反復して経験して分かる
• 1回だけの経験では分からないから。
• せいぜい3回も経験したら分かってしまった気になるこ
ともある。(例 : 引越し、旅行、就職活動や結婚など)
• いくつかの物品から欲しいものを探すときも、その行為に、数理的
にどういう意味があるのだろうか?

• しかし、N=1,2,3 程度は統計学的な意味を成しているの
だろうか?
• そして、N=1の人と、N=30 の経験を知っている人と
は、どれだけ有利/不利の差があると言えるだろうか?
• etc.

― 以上が本発表の問題意識

(上記の問いに、全て答える訳では無いです。)
何を考えようとした
か

「乱数N個の最大値」は
どんな分布だろうか?
ある分布を決めて、乱数をN個取り出す。
そして、そのN個から最大値を取り出す。
この値はどんな分布だろうか?
特に中央値はいくらであろうか? ← これに答え
ます。
「中央値」とは、上位から50%のところに位置する値です。
「平均」は、全部足して個数で割った値です。
中央値と平均値は異なる概念であり、必ずしも等しくは無い
値です。
期待値という言葉も出てきますが、期待値は平均と同じ計算
をします。文脈により、期待値と言うか平均値と言うかが異
なる、と考えて良いです。
一様分布であれば話は簡単
[0,1]区間の一様分布から取り出し
たN個の乱数の最大値X(確率変数)
を考える。
Xの期待値(多数のXの平均値)は
N/N+1 と比較的容易な数式にな
る。
N
1
2
3
4
5
6
7
8
9
10

期待値 中央値 標準偏差
0.
500 0.
500
0.
289
0.
667 0.
707
0.
236
0.
750 0.
794
0.
194
0.
800 0.
841
0.
163
0.
833 0.
871
0.
141
0.
857 0.
891
0.
124
0.
875 0.
906
0.
110
0.
889 0.
917
0.
099
0.
900 0.
926
0.
090
0.
909
0.
933
0.
083

X の確率密度関数は N x N
N
X の期待値は
N 1
N
X の中央値は 1/ 2

1

N

X の標準偏差は
(N

2

1) ( N

2)

一様分布ではなく
て、ガウス分布だ
と、数式で求まるこ
とはないので、これ
から億単位の個数の
乱数から、実際に数
値計算をすることに
なる。
Nを変えた時の最大値の分布

各列の点群は「約300個それぞ
れ
の運命」と考えたら良いです。

N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

各N=1,2 .. 30 (横軸)ごとに約300個の「N個の標準ガ
ウス乱数の最大値」(縦軸)をプロットしたもの

中央値 平均値 標準偏差
0.
00
0.
00
1.
00
0.
54
0.
56
0.
83
0.
81
0.
84
0.
75
1.
00
1.
03
0.
70
1.
13
1.
16
0.
67
1.
23
1.
27
0.
65
1.
32
1.
35
0.
63
1.
39
1.
42
0.
61
1.
45
1.
49
0.
60
1.
50
1.
54
0.
59
1.
55
1.
59
0.
58
1.
59
1.
63
0.
57
1.
63
1.
67
0.
56
1.
66
1.
70
0.
55
1.
69
1.
74
0.
55
1.
72
1.
77
0.
54
1.
75
1.
80
0.
54
1.
78
1.
82
0.
53
1.
80
1.
85
0.
53
1.
82
1.
87
0.
53
1.
84
1.
89
0.
52
1.
87
1.
91
0.
52
1.
89
1.
93
0.
51
1.
90
1.
95
0.
51
1.
92
1.
96
0.
51
1.
94
1.
98
0.
51
1.
95
2.
00
0.
50
1.
97
2.
01
0.
50
1.
99
2.
03
0.
50
2.
00
2.
05
0.
50
予備知識 : ガウス分布とは
Histogram of runif(1e+06) + runif(1e+06)

60000
20000

Frequency

30000

0

0

10000

Frequency

50000

Histogram of runif(1e+06)

0.0

0.2

0.4

0.6

0.8

1.0

0.0

0.5

runif(1e+06)

1.0

1.5

2.0

runif(1e+06) + runif(1e+06)

120000
80000

Frequency

0

40000

100000
50000
0

Frequency

150000

Histogram of runif(1e+06) + runif(1e+06) + runif(1e+06)
Histogram of runif(1e+06) + runif(1e+06) + runif(1e+06) + runif(1e+06)

0.0

0.5

1.0

1.5

2.0

2.5

3.0

0

runif(1e+06) + runif(1e+06) + runif(1e+06)

1

2

3

4

runif(1e+06) + runif(1e+06) + runif(1e+06) + runif(1e+06)

80000

Histogram of rnorm(1e+06)

[0,1]区間から取り出した一様乱数を2回、3
回、4回と足し合わせたものをヒストグラ
ムにすると、その形は次第に、一定の形に
なる(ベルカーブ,左の図)。 その究極の形
の分布を、「ガウス分布」と呼ぶ。正規
分布とも呼ぶ。

2p s 2

4

ガウス分布は、多くの分布をよく近似す
る。たとえば、身長の分布、体重の分布、
測定誤差を伴う観測の結果の分布などを、

20000

40000

60000

e

平均値μを0、散らばりの尺度である標準
偏差σを1になるように調整したものを特
に、「標準ガウス分布」と呼ぶ。標準正
規分布とも呼ぶ。

0

Frequency

( x- m )2
2s 2

ガウス分布は数ある「分
布」の中で、とてもよく
知られている分布の一つ
です。

-4

-2

0

2
予備知識 : 標準偏差 σ とは
60000
Frequency

40000
20000
0

○ 標準偏差 σ は、データの各値と平均
値の差を2乗したものの平均値に平方
根の操作を加えたものである。

80000

Histogram of rnorm(1e+06, 50, 10)

σは 「振れ幅」 に相当する尺度と考え
ると良い。

0

20

40

60

80

100

rnorm(1e+06, 50, 10)

ガウス分布から乱数 X を取り出した場合、
μ – σ < X < μ + σ となる確率は、68.27%

E

X

E X

2

各データの平均からのズレの2乗を「エネルギー」と考え、その
エネルギー量の期待値から求まる「ズレの相当量」を計算する
ため、平方根(2乗の逆変換)を取った、と考えると良いです。
E[ ・] は期待値です。

(平均値-2σ) は、偏差値30に相当する。
(平均値-σ) は、偏差値40に相当する。
平均値は、偏差値50に相当する。
(平均値+σ) は、偏差値60に相当する。
(平均値+2σ) は、偏差値70に相当する。

μ + σ < X となる確率は 15.87%
μ + 2 σ < X となる確率は、2.275%
μ + 3 σ < X となる確率は、0.135%

μ + 4.5 σ < X となる確率は、100万分の3.4
μ + 6 σ < X となる確率は、10億分の0.99
― 上記の値はR言語のpnorm関数で求まる。

多くの分布は、平均μ と標
準偏差 σ で特徴付けられ
るので、「σ」のこともよ
く理解しておくと、良い
です。
R言語は1996年に登場した無料で使える統計解析ソフトです。世界中で使われてい
ます。

上記の変数 l (エル) を1万から1億程度に増やしてできるだけ中央値を正確に計算
する。
計算上の工夫として、1000万個ずつ擬似乱数を発生して、中央値を計算して、
csvファイルとして出力して、推定誤差も見積もれるようにする。
結論

ここに現れる数値の組み合わせが、新発見でし
+1.00σ; 10回: +1.50σ ; 30回: た。

4回:
+2.00σ
"経験数"
N

算出に用いた
乱数の個数 M

最大値の中央値
[下2桁の標準誤差(SD )]

最大値の
期待値

1

―

0

0

4
10
30

41億
41億
51億

0.
998
1.
498
1.
998

147 [22]
802 [29]
224 [40]

各Nについて、M 個の乱数をN個ずつ
に分けて、それぞれの最大値を算出
する。それら(M÷N)個の数の中央値と
平均値が、それぞれ第3列と第4列で
ある。この2個の数は、0.03 程度の差
がある。

1. 93
02
1. 67
53
2. 27
04

やや日常的な解釈:
ガウス分布(μ,σは所与)か
ら、
30個の乱数を取り出す。
「その最大値はぴったり50%
の確率で、μ + 1.998.. σ 」以上
になる。同様に 「~」以下に
なる。

意味が分かれば、記憶しやすく、便利な数。

― 近似するとキリの良い数である。
― どの3個の値も、その近似値マイナス0.002 の操作で、さらに精度が
高まる。

各Nについて、50億個前後の擬似乱数を使いましたが、考えられる計算精度は、小数点
以下第4~5桁目に残っています。上記のような計算では、誤差の2乗に反比例して、乱
数の個数が必要となります。(1桁精度を上げるには、さらに100倍の個数の乱数が必要
分かりやすく結論を言い換えると
(1)

言い換えると

• ベストの物を得たいとき、
• 4回試せば、 (厳密に) 50% の確率で、
平均より +0.998 1.. σ 以上の物が得られる。
• 10回試せば、 (厳密に) 50% の確率で、
平均より +1.498 8.. σ 以上の物が得られる。
• 30回試せば、 (厳密に) 50% の確率で、
平均より + 1.998 2.. σ 以上の物が得られる。
σ への係数をさらに0.5ずつ増加させた場合の、上記の4回、10回、30回に続
く数は、111回、513回、2979回、2万1885回、20万4006回となる。キリの良い
数にはならない。
分かりやすく結論を言い換えると
(2)

さらに言い換えると
• ベストの物を得たいとき、

• 4回試せば、49.9% (四捨五入) の確率で、
平均より (厳密に) +1σ 以上の物が得られる。
• 10回試せば、49.9% (四捨五入) の確率で、
平均より (厳密に) +1.5σ 以上の物が得られる。
• 30回試せば、49.9% (四捨五入) の確率で、
平均より(厳密に) +2σ 以上の物が得られる。
考察:
• 日常生活や社会生活の上で、反復経験のご利益
がなぜあるか、ひとつの視点を与える、と考え
られる。
• 「4回くらい経験のありそうな人の話は 1σ 話を差し引いて聞いた方が良い」
• 「10回の経験を知っている人の話は、+1.5σ 盛られた話だから、1.5σ 差し引い
て話を聞いた方が良い。」
• 「30回経験したら、そのうち1回くらいは、-2σ前後に相当する経験をする こ
とになる)

• 「便利」な訳 : 記憶しやすい。知ってしまう
と、1週間に1回程度は、日常生活などで出会う
(と思われる)ため。
― 半分冗談で、半分本気です!!
• 標準偏差 σ を推定する問題、そもそも何を尺度にするかという問題につい
ては説明していないが、妥当で適切な理屈はおそらく存在する。そして、
未解決予想を生み出す可能性を秘めている。
中心となる結果は数値的なものであり、統計の用語で定式化して表現された
ものです。そのような表現は具体的に言うと、多くのたとえ話に使えます。
どういう話に使うかについては、別のセンスが必要ですが、いろいろな面白
ここからは補足事項
予備知識、背景、計算や結果の考察など
補足 :

今回は、R言語に実装されたプログラムが数値的に発
生させる「擬似乱数」を何百億個も使って計算しま
した。今回の計算は、誤差を小さくしようとする
と、その2乗に反比例して、多くの乱数を必要としま
す。擬似乱数ではなくて、物理乱数も使って計算し
て、比較検証もしたいです。

• R言語が生成する乱数は、メルセンヌツイスターを
使っているので、(おそらく)精度が良い(はず)。

• 今回は100億個超の乱数を発生させた。

• R言語による計算は、30分程度以下の作業の繰り返し。
• 中央値を求める median関数に時間がかかったようだ。

• 今回見つけた数は、たまたまキリが良かった。
ひょっとしたら、何か法則性があるかもしれな
い。
• [要考察] コルモゴロフ=スミルノフの検定を用いると、大抵の分布
は、数十個の点をサンプリングしても、ガウス分布となかなか区
別がつかない。考えようによっては、何か考えたいことをガウス
分布に近似させることは、十分に意味がある。
参考1 : 本資料に用いた元の数表
"経験数"
N

最大値の中央値
[下2桁の標準誤差(SD )]

最大値の
期待値

1

―

0

0

4
10
30
110
111
510
511
512
513
514
515
•

算出に用いた
乱数の個数 M
41億
41億
51億
44億
44.
4億
122.
4億
174.
5億
102.
4億
513億
102.
8億
103億

0.
998 1 4 7
1.
498 8 0 2
1.
998 2 2 4
2.
495 892
2.
499 135
2.
998 102
2.
998 797
2.
999 237
2.
999 884
3.
000 461
3.
001 152

[2 7 ]
[3 5 ]
[4 6 ]
[79]
[84]
[86]
[63]
[96]
[43]
[97]
[99]

1.
02
1.
53
2.
04
2.
54
2.
54
3.
04
3.
04
3.
04
3.
04
3.
04
3.
04

93
67
27
15
47
27
27
27
44
50
56

“最大値の中央値” を 0.5刻みで変化させたときのNがどうなるかを考えようとして、たまたま発見した。
•

意味が解釈可能であって、たまたま、Nが2桁以下のときは全て、Nが記憶のしやすい数であった(4,10,30)。

•

そのときの中央値も小数点以下第3位で切り捨てると、 0.5の整数倍から 0.002 少ない数であった(0.998, 1.498, 1.998)。

•

•

ちょうど0.5の整数倍にはならないので、それに最も近い数を追求していたら、上記のような数表となった。

•

N=111, 511の場合は、小数点以下第3位で切り捨てると、 0.5の整数倍から 0.001 少ない数であった。

上記の表の誤差の可能性について
•

メモリの制約があったため、上記の数は、各Nについて、M個の乱数を、約1000万個ずつに分けて、さらにN個ずつに分けて最大値を求めて
中央値と平均値を求めて、さらにそれぞれ平均を求める、という複雑な操作を加えた。これに伴う誤差については、まだ正確に評価はしていない。
参考2:

下のグラフは、必要な時に数値が読み取り
やすいように、格子点を「+」マークにし
ました。こういう方法も広めたいです。

本資料に現れた N= 4, 10, 30, 111, 513 の数をそもそも、ど
うやって思いつくかについては、下記のような近似式を
使ってR言語による計算がひとつのヒントになる。
> log(2)/( pnorm ( seq(1,4,0.5) , lower.tail=F ) )

[1] 4.368889 10.375336 30.467831 111.623919
513.481140 2979.623972 21885.696311
> -qnorm(log(2)/c(4,10,30,111,513))
[1] 0.9412562 1.4809142 1.9934718 2.4980137 2.9997144
(何か説明が必要となった時に使うグラフ)

一様分布を2個組み合わせると何が起こる
か

標準偏差が1で変わらない分布

左下の動画の説明に使う

ガウス分布を2個組み合わせると何が起こる
か

1万サンプルのヒストグラムもこれだけ揺らぐ(N=10の場合の最大値の
分布)
Statement :

本資料で伝えたかった事を数学的に
表現すると、このスライド一枚のよ
うになります。

Assume Norm + ( m,s 2 ) be the distribution of the maximum value of
N
N stochastic variables distributed normally with mean m  and variance s 2 .
Then for N = 4, 10, 30, each median value of Norm + (0,1) are,
N
approximately 0.9981, 1.4988, 1.9982, that are rounded down to
0.998, 1.498, 1.998, respectively. These are easy to remember as
1-e , 1.5-e , 2-e for N = 4, 10, 30 with e =0.002, thus possibly very useful
for your daily and social life. These numeric figures are calculated from
billions of Mersenne Twister psudo-ranom numbers using R language.
次回以降話したいこと
○ サンプリング理論
― データから何かの指標を取り出したときに、
誤差がどれだけあり、どういう風に収束していくものなのか。
― 勘は当てになるのだろうか。
○ 関係が有る/無しをどう言えば良いか。予測するとはなんだろうか。
― 相関係数の話
― 予測とは一体何なのだろうか
― 複数の予測に用いる変数があった場合に、気をつけないといけないこと
○ 統計的検定
― 実際に、データから関係があるか無いかを、言いたい場合に、
具体的にどういう手法があるのか。

Rr100 b