私の結婚式に何人が来るのか計算してください!各人に割合を割り当てて追加できますか?


37

結婚式を計画しています。私の結婚式に何人の人が来るかを見積もりたいと思います。私は人々のリストと彼らがパーセンテージで参加する可能性を作成しました。例えば

Dad 100% Mom 100% Bob 50% Marc 10% Jacob 25% Joseph 30%

パーセンテージのある約230人のリストがあります。私の結婚式に何人の人が出席するかを見積もるにはどうすればよいですか?パーセンテージを合計して100で割ることはできますか?たとえば、それぞれ10%の確率で10人を招待した場合、1人を期待できますか?50%の確率で20人を招待した場合、10人を期待できますか?

更新:140人が私の結婚式に来ました:)。以下で説明する手法を使用して、約150を予測しました。


43
あなたが結婚している人の姿は見当たりません。それが最も重要な量です。
ニックコックス

6
私はあなたのテクニックを私の結婚式に使用しましたが、うまくいきました。約80人を予測し、85人ほどを得ました。スプレッドシートにこれらすべての人がいると、同じスプレッドシートを使用して、お礼状を送信した人などを追跡することもできます。
エリックリッパー

2
関連:timharford.com/2013/10/guest-list-angst-a-statistical-approach。それが価値があるため、著者の個人ブログへのリンクを選択しましたが、記事はFinancial Timesの彼のコラムからです。
スティーブジェソップ

@EricLippert私は私の結婚式のために似たようなことを試みましたが、それほど成功しませんでした。当日は非常に激しい雷雨が発生し、1時間以上の通勤で30%未満の人は全員表示されませんでした。
OSE

3
@NickCoxまた、彼らは自分自身を忘れていました。
JFA

回答:


32

結婚式に招待される人の決定が独立していると仮定すると、結婚式に来るゲストの数は、必ずしも同一の成功確率とは限らないベルヌーイ確率変数の合計としてモデル化できます。これは、ポアソン二項分布に対応します。

ましょ外のあなたの結婚式に来る者の合計数に対応するランダム変数であるN人物を招待。予想される参加者の数は、実際には個々の「ショーアップ」確率p iの合計、つまり E X = N i = 1 p iです。 信頼区間の導出は、確率質量関数の形式を考えると簡単ではありません。ただし、モンテカルロシミュレーションでは簡単に近似できます。XNp

Eバツ==1Np

次の図は、10000人のシミュレートされたシナリオに基づいた結婚式への参加者数の分布の例を示しています(右)。このシミュレーションの実行に使用されるRコードを以下に示します。信頼区間の近似値を提供します。

ここに画像の説明を入力してください

## Parameters
N      <- 230    # Number of potential guests
nb.sim <- 10000  # Number of simulations

## Create example of groups of guests with same show-up probability
set.seed(345)
tmp    <- hist(rbeta(N, 3, 2), breaks = seq(0, 1, length.out = 21))
p      <- tmp$breaks[-1]    # Group show-up probabilities
n      <- tmp$counts        # Number of person per group

## Generate number of guests by group
guest.mat <- matrix(NA, nrow = nb.sim, ncol = length(p))
for (j in 1:length(p)) {
    guest.mat[, j] <- rbinom(nb.sim, n[j], p[j])
}

## Number of guest per scenario
nb.guests <- apply(guest.mat, 1, sum)

## Result summary
par(mfrow = c(1, 2))
barplot(n, names.arg = p, xlab = "Probability group", ylab = "Group size")
hist(nb.guests, breaks = 21, probability =  TRUE, main = "", xlab = "Guests")
par(mfrow = c(1, 1))

## Theoretical mean and variance
c(sum(n * p), sum(n * p * (1-p)))
#[1] 148.8500  43.8475

## Sample mean and variance
c(mean(nb.guests), var(nb.guests))
#[1] 148.86270  43.23657

## Sample quantiles
quantile(nb.guests, probs = c(0.01, 0.05, 0.5, 0.95, 0.99))
#1%     5%    50%    95%    99% 
#133.99 138.00 149.00 160.00 164.00 

1
うわーこれは素晴らしいです。これはどのようなシミュレーションですか?
Behacad 14

4
それはあるモンテカルロ・シミュレーション
QuantIbex

「グループサイズ」をゲスト数にどのように変換しますか?私は左側にあなたのようなフィギュアを持っていますが、それを右側のフィギュアに変える方法が
わかりませ

これは、回答で提供されるコードの11行目から18行目で行われます。シナリオjでは、二項分布とそのグループが現れる確率を使用して、20の確率グループのそれぞれに対して「ショー」の数を生成します。
QuantIbex 14

18

指摘されているように、期待は単純に追加されます。

ただし、期待があまり役に立たないことを知ることは、その周りの可能性のある変動についてもある程度の感覚が必要です。

あなたが心配する必要がある3つの事柄があります:

  • 期待の周りの個人のばらつき(60%の確率で来る人は実際に期待を達成しません;彼らは常にそれを上回るか下回る)

  • 人々の間の依存。両方とも来るかもしれないカップルは、両方とも出席するか、どちらもしない傾向があります。幼い子供たちは両親なしでは出席しません。場合によっては、他の人がそこにいることを知っている場合、一部の人は来ないことがあります。

  • 確率の推定における誤差。これらの確率は単なる推測です。多少異なる推測の影響を考慮したい場合があります(他の誰かによるそれらの数値の評価)

1つ目は、通常の近似またはシミュレーションによる計算に適しています。2番目は、人々に固有の、または依存関係の分布を考慮することにより、さまざまな仮定の下でシミュレートできます。(3番目の項目はより困難です。)


コメントのフォローアップの質問に対処するために編集されました:

あなたの言い回しを正しく理解していれば、4人家族の場合、4人の人それぞれが50%の可能性があります。それは確かに2の予想数ですが、期待値の周りの変動性についてもある程度把握しておく必要があります。その場合、4の0/50%の50%の実際の状況を維持したいでしょう。

すべての人を独立したグループに分割できる場合、適切な最初の近似(そのようなグループが多数ある)は、独立したグループ全体で平均と分散を追加し、その合計を通常のように処理することです(おそらく連続性補正を使用)。より正確なアプローチは、プロセスをシミュレートするか、数値畳み込みにより分布を正確に計算することです。両方のアプローチは簡単ですが、これはこの特定のアプリケーションにとって不必要なレベルの精度です。なぜなら、すでに非常に多くの近似の層があるからです-それは部屋の大きさを最も近い足に伝え、必要な塗料の量を計算するようなものです最も近いミリリットル-追加の精度は無意味です。

(簡単にするために)4つのグループがあることを想像してください。

1)グループA(1人)-出席率70%

2)グループB(1人)-出席率60%

3)グループC(4人家族)-0:0.5 4:0.5(誰かが家にいる場合、誰も来ません)

4)グループD(2人のカップル)-0:0.4 1:0.1 2:0.5(つまり、両方が50%の確率で、もう一方が仕事に従事している場合や病気の場合に10%の確率で正確に一方が来る)

次に、次の平均と分散を取得します。

      mean   variance
  A    0.7     0.21
  B    0.6     0.24
  C    2.0     4.0
  D    1.1     0.89

 Tot   4.4     5.34

したがって、この場合、通常の近似はかなり大雑把になりますが、7人を超える人は(5%のオーダーで)かなりありそうにないことを示唆し、6またはそれ以下はおよそ75-80%の時間で発生します。

[より正確なアプローチはプロセスをシミュレートすることですが、カットダウンの例ではなく完全な問題では、すでに非常に多くの層が存在するため、これはおそらく不要です。]


このようなグループ依存関係を組み込んだ複合ディストリビューションを作成したら、次に、全体的な共同依存関係(悪天候など)のソースを適用するか、状況に応じてそのような不測の事態に対して単純に保険をかけるか、無視することもできます。


5
依存関係について言及する場合は+1。これらは、天候や旅行条件など、対人関係以外の理由で発生します。それらの多くは正の相関関係を引き起こし、不確実性の範囲を広げます。推定値を使用してロジスティクス(食事、座席など)を提供する場合、変動を正確に評価することが重要です。結婚式のアプリケーションでは、経験に基づいた推測を行う以上のことはできませんが、これらの統計現象を定性的に理解することは、より良い推測につながります。
whuber

@whuber天気など、依存のその他の原因に関する良い点。状況によっては、そのようなことは私が言及した効果を簡単に圧倒します。
-Glen_b-モニカーの復帰2014

どのように依存関係を簡単に考慮することができますか?たとえば、2人の子供を持つカップルを知っていて、両親が来る可能性が約50%あると予想している場合。彼らが来たら子供を連れてくると知っています。各人の50%を属性として保存し、基本的に2人が来ていると仮定しますか?
Behacad 14

2
@Behacad:与えられたグループですべてか無かの質問であることがわかっている場合、グループが単一のユニットとして来る確率を推定し、そのグループ内の個人の数でグループに重みを付けることができます。誤差範囲も見積もりに含めるとよいことに同意します。
ニックスタウナー

ありがとうございました。割合とその割合の人の数の小さなテーブルがありますが、今何をすべきか正確にはわかりません。追加する意味は何ですか?どのような違いがありますか?(100%-52、90%-21、80%-34、70%-16、60%-32、50%-35、40%-25、30%-11、20%-22、10%-15 、0%-9)
Behacad

5

(これに関する以前のコメントを無視します-期待を他の何かと混同していることに気付きました。)あなたが本質的に現れる人数の期待を見つけようとしていることを考えると、理論的に各人が現れる確率を加えることができますそうするまで。

01

ただし、これは期待値のみを提供します-さらなる仮定なしでは、登場する人々の分散などを推定することは困難に思えます。特に、登場する人物Aが登場する人物Bと必ずしも独立していないと仮定するのはかなり公平だからです。

それはさておき、ここに漠然と関連するBBCの記事があります。


ありがとうございました!確認のために、10人が10%の確率で来ていると思うなら、たとえば1人が来ると推測できます。
Behacad 14

理論上ははい、しかし、物事をさらに仮定することなく、より有用なもの(信頼区間など)を構築することは難しいようです。

ありがとうございました。信頼区間に到達するにはどうすればよいですか?
Behacad 14

いくつかの理由で、私には完全にはわからない。(詳細な回答を得るには、おそらくもっと時間をかけていくつかの

4

多数の場合、80%が期待どおりです。これは、提案する詳細な分析が計算にエラーを追加するだけの場合があります。
たとえば、マークの潜在的な出席は本当にジョセフの1/3ですか?ジョセフは本当に30%ですか、それとも25%でしょうか?このすべての分析よりも80%だけ有効である大きな数値に到達すると、事態が発生します。私はちょうど結婚式から戻ってきました。550人が招待されました。452人が参加しました。ホールを計画し、仕出し屋と話し始めるために、440の最初の見積もりは大丈夫でした。

トーストからカップルへのラインを提供できますか?「あなたの妻が幸せであるが、あなたが幸せでないなら、あなたはあなたの妻が不幸である場合よりもはるかに幸せであるが、あなたは幸せであることを覚えておいてください。」


ありがとうございました!懸念事項の1つは、人々が世界中からさまざまな距離からやってくるということです。かなり遠いものもあれば、通りを歩いているところもあります。
Behacad

3
この数字は文化に依存する可能性があります。
ジュホコッカラ

@Juho-そうかもしれない。私はアメリカにいます。最近の例では、招待者の約半数が行き先の結婚式でした。つまり、結婚式は花嫁の故郷でした。文化の違いが投票率にどのような影響を与えるのだろうかと思いますが、あなたは正しいと思います。
JTP-モニカに謝罪

4
これは、理論上は存在しますが、実際には珍しいと思われる推定器の素晴らしい例です(この種のものを探すまで)。データのセットがあれば、所定の数(この場合は80%)を返します。計算が簡単で、非常に安価で(データ収集コストをゼロに減らすことができます)、分散がゼロです。Bayes(アトミックプライア)であり、許容されます。「詳細な分析」を回避することで対処するのが難しく、消えないバイアスと一貫性についてのしつこい質問がまだあります。
whuber

2

結婚したばかりの統計学者として、JoeTaxpayerが正しい答えを持っていることをお伝えします。80%という数字は、私が少し高いと感じますが、ほとんどの人が地元の人であれば正確かもしれません(私たちは目的地の結婚式で、65%近くに上陸しました)。

しかし、それにもかかわらず、あなたは人々が参加する事前確率に多くの変動性を仮定している、私は実際に存在する以上のものだと思います。あなたが積極的にあなたを嫌う人を招待しないと仮定すると、それは彼らの手段の範囲内であり、彼らは紛争を持たない(広い意味で)ほぼすべての人が来ると仮定する必要がありますが、少なくとも10-20%彼らが出席できないようにする何かがあるでしょう。旅行しなければならない人のために、それは必要な時間とお金を増やすので、旅行者の30-35%は参加しません(距離に応じて)。それ以外の場合は、確率を一定に保ちます(両親が「オースティンまでずっと飛んで行かないので、招待したいだけです...」と言っても)。特にオープンバーで楽しいレセプションを開催している場合、一般的に、必要な場合を除き、人々はそれをスキップしません。

とにかく、結婚おめでとうございます。結婚する確率については、これは常に良い読み物です:http : //users.nber.org/~bstevens/papers/Marital_Stability.pdf

:-)


1

すべての確率を合計します。これがあなたの予想される人数です。

i = 1..N個のイベントがあり、それぞれに確率があります P1P1

もちろん、誰かが来るかどうかは、他の人の出席に依存しないと仮定しています。この仮定は単に間違っています。カップルを考えてください、彼らは非常に相関しています。

相関関係に関するデータがないため、できることは、カップルをユニットとして処理することです。 2×1PP


1

私の結婚式のために、私は2つのリストを作成しました-出席する可能性が高い(80%)と出席する可能性が低い(20%)。何らかの理由でさらに洗練された評価に関係なく、私は2つのグループのいずれかに招待された全員を割り当てました。私は2人離れていました。N =1。純粋に発見的。


聞いてもいいですか?最終的な投票率は何でしたか?
JTP-モニカに謝罪14年

72%が「はい」と答えましたが、キャンセルの日数を忘れています。
michaelcarniol 14

0

あなたは100で割る必要がないことを誰も指摘していないことに気づきます。あなたの割合は、シュレディンガーの猫のように、人の一部を取得しないことを理解して、人の予想される部分として表示できます出席しているかどうかにかかわらず、各人の出席状態はイベントの瞬間に完全に解決されます。

割合の範囲は0%(表示されている人はいない)から100%(表示されているすべての人)であるため、10人と20人を含む2つの例では、それぞれの部分の期待値を合計しました登場する人、およびユニットが「人」である番号を取得しました。

QuantIbexの優れた答えの著名な方程式は、パーセンテージを合計すると、イベントに参加する予想人数が得られることを示しており、部門は関係していません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.