プロが教える店舗&オフィスのセキュリティ対策術

池に魚がいるのですが、水面からは見えません。
魚が何匹いるかを測りたいとき、全部を釣り上げるわけにもいきません。
統計的な方法もありますが、ここでは池は小さめで、魚が数十匹程度だと限定して、期待値的な方法で考えていきたいと思います。

魚を釣り、印をつけて、放します。
池に魚がよく混ざったところで、また魚を釣り、印をつけて、放します。
k回目で魚を釣りあげたところ、初めて、印をつけた魚を釣り上げました。
このとき、池にいる魚は何匹だと期待できるのでしょうか?

これは、以前僕が、「誕生日問題、一人ずつに誕生日を聞いていくとき、ダブリが出るまでの人数の期待値は?」
http://oshiete1.goo.ne.jp/qa4444792.html
で質問したものに対して、いわば逆問題ですが、両方とも、明快な式はできていません。
どうかよろしくお願いいたします。

A 回答 (4件)

No2です。

素人が生兵法でコメントし失礼しました。実際の問題で最尤法を使ったことがなく思いつきませんでした。罪滅ぼしにNo3の書かれた説明を補足します。
一般に確率pで起こる事象についてn回独立に実験し、その事象がx回起こる確率PはP=nCxP^x(1-P)^(n-x)です。n個の中にk個の印のあるものがあって、m個のサンプルその中で印のついたものの個数を数えるならば。x個の印のついたものを得る確率はmCx・P^x(1-P)^(m-x)(ここでP=k/n)ですね。
質問者さんの実験は以下のような事情になりますね。
一回目は印のついたものを取り出す確率がゼロ、印のないものを取り出す確率が1で確率1のものが実現されるだけです。
二回目は印のついたものを取り出す確率が1/n、つかないものを取り出す確率が1-1/n、3回目はそれぞれ2/nと1-2/n、4回目はそれぞれ3/nと1-3/n...でk回目は(k-1)/nと1-(k-1)/nになりますね。各状況で1回づつ結果が得られ、実現された結果は、1回目からk-1回目までは1-a/n(aは1からk-2)の側、最後が(k-1)/nの側ですね。
よって尤度関数Lは実現された結果と未知数nを含む式として
L=1x(1/n)^0(1-1/n)^1x(2/n)^0(1-2/n)^1x(3/n)^0(1-3/n)^1...((k-2)/n)^0(1-(k-2))^1x((k-1)/n)^1(1-(k-1)/n)^0
となります。(nCrはみな1ですので省きます。)これは整理すればNo3さんの書かれたとおり
L=(n-1)!(k-1)/{(n-(k-1))!n^(k-1)}
となります。これの極大をあたえるnを出せば、それが最も尤もらしい値です。どうもすみませんでした。
    • good
    • 0

http://oshiete1.goo.ne.jp/qa4444792.html
の式を使って最尤判定するのが、まあ、最尤という名前どおり、一番もっともらしいでしょう。

尤度関数は、
L(n|k) = (n-1)!(k-1)/n^(k-1)(n-k+1)!
ですから(ただし、n≧k-1)、これをnの関数(kは定数と思う)だと思ったときに最大値をとるnを見つければよいです。
というわけで、
d/dn[ L(n|k) ] = 0
あるいは、
d/dn[ log(L(n|k)) ] = 0
になるような nを見つければいいですが、これは多分、陽には解けませんね。

数値的には、
k=10 で nの推定値=41,7
k=20 で nの推定値=183.4
k=50 で nの推定値=1208.44
k=100 で nの推定値=4916.78
k=200 で nの推定値=19833.4
k=500 で nの推定値=124583.4
て感じですね。
    • good
    • 0

もっと単純な例を考えてみた方がよいと思います。

池のn匹(知らない数)の魚に、k匹(知っている数)印をつけて置き、十分混じったところで釣りを開始し、m回釣ったら偶然1匹かかったとします。一応得られた印のついた魚の存在確率は1/mとなります。これで印のついている魚の真の比率はどの程度の精度で推定できるでしょうか?
こうした例は印のついたもの(p=k/n)とついていないもの(q=(n-k)/n)の二項母集団を扱うことになります。印のついたものを1、ついてないものを0とすれば、その確率変数の平均値はk/n(=p)、分散はpq=k(n-k)/n^2になります。
m回の釣りのセット(釣り上げた魚は池にもどす)を繰り返すと、印のついた魚の比率(標本比率)は、p=k/nを平均値とし、標準偏差√(pq/m)={k(n-k)/mn^2}^(1/2)の分布をします。m回の釣りを1セットだけやって1匹釣ってp=1/mとしても、これがk/nをどの程度の信頼度で推定できるのかわかりません。
質問者さんの条件はさらに面倒で、各回で釣り上げる確率が変わっています。池に魚はk-1匹以上いることはわかりますが、それ以上の推定は難しいのではないかと思います。
    • good
    • 0

これで正しいのか自信もないですが・・・・



仮に池の中の魚がn匹だとして、
2回目に印をつけた魚を釣ってしまう確率は1/n
3回目に印をつけた魚を釣ってしまう確率は2/n
m回目に印をつけた魚を釣ってしまう確率は(m-1)/n
になると思います。
従って、期待値として何回魚を釣れば印をつけた魚を釣ることができるかを考えると
(1+2+3+・・・・+(k-1))/n=1
となる回数と思われます。
従って、想定される魚の数は
1+2+3+・・・・+(k-1)
ではないでしょうか?
    • good
    • 1

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