okkyの日記: The Lincoln Index
「数学で身につける柔らかい思考力」という本がある。
ここに「リンカーン・インデックス」というサンプリングの話が載っている。
あるプログラムにバグがあるとしよう。二人の人に独立してバグを見つけてもらったところ、
A: Ma 個のバグが見つかりました。
B: Mb 個のバグが見つかりました。
という報告が上がった。
バグ同士が絡み合って酷い事になっている、という報告がなかっただけでも優秀なプログラムと言えよう…ってそういう話ではなく。
ここで、A と B が発見したバグを比較したところ、S 個のバグが共通している事が判ったとする。
この場合、
予測されるバグの総数 = Ma * Mb / S
となる、と言うのが「リンカーン・インデックス」なのだそうだ。
# 共通したバグが1つもない場合、無限にバグがありえるんだろうなぁ :p
『こりゃ面白いワイ。早速ここに書いておいて、後で blog のネタにでも…』とここまで来てはたと困った事に気がついた。
「リンカーン・インデックス」のスペルが判らん…。
本にはカタカナでしか載っていない。Wikipedia はもちろん、日本語で「リンカーン・インデックス」とググっても出てこない。七転八倒して、当て推量で Lincoln Index でやっとこさ見つけだしたのがこの2ページ。
http://www.offwell.free-online.co.uk/lincoln.htm
http://teachers.net/lessons/posts/2222.html
実は、2ページしか見つけていないので、本当に Lincoln なのか、何か別のスペルミスではないのか、いまだに自信が無い。
-----------------
翌日発見したが、
1) Lincoln Index はあっている
2) これはより広くは Petersen Estimation (Petersen 法) として知られている、母集団推定法の一種。
母集団 N が変わらないと仮定する。また個体は十分高速に動き回り、その動きはランダムだと仮定する。さらに、個体差はほとんどない、と仮定する。
最初、Ma 個のサンプル個体を取得する。これらのサンプルにはマーカーをつけた上で、リリースする。
十分時間が経ち、個体が十分混ざった後で、再度サンプル個体を取得する。この個数を Mb とする。
Mb 個の個体の内、S個が1回目でつけたマーカーをつけていたとする。
この場合、N = Ma * Mb / S になる、という推定法。実際には個体の差は存在し、一度捕まえることが出来た個体は再度捕まえることが出来る公算が高い、などの理由で軽く2倍、3倍の間違いが出るらしい。
でも、簡単な推測方法なので、良く使われる。
バグの種類も人間が見つけやすいもの、見つけにくいものがあるので、同じような誤差は入り込むだろう。が、何も考えないよりはましだ。
The Lincoln Index More ログイン