政策支持度機率計算

場景

    • 政府欲推動某向法案,舉辦 250 人之公聽會,其中執政黨中有 150 人,反對黨中有 100 人。
    • 根據統計:
      • 平均有 47% 的人支持此法案。
      • 政黨傾向統計:
        • 執政黨中有 64% 的人支持此法案。
        • 反對黨中有 29% 的人支持此法案。

問題

    • (a) 在公聽會中,在未知政黨人數比例前,至少 50% 支持此法案的機率為何?
    • (b) 在公聽會中,在已知政黨人數比例後,支持此法案的人數為何?

分析

    • 依問題特性可知,此為二項式機率分佈問題。
    • 但因樣本數大,其分佈曲線趨近於標準常態分佈。

答案

    • (a) 在公聽會中,在未知政黨人數比例前,至少 50% 支持此法案的機率為 0.1875。
    • (b) 在公聽會中,在已知政黨人數比例後,支持此法案的人數為 125。

# 二項式機率 BinomialMean <- function(sampleSize, mySuccessProbability) { myMean <- sampleSize * mySuccessProbability myMean } BinomialStdDeviation <- function(sampleSize, mySuccessProbability) { myStdDeviation <- sqrt(sampleSize * mySuccessProbability * (1 - mySuccessProbability)) myStdDeviation } BinomialStdDeviation2 <- function(myMean, mySuccessProbability) { myStdDeviation <- sqrt(myMean * (1 - mySuccessProbability)) myStdDeviation } ############################################################################################## # 公聽會人數,執政黨人數,反對黨人數 sampleSize <- c(250, 150, 100) # 母體法案支持者比率,執政黨中法案支持者比率,反對黨中法案支持者比率 mySuccessProbability <- c(0.47, 0.64, 0.29) myMean <- BinomialMean(sampleSize[1], mySuccessProbability[1]) myStdDeviation <- BinomialStdDeviation2(myMean, mySuccessProbability[1]) # 至多 125 人(不含第 125 人),支持法案機率 mySampleSize <- 124.5 myProbability <- pnorm(mySampleSize[1], mean=myMean, sd=myStdDeviation) print(sprintf("母體支持機率=%.4f 樣本平均數=%.4f 當樣本數<=%.1f 時,支持機率=%.4f", mySuccessProbability[1], myMean, mySampleSize, myProbability)) # 至少 125 人(含第 125 人),支持法案機率 myProbability <- 1 - myProbability print(sprintf("母體支持機率=%.4f 樣本平均數=%.4f 當樣本數>=%.1f 時,支持機率=%.4f", mySuccessProbability[1], myMean, mySampleSize, myProbability)) myFavor <- sampleSize[2] * mySuccessProbability[2] myFavor <- myFavor + sampleSize[3] * mySuccessProbability[3] # 公聽會法案支持者人數 print(sprintf("公聽會支持法案人數=%d", round(myFavor)))