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

母集団分布が平均m、分散Vの正規母集団に対して、標本数nの標本平均μの分布は平均m、分散V/nになるかと思います。
標本数nの最大値Lはどの様な分布になるか分かるでしょうか?

質問者からの補足コメント

  • ありがとうございます。
    すごいです。

    最大値の場合、kを0にすべきか1にすべきか不明ということでしょうか?

    この分布の標準偏差とか平均とかはいくつになるでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/02/03 11:46
  • 最大値の場合、kをn-1にすべきかnにすべきか不明

    ということですかね?

      補足日時:2023/02/03 14:30
  • なかなか難しいのですが、下の方にある式の左辺がdistからfに変わったのはxkの分布がxの分布に等しいと仮定したという事でしょうか?

    スターニングの式より矢印の下の式の方が正確という事でしょうか?

    あまり詳しくないので申し訳ありません。

    No.6の回答に寄せられた補足コメントです。 補足日時:2023/02/06 11:46
  • うれしい

    どうもありがとうございます。

    観測数が1個の時は最大値の分布は母集団と同じで、kamiyasiroさんの数え方ではn=2となり最大値はk=1でx1となるかと思います。
    ↓の下の式の右辺は
    2F(x)(1-F(x))f(x)
    となります。母集団のxの分布f(x)と一致しません。どう考えたらよいしょうか?

    No.7の回答に寄せられた補足コメントです。 補足日時:2023/02/06 17:36

A 回答 (15件中1~10件)

話を簡単にするために、母集団は標準正規分布に従うとします。


標準正規分布の確率密度関数を f(x)、分布関数を F(x) とおきます。

標本の大きさを n (標本数ではありません)としたときの最大値の分布の確率密度関数 g(x) は、No.1 にも記載されている式から求められるとおり、
g(x) = n・F(x)^(n-1)・f(x)
となります。

従って、最大値 X_n の期待値 E[X_n] と分散 V[X_n] は
E[X_n] = ∫_(-∞, ∞ x・g(x) dx
V[X_n] = ∫_(-∞, ∞ (x - E[X_n])^2・g(x) dx
を計算すればいいのですが、n = 2, 3 以外は難しいですね。
シミュレーションか数値計算するのが手っ取り早いでしょう。

統計解析ソフト R( https://www.R-project.org/ )で# 母集団が標準正規分布で標本の大きさが n の最大値の分布の期待値と標準偏差を r回シミュレーションして推定してみました。

なお、標準正規分布の分位点から求めるのは過小評価してしまうので、注意が必要です。
(分位点は 100(n/(n+1)) %点を求めれば良い)


# スクリプト始め
fn <- function(r, n) {
x <- matrix(rnorm(n*r), ncol = n)
y <- apply(x, 1, max)
return(list(data = y, mean = mean(y), sd = sd(y)))
}

r <- 1000000

m2 <- fn(r, 2)
m2$mean # 期待値の推定値
m2$sd # 標準偏差の推定値
1/sqrt(pi) # 期待値の理論値
sqrt(1 - 1/pi) # 標準偏差の理論値

m3 <- fn(r, 3)
m3$mean # 期待値の推定値
m3$sd # 標準偏差の推定値
3/2/sqrt(pi) # 期待値の理論値

m4 <- fn(r, 4)
m4$mean # 期待値の推定値
m4$sd # 標準偏差の推定値

m5 <- fn(r, 5)
m5$mean # 期待値の推定値
m5$sd # 標準偏差の推定値

# スクリプト終わり



# 実行結果

> m2 <- fn(r, 2)
> m2$mean # 期待値の推定値
[1] 0.5647878
> m2$sd # 標準偏差の推定値
[1] 0.824598
> 1/sqrt(pi) # 期待値の理論値
[1] 0.5641896
> sqrt(1 - 1/pi) # 標準偏差の理論値
[1] 0.8256453
>
> m3 <- fn(r, 3)
> m3$mean # 期待値の推定値
[1] 0.847149
> m3$sd # 標準偏差の推定値
[1] 0.7475422
> 3/2/sqrt(pi) # 期待値の理論値
[1] 0.8462844
>
> m4 <- fn(r, 4)
> m4$mean # 期待値の推定値
[1] 1.029649
> m4$sd # 標準偏差の推定値
[1] 0.7004804
>
> m5 <- fn(r, 5)
> m5$mean # 期待値の推定値
[1] 1.16297
> m5$sd # 標準偏差の推定値
[1] 0.6696181
    • good
    • 0
この回答へのお礼

ありがとうございます。

>標本の大きさを n (標本数ではありません)

これはどういう意味になるでしょうか?

お礼日時:2023/02/07 14:30

降りたい、と言いながら再登場することをお許しください。



累積確率が合わない件、
気になったので、過去の検討を探し出して確認しました。

正規確率プロットにしっかり乗っている図の計算方法は、
・スターリングの式に従って(変形せず)1~n番目で計算する。
・プロットする際にメディアンランクで累積確率を求めてプロットする。
ということをやっていました。

スミマセンでした。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2023/02/08 10:23

No.10 です。



> >標本の大きさを n (標本数ではありません)
>
> これはどういう意味になるでしょうか?

例えば、ある母集団から n 人を無作為に抽出して何かを調べたとします。
この n 人が一つの標本となります。
これとは別の母集団から m 人を無作為に抽出して、同じ何かを調べたとします。
この m 人も一つの標本となります。
n 人の標本と m 人の標本で標本数は 2 となります。
標本の大きさ(サンプルサイズ)は、それぞれ n, m となります。
    • good
    • 0
この回答へのお礼

そういうことですか。
ありがとうございます。

お礼日時:2023/02/08 10:22

お詳しい方が参加されたので、あとはお任せして、私は降りたいと思います。



分かりにくい説明、どうも申し訳ございませんでした。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2023/02/07 03:27

お詳しい方が参加されたので、あとはお任せして、私は降りさせて頂きます。



色々とありがとうございました。
    • good
    • 0

#10さんは、分位点は 100(n/(n+1)) %点を求めれば良いと書かれていますが、これは平均ランク法ですね。



メディアンランク法(近似値)で計算すると、下記のように40個中の39個目は95.8%となり、そのときの期待値は1.727となります。
まあ、それに近いかなあ。

> (39 - 0.3) / (40 + 0.4)
[1] 0.9579208
> qnorm(0.9579208)
[1] 1.727052
    • good
    • 1

せっかくなので、最大値分布というのをやってみます。



n=40、k=39でやってみます。

これは97.5%点になるので、期待値は1.96になるはずです。
そして、標準正規分布の最大値付近なので、上側のすそ野は+3σあたりに来るはずです。

グラフを見ると、おおかた合ってますよね。

最大値の標準偏差は、さすがにデータ個数が多い分0.35と小さいです。


> # n=40, k=39 でやってみる
>
> x <- seq(0, 4, by = 0.01)
> y <- NULL
>
> for(i in x){
+ y <- append(y, choose(40, 39) * pnorm(i)^39 * (1 - pnorm(i))^1 * dnorm(i))
+ }
>
>
> # 確率密度補正
>
> y <- y / sum(y)
> plot(x, y)
>
> # 標準偏差
>
> E1 <- sum(x * y)
> E2 <- sum(x^2 * y)
> sqrt(E2 - E1^2)
[1] 0.3520701



で、ちょっと、気になることが・・・

期待値が1.76と計算されるんですよ。
97.5%までいっていないということですよね。
でも95%点の1.645は上回っています。
96.1%くらい。微妙な違いですね。

以前やったときは、ちゃんと正規確率紙に乗ったので、このプログラムは後半の部分で何か間違えている気がします。

累積点を出すときに、平均ランク補正かメディアンランク補正を掛けた気もします。

40個中39番目のデータの分布の形としては、たぶん正しいんですが、これが全データの何%点に相当するかというところでずれています。

この件、気になったら、閉じずに待っていて下さいね。
またまた、古いプログラムを探さなきゃ。
数日、掛かると思います。
「統計学 最大値の標準偏差」の回答画像9
    • good
    • 1

式の右辺はそうなりますよ。


ですが、母集団とは一致しません。0~2まで変化する観測値の中央値の分布が出てきます。

さて、この式のxに-4~4までを刻んで代入してやってみましょう。
n,kは、n=2、k=1にします。

中央値の分布が出てくるはずです。
標準正規分布に変換しているので、平均は0です。
確率密度の山は、全体の分布の一部なので、合計が1になりません。
標準偏差を計算するときは、密度補正をして、全体の面積を1にします。
中央値の標準偏差は約0.67と計算されました。
これは、今のデータ幅は0~2の範囲なので、両端にラッパ状に広がり全範囲では標準偏差1で±3で分布するはずですので、中央値だけなら0.67程度でおおかた正しいのではないでしょうか。

以下は統計ソフトRでやっています。

> # データ数が1個の時のスターリングの式
>
> x <- seq(-4, 4, by = 0.01)
> y <- NULL
>
> for(i in x){
+ y <- append(y, choose(2, 1) * pnorm(i)^1 * (1 - pnorm(i))^1 * dnorm(i))
+ }
>
>
> # 確率密度補正
>
> y <- y / sum(y)
> plot(x, y)
>
> # 標準偏差
>
> E2 <- sum(x^2 * y)
> sqrt(E2 - 0^2)
[1] 0.6698291
「統計学 最大値の標準偏差」の回答画像8
    • good
    • 1

左辺のdist(xk)とf(xk)は、意味の違いはありません。

k番目のxの密度関数の式の意味です。表記を変えてスミマセン。

↓の上下で、計算値の正確さは変わりません。ただスターリングの式は何番目のxかという数値に気を使う必要があります。n=10のとき、5番目のデータは中央値にはなりません。

↓の下の式は、ただ単に、そういう数え方の式に変形しただけです。
データ数が99個のとき、n=100というように1個増やして計算するときに用いる、私が変形した式です。例えばデータが0~100で全範囲、両端から1個目(1個目と99個目)のデータについて、左右対称の分布が得られるようになっています。
この回答への補足あり
    • good
    • 0

正規分布に従うn個の標本の最大値の分布ですが、



スターニングの式を拡大解釈して、スターリングの式のnはそのままで、現在の観測個数をnー1個と考えます。
そして、0~nまでを100%とします。
すると、添付図のように式を変形できます。簡単に言えば、観測数より1個多めにするのです。

次に、実際の観測値は、簡単のために標準正規分布に基準化します。

すると、スターリングの式でn=100のとき、99個データがあるとすると、
・前から50番目(後ろからも50番目)は累積確率50%点になります。期待値は0です。
・最大値が99番目だとすると99番目のデータは累積確率は99%です。すると、最大値の期待値は、99%点は、2.3263σですから、この2.3263が期待値になります。1番目のデータは同様にー2.3263が期待値になります。

この期待値はnによって変わります。サンプルが39個しかなければ、39/40=97.5%点になり、期待値は1.96になります。
正規分布を扱っていれば、分かると思います。

次に、計算式によって分布形を計算します。方法としてはー∞から+∞までxを振って代入するんでしょうが、期待値±4くらいの範囲で細かく刻んで代入すれば良いです。ここでは、N(0,1)の累積確率F(x)、確率密度f(x)を使います。

計算された分布形は、添付図のように、1個目2個目と形が変わっていきます。この図は上側の分布形で、下側はこれとは対称になります。
なお、添付図はn≒1200くらいのケースの例です。

添付図は集団外れ値を検討したもので、上位2個や上位20個の合算した分布もありますが、無視して下さい。

標準偏差は、xを刻んで代入して出てきた数値を使って計算します。分布形が都度変わるので、標準偏差も都度計算する必要があり、一般形で示すことはできません(できるかもしれませんが私は数値計算しました)。
「統計学 最大値の標準偏差」の回答画像6
この回答への補足あり
    • good
    • 2

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