rr100 b

19
いいいいいいいいいいいい いいいいいいいいいいい 「」 いいいいいいいいい 2013-12-10 いい いいいい ― JAPAN.R 2013 @Yahoo! LT いいいいいいいいいいい ― "いいい" N いいいい 中中中 いいいい 中中中 4 0.998 1.02 10 1.498 1.53 30 1.998 2.04 (い い い い い い いい い い いい) いいいいいい いいいいいいいいいいいいいいいいいいいいいいいいいいいい いいいい 、、 いいいいいいいいいいいいいいいいいいいいいいいいいいいいいい ( いいいいい ) いい 100 いいいいいい いいいいいいいいいいいいい

Upload: toshiyuki-shimono-

Post on 26-Jan-2015

102 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rr100 b

いくつかの物や話の中から「ベスト」を取り出すとは

どういうことなのか

2013-12-10 作成 下野寿之 ― JAPAN.R 2013 @Yahoo! LT の発表資料のアレンジ版 ―

" "経験数N

最大値の中央値

最大値の期待値

4 0.998 1.0210 1.498 1.5330 1.998 2.04

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

私の知る限り、誰も知らない面白そうなことを新発見したように思ったので、統計学の教育にも役に立つだろうと考え、いろいろな所で話をしています。

乱数 ( ガウス分布 ) を約 100 億個取り出し便利そうな数を算出してみた

Page 2: Rr100 b

知らないことは数回反復して経験して分かる• 1 回だけの経験では分からないから。• せいぜい 3 回も経験したら分かってしまった気になることもあ

る。 ( 例 : 引越し、旅行、就職活動や結婚など )• いくつかの物品から欲しいものを探すときも、その行為に、数理的にどういう意

味があるのだろうか ?

• しかし、 N=1,2,3 程度は統計学的な意味を成しているのだろうか ?

• そして、 N=1 の人と、 N=30 の経験を知っている人とは、どれだけ有利 / 不利の差があると言えるだろうか ?

• etc.

― 以上が本発表の問題意識 ( 上記の問いに、全て答える訳では無いです。 )

背景

Page 3: Rr100 b

「乱数 N 個の最大値」はどんな分布だろうか ?

ある分布を決めて、乱数を N 個取り出す。そして、その N 個から最大値を取り出す。この値はどんな分布だろうか ? 特に中央値はいくらであろうか ? ← これに答えます。

何を考えようとしたか

「中央値」とは、上位から 50% のところに位置する値です。「平均」は、全部足して個数で割った値です。中央値と平均値は異なる概念であり、必ずしも等しくは無い値です。

期待値という言葉も出てきますが、期待値は平均と同じ計算をします。文脈により、期待値と言うか平均値と言うかが異なる、と考えて良いです。

Page 4: Rr100 b

一様分布であれば話は簡単

[0,1] 区間の一様分布から取り出した N 個の乱数の最大値 X( 確率変数 ) を考える。X の期待値 ( 多数の X の平均値 )は N/N+1 と比較的容易な数式になる。N 期待値 中央値 標準偏差

1 0.500 0.500 0.2892 0.667 0.707 0.2363 0.750 0.794 0.1944 0.800 0.841 0.1635 0.833 0.871 0.1416 0.857 0.891 0.1247 0.875 0.906 0.1108 0.889 0.917 0.0999 0.900 0.926 0.090

10 0.909 0.933 0.083

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

1

2( 1) ( 2)

1

1/ 2

N

N

N

N N

X N x

NX

N

X

X

の確率密度関数は

の期待値は

の中央値は

の標準偏差は

Page 5: Rr100 b

N を変えた時の最大値の分布

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

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

N 中央値 平均値 標準偏差

1 0.00 0.00 1.002 0.54 0.56 0.833 0.81 0.84 0.754 1.00 1.03 0.705 1.13 1.16 0.676 1.23 1.27 0.657 1.32 1.35 0.638 1.39 1.42 0.619 1.45 1.49 0.60

10 1.50 1.54 0.5911 1.55 1.59 0.5812 1.59 1.63 0.5713 1.63 1.67 0.5614 1.66 1.70 0.5515 1.69 1.74 0.5516 1.72 1.77 0.5417 1.75 1.80 0.5418 1.78 1.82 0.5319 1.80 1.85 0.5320 1.82 1.87 0.5321 1.84 1.89 0.5222 1.87 1.91 0.5223 1.89 1.93 0.5124 1.90 1.95 0.5125 1.92 1.96 0.5126 1.94 1.98 0.5127 1.95 2.00 0.5028 1.97 2.01 0.5029 1.99 2.03 0.5030 2.00 2.05 0.50

Page 6: Rr100 b

予備知識 : ガウス分布とは

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

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

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

Histogram of runif(1e+06)

runif(1e+06)

Fre

quen

cy

0.0 0.2 0.4 0.6 0.8 1.0

010

000

3000

050

000

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

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

Fre

quen

cy

0.0 0.5 1.0 1.5 2.0

020

000

6000

0

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

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

Fre

quen

cy

0.0 0.5 1.0 1.5 2.0 2.5 3.0

050

000

1000

0015

0000

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

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

Fre

quen

cy

0 1 2 3 4

040

000

8000

012

0000

Histogram of rnorm(1e+06)

rnorm(1e+06)

Fre

qu

en

cy

-4 -2 0 2 4

02

00

00

40

00

06

00

00

80

00

0

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

Page 7: Rr100 b

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

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

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

rnorm(1e+06, 50, 10)

Fre

qu

ency

0 20 40 60 80 100

02

00

00

40

00

06

00

00

80

00

0

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

μ + σ < X となる確率は 15.87%

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

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

μ + 4.5 σ < X となる確率は、 100万分の 3.4

μ + 6 σ < X となる確率は、 10 億分の 0.99

― 上記の値は R 言語の pnorm関数で求まる。

多くの分布は、平均 μ と標準偏差 σ で特徴付けられるので、「 σ 」のこともよく理解しておくと、良いです。

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

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

Page 8: Rr100 b

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

R 言語は 1996年に登場した無料で使える統計解析ソフトです。世界中で使われています。

Page 9: Rr100 b

4 回 : +1.00σ; 10 回 : +1.50σ ; 30回 : +2.00σ

意味が分かれば、記憶しやすく、便利な数。   ― 近似するとキリの良い数である。  ― どの 3 個の値も、その近似値マイナス 0.002 の操作で、さらに精度が高まる。

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

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

結論" "経験数

N算出に用いた

乱数の個数 M最大値の中央値

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

1 ― 0 0

4 41億 0.998 147 [22] 1.02 93

10 41億 1.498 802 [29] 1.53 67

30 51億 1.998 224 [40] 2.04 27

ここに現れる数値の組み合わせが、新発見でした。

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

Page 10: Rr100 b

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

• 4 回試せば、 (厳密に ) 50% の確率で、平均より +0.998 1.. σ 以上の物が得られる。

• 10 回試せば、 (厳密に ) 50% の確率で、平均より +1.498 8.. σ 以上の物が得られる。

• 30 回試せば、 (厳密に ) 50% の確率で、平均より + 1.998 2.. σ 以上の物が得られる。

分かりやすく結論を言い換えると (1)

σ への係数をさらに 0.5 ずつ増加させた場合の、上記の 4 回、 10 回、 30 回に続く数は、 111 回、 513 回、 2979 回、 2万 1885 回、 20万 4006 回となる。キリの良い数にはならない。

Page 11: Rr100 b

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

• 4 回試せば、 49.9% (四捨五入 ) の確率で、平均より (厳密に ) +1σ 以上の物が得られる。

• 10 回試せば、 49.9% (四捨五入 ) の確率で、平均より (厳密に ) +1.5σ 以上の物が得られる。

• 30 回試せば、 49.9% (四捨五入 ) の確率で、平均より (厳密に ) +2σ 以上の物が得られる。

分かりやすく結論を言い換えると (2)

Page 12: Rr100 b

考察 : •日常生活や社会生活の上で、反復経験のご利益

がなぜあるか、ひとつの視点を与える、と考えられる。

• 「 4 回くらい経験のありそうな人の話は 1σ 話を差し引いて聞いた方が良い」• 「 10 回の経験を知っている人の話は、 +1.5σ 盛られた話だから、 1.5σ 差し引

いて話を聞いた方が良い。」• 「 30 回経験したら、そのうち 1 回くらいは、- 2σ前後に相当する経験をする

ことになる )

• 「便利」な訳 : 記憶しやすい。知ってしまうと、1週間に 1 回程度は、日常生活などで出会う ( と思われる ) ため。

― 半分冗談で、半分本気です !! • 標準偏差 σ を推定する問題、そもそも何を尺度にするかという問題につい

ては説明していないが、妥当で適切な理屈はおそらく存在する。そして、未解決予想を生み出す可能性を秘めている。中心となる結果は数値的なものであり、統計の用語で定式化して表現された

ものです。そのような表現は具体的に言うと、多くのたとえ話に使えます。どういう話に使うかについては、別のセンスが必要ですが、いろいろな面白い話に使えます。

Page 13: Rr100 b

ここからは補足事項予備知識、背景、計算や結果の考察など

Page 14: Rr100 b

補足  :

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

• 今回は 100 億個超の乱数を発生させた。• R 言語による計算は、 30 分程度以下の作業の繰り返し。• 中央値を求める median関数に時間がかかったようだ。

• 今回見つけた数は、たまたまキリが良かった。ひょっとしたら、何か法則性があるかもしれない。

• [要考察 ] コルモゴロフ = スミルノフの検定を用いると、大抵の分布は、数十個の点をサンプリングしても、ガウス分布となかなか区別がつかない。考えようによっては、何か考えたいことをガウス分布に近似させることは、十分に意味がある。

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

Page 15: Rr100 b

参考 1 : 本資料に用いた元の数表

• “最大値の中央値” を 0.5刻みで変化させたときの N がどうなるかを考えようとして、たまたま発見した。• ちょうど 0.5 の整数倍にはならないので、それに最も近い数を追求していたら、上記のような数表となった。• 意味が解釈可能であって、たまたま、 N が 2桁以下のときは全て、 N が記憶のしやすい数であった (4,10,30) 。• そのときの中央値も小数点以下第 3 位で切り捨てると、 0.5 の整数倍から 0.002 少ない数であった (0.998, 1.498, 1.998) 。• N=111, 511 の場合は、小数点以下第 3 位で切り捨てると、 0.5 の整数倍から 0.001 少ない数であった。

• 上記の表の誤差の可能性について• メモリの制約があったため、上記の数は、各 N について、 M 個の乱数を、約 1000万個ずつに分けて、さらに N 個ずつに分けて最大値を求めて

中央値と平均値を求めて、さらにそれぞれ平均を求める、という複雑な操作を加えた。これに伴う誤差については、まだ正確に評価はしていない。

" "経験数N

算出に用いた 乱数の個数 M最大値の中央値

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

1 ― 0 0

4 41億 0.998 147 [27] 1.02 93

10 41億 1.498 802 [35] 1.53 67

30 51億 1.998 224 [46] 2.04 27

110 44億 2.495 892 [79] 2.54 15

111 44.4億 2.499 135 [84] 2.54 47

510 122.4億 2.998 102 [86] 3.04 27

511 174.5億 2.998 797 [63] 3.04 27

512 102.4億 2.999 237 [96] 3.04 27

513 513億 2.999 884 [43] 3.04 44

514 102.8億 3.000 461 [97] 3.04 50

515 103億 3.001 152 [99] 3.04 56

Page 16: Rr100 b

参考 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

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

Page 17: Rr100 b

( 何か説明が必要となった時に使うグラフ )

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

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

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

左下の動画の説明に使う

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

Page 18: Rr100 b

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

Page 19: Rr100 b

次回以降話したいこと

○ サンプリング理論

― データから何かの指標を取り出したときに、 誤差がどれだけあり、どういう風に収束していくものなのか。 ― 勘は当てになるのだろうか。

○ 関係が有る / 無しをどう言えば良いか。予測するとはなんだろうか。

― 相関係数の話 ― 予測とは一体何なのだろうか ― 複数の予測に用いる変数があった場合に、気をつけないといけないこと

○ 統計的検定

― 実際に、データから関係があるか無いかを、言いたい場合に、 具体的にどういう手法があるのか。