編集:悲劇!私の最初の仮定は間違っていました!(あるいは、少なくとも、売り手があなたに言っていることを信頼していますか?それでも、Mortenにヒントをお願いします。)これは統計のもう1つの良い紹介ですが、部分シートアプローチが以下に追加されます(人々は全体シートを好むように思われたので、おそらく誰かがそれをまだ便利だと思うでしょう。
まず、大きな問題。しかし、もう少し複雑にしたいと思います。
そのため、私がやる前に、もう少し簡単にして、今あなたが使用している方法は完全に合理的だと言っておきましょう。安くて理にかなっています。だから、もしあなたがそれに固執しなければならないなら、あなたは気分が悪くないはずです。バンドルをランダムに選択するようにしてください。そして、すべてを確実に計量できる場合(whuberとuser777へのヒント)、それを行う必要があります。
私がそれをもう少し複雑にしたい理由は、あなたがすでに持っているからです-あなたはちょうど私たちに全体の合併症について教えていない、つまりです- カウントには時間がかかり、時間もお金です。しかし、いくら?たぶん、実際にすべてを数えるほうが安いでしょう!
ですから、あなたが本当にしていることは、カウントにかかる時間と節約している金額のバランスを取ることです。(もちろん、このゲームは1回しかプレイしません。次回、これが売り手で発生した場合、彼らは追いついて新しいトリックを試したかもしれません。ゲーム理論では、これはシングルショットゲームと反復の違いです。ゲーム。しかし、今のところ、売り手が常に同じことをするふりをしましょう。)
しかし、推定に到達する前にもう1つ。(そして、あまりにも多くのことを書いて申し訳ありませんが、それでも答えが得られませんでしたが、それは統計学者が何をするかに対するかなり良い答えでしょうか?彼らがそれについて何かを言うことに抵抗する前に。)そして、それは以下に基づく洞察です:
(編集:実際にチートしている場合...)セラーはラベルを削除してもお金を節約できません。シートを印刷しないことでお金を節約できます。彼らはあなたのラベルを他の誰かに売ることはできません(私は推測します)。そして、多分、私は知らないし、あなたがそうするかどうかも知らない、彼らはあなたの物の半分のシートと他の誰かのものの半分のシートを印刷できない。つまり、カウントを開始する前に、ラベルの総数はであると仮定できます9000, 9100, ... 9900, or 10,000
。それが今のところ私がアプローチする方法です。
全シート法
この問題のように問題が少し難しい(離散的で境界のある)場合、多くの統計学者が何が起こるかをシミュレートします。シミュレートしたものは次のとおりです。
# The number of sheets they used
sheets <- sample(90:100, 1)
# The base counts for the stacks
stacks <- rep(90, 100)
# The remaining labels are distributed randomly over the stacks
for(i in 1:((sheets-90)*100)){
bucket <- sample(which(stacks!=100),1)
stacks[bucket] <- stacks[bucket] + 1
}
これにより、シート全体を使用しており、仮定が正しいと仮定すると、ラベルが(プログラミング言語Rで)配布される可能性があります。
それから私はこれをしました:
alpha = 0.05/2
for(i in 4:20){
s <- replicate(1000, mean(sample(stacks, i)))
print(round(quantile(s, probs=c(alpha, 1-alpha)), 3))
}
これは、「ブートストラップ」法を使用して、4、5、... 20個のサンプルを使用して信頼区間を見つけます。つまり、平均して、N個のサンプルを使用する場合、信頼区間はどれくらいの大きさになりますか?これを使用して、シートの数を決定するのに十分小さい間隔を見つけ、それが私の答えです。
「十分に小さい」とは、95%の信頼区間に整数が1つしかないことを意味します。たとえば、信頼区間が[93.1、94.7]の場合、正しいシート数として94を選択します。それは整数です。
別の難しさ- あなたの自信は真実に依存しています。90枚のシートがあり、すべてのパイルに90個のラベルがある場合、非常に速く収束します。100枚と同じです。そこで、最大の不確実性が存在する95枚のシートを調べましたが、95%の確実性を確保するには、平均で約15個のサンプルが必要であることがわかりました。全体として、実際に何が存在するのか分からないため、15個のサンプルを取得したいとしましょう。
必要なサンプル数がわかったら、予想される節約量は次のとおりです。
100Nmissing−15c
c500−15∗
ただし、この作業をすべて実行させた場合は、その人にも請求する必要があります。
(編集:追加!)部分シートアプローチ
さて、メーカーが言っていることは真実であり、それは意図的なものではないと仮定しましょう-いくつかのラベルがすべてのシートで失われているだけです。あなたはまだ、全体的にいくつのラベルについて知りたいですか?
この問題は異なります。きれいな決定を下すことができなくなるためです。これは、Whole Sheetの仮定の利点でした。以前は11の答えしかありませんでした-現在、1100があり、正確にいくつのラベルがあるかについて 95%の信頼区間を取得すると、おそらく必要以上に多くのサンプルを取得することになります。それで、これについて違った考え方ができるかどうか見てみましょう。
これは本当にあなたが決定を下すことに関するものであるため、1つの取引でどれだけのお金を失うか、1つのスタックをカウントするのにどれだけのお金がかかるか、いくつかのパラメーターがまだありません。しかし、私はあなたができることをそれらの数字で設定させてください。
再度シミュレートします(ただし、ユーザー777を使用しない場合はuser777に依存しますが!)が、異なるサンプル数を使用する場合は間隔のサイズを確認することが有益です。これは次のように実行できます。
stacks <- 90 + round(10*runif(100))
q <- array(dim=c(17,2))
for(i in 4:20){
s <- replicate(1000, mean(sample(stacks, i)))
q[i-3,] <- quantile(s, probs=c(.025, .975))
}
plot(q[,1], ylim=c(90,100))
points(q[,2])
(今度は)各スタックが90から100の間の一様にランダムな数のラベルを持っていると仮定し、以下を提供します:
もちろん、物事がシミュレートされたようなものであれば、真の平均はスタックあたり約95サンプルであり、真実よりも低いです。これは実際にベイジアンアプローチの1つの引数です。ただし、サンプリングを続けるにつれて、回答についてどれだけ確実になっているのかを知ることができます。また、サンプリングのコストを、価格設定に関する取引と明示的にトレードオフすることができます。
私が今知っていることですが、私たちは皆、本当に知りたいと思っています。