プロが教えるわが家の防犯対策術!

ある母集団は、平均値がAの正規分布又はポアソン分布であり、その標準偏差は√Aで表されます。その母集団から、N個サンプリングしたとします。(正規分布とポアソン分布のどちらで考えてもいいです。)
N個サンプリングしたデータについて、最大値と最小値の標準偏差はどのように表されるでしょうか。平均値Aとサンプリング数Nで表されるはずなのですが、どうしても分かりません。
よろしくお願いいたします。

A 回答 (5件)

計算で求めた平均100(標準偏差10)のポアソン分布で65536個サンプリングしたときの


最大値の標準偏差は3.17109459844303でした。
正規分布だと計算式に今一自信がありませんが2.78528535874631です。

Nを大きくすると標準偏差は小さくなりますが対数に反比例するかたちで
N=65536とはいえ、極めてとはいかないようです。
以下N=1,10,100,1000,10000,100000の標準偏差です。

10
6.191267961
4.669656868
3.904312363
3.439114194
3.11999874

なお、用いた計算式は

今、最大値がBである確率をM(B)とし、P(B)をBにおける確率密度、
D(B)をBまでの累積確率密度とし、組み合わせの計算をC[a,b]=a!/b!(a-b)!とすると、
N個サンプリングしてBが最大値になる確率は最低1個はBが出て、後はB以下の数字が出ることから
その値はN個全てがBになるorN-1個がB、一個がB未満、・・・一個がB、N-1個がB未満の確率の和となり、

M(B)=P(B)^N+C[N,1]P(B)^(N-1)*D(B-1)+C[N,2]P(B)^(N-2)*D(B-1)^2+・・・+C[N,N-1]P(B)*D(B-1)^(N-1)
={P(B)+D(B-1)}^N-D(B-1)^N
=D(B)^N-D(B-1)^N

期待値=Σk{D(k)^N-D(k-1)^N}

分散=Σk^2{D(k)^N-D(k-1)^N}-期待値^2

標準偏差=分散^0.5

これをExcelで計算しました。
ポアソンなら離散的ですのでこの式で間違いないと思いますが、連続の正規分布に使えるかどうか。。。
そこらへんが#2(#4)さんとの結果の違いかもしれません。
    • good
    • 0
この回答へのお礼

非常にスマートな回答、有難うございました。
内容は私でも理解できそうなので、実際にエクセルで計算してみたいと思います。
実は、もともとポアソン分布を対象にしていました。
皆さん、非常に早く親切な回答なので、心から感謝します。

お礼日時:2005/12/22 23:28

プログラムを見直して高速化し、標準正規分布で N = 65536 の場合について1万試行の計算を3回行ったところ、それぞれの回で得られた標準偏差の推定値は 0.271376, 0.271439, 0.271327 でした。



Sub NormDist65536()
Dim i As Integer
Dim j As Long
Dim data(1 To 10000) As Double
Dim random, max As Double
For i = 1 To 10000
max = 0
For j = 1 To 65536
random = Rnd()
Do While random > 0.999999999999999 'エラー回避
random = Rnd()
Loop
If random > max Then
max = random
End If
Next j
data(i) = Application.WorksheetFunction.NormSInv(max)
Next i
Cells(1, 1) = Application.WorksheetFunction.StDev(data)
End Sub
    • good
    • 0
この回答へのお礼

マクロを書き直していただき、有難うございました。
正規分布の場合、だいぶ標準偏差は小さくなるようですね。自分でもマクロを試してみようと思います。
非常にすばやい回答で感動しました。

お礼日時:2005/12/22 23:22

とりあえず、母集団が(0,1)の一様分布だとすると、N個サンプリングしたときの最大値、最小値の分布は、それぞれ、ベータ分布 β(N,1)、β(1,N)に従います。


http://www.kwansei.ac.jp/hs/z90010/sugakuc/touke …

実際には、母集団は、一様分布ではなくて、正規分布あるいはポアソン分布ですので、一様分布から、これらの分布に変換すれば、よいです。

正規分布(あるいはポアソン分布)の累積密度関数をの逆関数をF(z)とします。(いわゆるパーセント点と呼ばれるやつです。)
Xが一様分布(0,1)にしたがう確率変数のとき、F(X)は、正規分布(あるいはポアソン分布)になります。

というわけで、正規分布(あるはポアソン分布)に従う母集団から、N個サンプリングしたデータの、最大値と最小値は、
それぞれ確率分布、
F(β(N,1)) , F(β(1,N))
にしたがうことになります。平均、標準偏差も、ここから求まります。
    • good
    • 0
この回答へのお礼

感動しました。回答有難うございます。
すばらしいです。ベータ関数は始めて知りました。
逆関数にして代入するところを、まだ感覚的に理解できていませんが、じっくり考えたいと思います。

お礼日時:2005/12/22 23:17

式で表すことはできないのではないかと思いますので、シミュレーションを行ってみました。

ポアソン分布の場合は難しいので、正規分布の場合だけです。簡単のため、標準正規分布(標準偏差1)としました。
Nが1から5までの場合(N = 1は確認のため)について、Nサンプル中の最大値を得る試行を5,000回行い、そこから標準偏差の推定値を求めました。これを各Nについて10回繰り返して平均を求めたところ、N = 1, 2, 3, 4, 5に対して、得られた値はそれぞれ

1.00, 0.82, 0.75, 0.70, 0.67

となりました。標準正規分布以外の場合は、これらにもとの分布の標準偏差をかけたものが近似値になると思います。用いたプログラム(Excelのマクロ)は以下の通りです。「Const trialCount As Integer = 」のあと の数字が、Nです。

Sub sample()
Dim data(1 To 5000) As Double
Dim i, j, k As Integer
Const trialCount As Integer = 2
Dim sampleSet(1 To trialCount) As Double

For i = 1 To 10
For j = 1 To 5000
For k = 1 To trialCount
sampleSet(k) = Application.WorksheetFunction.NormSInv(Rnd())
Next k
data(j) = Application.WorksheetFunction.Max(sampleSet)
Next j
Cells(i, trialCount) = Application.WorksheetFunction.StDev(data)
Next i
End Sub
    • good
    • 0
この回答へのお礼

わざわざマクロを作成していただき、有難うございました。

やっぱり、数学的に解くのは難しいですかね。

Nが多くなると最大値の標準偏差が小さくなるのは、間違いないようですね。私が対象としているのはN=65536の場合ですから、標準偏差は極めて小さくなると予想してるのですが。

お礼日時:2005/12/21 22:01

>ある母集団は、平均値がAの正規分布又はポアソン分布であり、その標準偏差は√Aで表されます。



>N個サンプリングしたデータについて、最大値と最小値の標準偏差はどのように表されるでしょうか。

この2つの文章から、標準偏差について基本的な誤解をしていると思われますが、そのことについてお気づきでしょうか?

 

この回答への補足

説明足らずでした。申し訳ありません。
N個サンプリングした時点で、最大値と最小値は決定します。
次に、それと独立にN個サンプリングした場合、別途、最大値と最小値が決定し、それは必ずしも最初のサンプリング時の値とは一致しません。
N個サンプリングすることを繰り返した場合、最大値と最小値の分布が得られると思います。そのばらつき(=標準偏差)が知りたいです。

補足日時:2005/12/21 17:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!