★ 確率計算 ★

2879. 確率計算 文系学生 2004/04/06 (火) 01:34
├2900. Re: 確率計算 ときた 2004/04/08 (木) 16:41
│└2924. Re^2: 確率計算 文系学生 2004/04/10 (土) 10:22
└2880. Re: 確率計算 kazu 2004/04/06 (火) 12:56
 ├2890. Re^2: 確率計算 青木繁伸 2004/04/07 (水) 17:07
 │└2895. Re^3: 確率計算 ときた 2004/04/07 (水) 20:05
 ├2886. Re: 確率計算 ひの 2004/04/06 (火) 17:29
 │└2887. Re^2: 確率計算 j54854 2004/04/06 (火) 20:45
 │ └2888. Re: 確率計算 ひの 2004/04/06 (火) 23:11
 └2884. Re^2: 確率計算 ときた 2004/04/06 (火) 17:04


2879. 確率計算 文系学生  2004/04/06 (火) 01:34
統計というか,確率の問題かもしれませんが,どのように考えれば計算できるのか,アドバイスいただけるとうれしいです.

1〜1,000までの,1,000種類の整数値があります.
ここから,n=100の標本を,1回抽出(復元抽出)します.

結果,のべ100の整数値が抽出されますが,復元抽出なので,この100の整数値の中には,同じ整数値が出現する可能性もあるはずです.

このとき,例えば,

・2つずつある整数値が10種類ある
 (のべ100の整数値のうち,整数値の種類は90しかない)

ような状態が起こる可能性を計算したいのです.

「2つあるような整数値が少なくとも1つある」ではなく,「2つあるような整数値が少なくとも10個ある」のように,整数値が重複するケースが「複数」ある場合の計算方法を知りたいです.よろしくお願いします.

     [このページのトップへ]


2900. Re: 確率計算 ときた  2004/04/08 (木) 16:41
> 統計というか,確率の問題かもしれませんが,どのように考えれば計算できるのか,アドバイスいただけるとうれしいです.
>

高校数学の二項分布はパスカルの三角形。
多項分布はその拡張 で。
Coefficient[(x + y + z)^3, x*x*y]
3
Coefficient[Sum[x[i], {i, 1000}]^100,  Product[x[i] , {i, 90}]*Product[x[i] , {i, 10}]]
91138882269476711603221912945572949697964812758185177215422816303923437493388589461856898414215349888919626875807835701417173057536000000000000000000000000
%*Binomial[1000, 10]*Binomial[990, 80]//(1000^100) // N
0.00564311

     [このページのトップへ]


2924. Re^2: 確率計算 文系学生  2004/04/10 (土) 10:22
多くの皆様のたくさんのお返事に感謝いたします.
ちょっとついていけていないところもありますが,じっくり考えてみます.ありがとうございました.

     [このページのトップへ]


2880. Re: 確率計算 kazu  2004/04/06 (火) 12:56
モンテカルロシミュレーションじゃだめですか?

Rなら(私もR初心者レベルなんで,ちょっと不安ですが)
x<-rep(9999,10000)
for (i in 1:10000){
x[i]<-length(levels(as.factor(sample(1:1000,100,replace = TRUE))))
}
length(x[x == 90])
hist(x)
ちなみに
>のべ100の整数値のうち,整数値の種類は90しかないのは上述のコードで1.2%ぐらい。少ないからちょっと時間かけて100000回もやればよいかと?

     [このページのトップへ]


2890. Re^2: 確率計算 青木繁伸  2004/04/07 (水) 17:07
> x[i]<-length(levels(.....))
    :
> length(x[x == 90])
x[i] には数値の種類数しかはいらないので,以下のようなものも勘定していることになっていると思います。
頻度1の数値が 81 個  延べ 81 個の数値
頻度2の数値が 8 個  延べ 16 個の数値
頻度3の数値が  1 個  延べ  3 個の数値
合計      90 個    100 個

     [このページのトップへ]


2895. Re^3: 確率計算 ときた  2004/04/07 (水) 20:05
数字の種類が90になるタイプは分割数で,
Partitions[10]
 {{10}, {9, 1}, {8, 2}, {8, 1, 1}, {7, 3}, {7, 2, 1}, 
 {7, 1, 1, 1}, {6, 4}, {6,  3, 1}, {6, 2, 2}, {6, 2, 1, 1},
 {6, 1, 1, 1, 1}, {5, 5}, {5, 4, 1}, {5,  3, 2}, 
 {5, 3, 1, 1}, {5, 2, 2, 1}, {5, 2, 1, 1, 1}, 
 {5, 1, 1, 1, 1,   1}, {4, 4, 2}, {4, 4, 1, 1}, 
 {4, 3, 3}, {4, 3, 2, 1}, {4, 3, 1, 1, 1}, {4,2, 2, 2}, 
 {4, 2, 2, 1, 1}, {4, 2, 1, 1, 1, 1}, {4, 1, 1, 1, 1, 1, 1}, 
 {3,3, 3, 1}, {3, 3, 2, 2}, {3, 3, 2, 1, 1}, {3, 3, 1, 1, 1, 1}, 
 {3, 2, 2, 2,    1}, {3, 2, 2, 1, 1, 1}, {3, 2, 1, 1, 1, 1, 1}, 
 {3, 1, 1, 1, 1, 1, 1,     1}, {2, 2, 2, 2, 2}, {2, 2, 2, 2, 1, 1}, 
 {2, 2, 2, 1, 1, 1, 1}, {2, 2, 1,  1, 1, 1, 1, 1}, 
 {2, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}
と42タイプあります。
retu[l_] := Join[1 + l, Table[1, {n, 90 - Length[l]}]]
kumi[l_] := Length /@ Split[retu[l]]
kakuritu[l_] :=
   
  Times @@ MapThread[
        Binomial, {Drop[FoldList[Subtract, 1000, kumi[l]], -1], kumi[l]}]*     100!/Times @@ Map[#! &, retu[l]]  *N[ 10^(-300), 20 ]
Map[kakuritu, Partitions[10]]
で,それぞれの確率が計算でき,合計
0.011141193473947972242
では。
100万回あそぶのに,Mac G5で200秒くらいかかりました。

     [このページのトップへ]


2886. Re: 確率計算 ひの  2004/04/06 (火) 17:29
> モンテカルロシミュレーションじゃだめですか?

 たかだか1000×100通りなんだから,全部しらみつぶしに調べたほうが正確で簡単。もちろん解析的にやれば手で計算できますが。

     [このページのトップへ]


2887. Re^2: 確率計算 j54854  2004/04/06 (火) 20:45
> > モンテカルロシミュレーションじゃだめですか?
>
>  たかだか1000×100通りなんだから,全部しらみつぶしに調べたほうが正確で簡単。もちろん解析的にやれば手で計算できますが。

1000×100じゃなくて,1000^100通りのような気が...

     [このページのトップへ]


2888. Re: 確率計算 ひの  2004/04/06 (火) 23:11
> 1000×100じゃなくて,1000^100通りのような気が...

あ゛そうでした(^^;)。

     [このページのトップへ]


2884. Re^2: 確率計算 ときた  2004/04/06 (火) 17:04
> モンテカルロシミュレーションじゃだめですか?
>
受験数学で,
Binomial[1000, 10]*Binomial[990, 80]*(100!)/((2^10)*(1000^100 ))
で
0.00564310698
toru[l_] :=  Module[{ll = Length /@ Split[Sort[l]]}, (Count[ll, 2] == 10)~ And~(Count[ll, 1] == 80)]
Table[Table[Random[Integer, {1, 1000}], {i, 100}], {j, 100000}];
Select[%, toru];
Length[% ]
586
と100万回くらい遊ばないと大数の法則が効いてこない。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 028 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る