依租金誤差界限計算旅館抽樣家數

場景

    • 美國旅館日租金預估值(Planning Value of σ)為 $22.5 元,誤差界限為 $2 元。

問題

    • 在信心區間 90% 下,求算隨機抽樣旅館家數。(342)

    • 在信心區間 95% 下,求算隨機抽樣旅館家數。(486)

    • 在信心區間 99% 下,求算隨機抽樣旅館家數。(840)

GNU R

# 已知母體標準差,求誤差界限 # 樣本標準差 SampleStdDeviation <- function(populationStdDeviation, sampleSize) { sampleStdDeviation <- (populationStdDeviation) / (sampleSize - 1) sampleStdDeviation } # 樣本誤差 SampleStdError <- function(sampleStdDeviation) { sampleStdError <- sampleStdDeviation sampleStdError } # 從機率反求 z 值 z <- function(probability) { myZ <- qnorm(probability) myZ } # 誤差界限 MarginError <- function(populationStdDeviation, sampleSize, confidenceInterval) { myZ <- z(confidenceInterval + (1-confidenceInterval)/2) marginError <- myZ * (populationStdDeviation / sqrt(sampleSize)) marginError } # 母體標準差預計值 PlanningValueOfPopulationStdDeviation <- function(rangeOfData) { planningValue <- rangeOfData / 4 planningValue } PopulationStdDeviationFromPlanningValue <- function(planningValue) { populationStdDeviation <- planningValue populationStdDeviation } # 已知母體標準差,誤差界限,及信任區間,求樣本數 SampleSizeOfPupolationStdDeviationMarginErrorConfidenceInterval <- function(populationStdDeviation, marginError, confidenceInterval) { myZ <- z(confidenceInterval + (1-confidenceInterval)/2) mySampleSize <- (myZ * populationStdDeviation) / marginError sampleSize <- round(mySampleSize ^ 2, 0) sampleSize } PrintOut <- function(sampleSize, sampleStdError, confidenceInterval, marginError) { print(sprintf("樣本數=%4d 樣本標準誤差=%7.4f 信任區間=%.4f 誤差界限=%.4f [%8.4f, %+8.4f]", sampleSize, sampleStdError, confidenceInterval, marginError, 0-marginError, marginError)) } ############################################################################################################# # 已知 planningValue <- 22.5 marginError <- 2 confidenceInterval <- c(0.9, 0.95, 0.99) # 求算 populationStdDeviation <- PopulationStdDeviationFromPlanningValue(planningValue) for (myMarginError in marginError) { sampleSize <- SampleSizeOfPupolationStdDeviationMarginErrorConfidenceInterval(populationStdDeviation, myMarginError, confidenceInterval) sampleStdDeviation <- SampleStdDeviation(populationStdDeviation, sampleSize) sampleStdError <- SampleStdError(sampleStdDeviation) PrintOut(sampleSize, sampleStdError, confidenceInterval, myMarginError) } # 樣本數= 342 樣本標準誤差= 0.0660 信任區間=0.9000 誤差界限=2.0000 [ -2.0000, +2.0000] # 樣本數= 486 樣本標準誤差= 0.0464 信任區間=0.9500 誤差界限=2.0000 [ -2.0000, +2.0000] # 樣本數= 840 樣本標準誤差= 0.0268 信任區間=0.9900 誤差界限=2.0000 [ -2.0000, +2.0000] #############################################################################################################