区间估计 --- 样本容量的求解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiaoyangdetian/article/details/82427619
应用场景:对于美国汽车租赁已有的市场发现,租赁一辆中型汽车的租赁费用大约每天约55美元,假定该项研究的组织者想要进行一项新的调查,对在美国一辆中型汽车的租赁费用的总体均值进行估计。当新研究的设计中,当项目负责人估计每天租赁费用的总体均值时,设定的置信水平为95%,边际误差为2美元
求:所需的样本容量的大小
数据符合正态分布特征
技术场景:E值是使用者能接受的边际误差,z 值可以直接由区间估计中所用到的置信水平确定,这里要求总体的标准差std是已知的,
如果总体的标准差未知,解决方案:
  1> 根据以前的研究数据,计算总体标准差的估计值作为std的计划值
  2> 利用实验性研究,选取一个初始样本,以初始样本的标准差作为std的计划值
  3> 对std值进行判断或最优猜测 
import numpy as np

global base_data

def GetBaseData():

    # 假设:这里生成过去一段时间的汽车租赁费用数据,求取的标准差,作为总体的std的计划值

    global base_data
    base_data = np.random.randint(low=45, high=65, size=500)

    return

def PresionWork():

    return

def WorkSpace():

    GetBaseData()
    print('base_data=', base_data)

    a = 0.95     # 置信为95%
    E = 2        # 能接受的边际误差为2
    x_mean = 55  # 以往的经验值,汽车租赁费用每天大概55美元
    Z = 1.96     # 因为选取了a = 0.95,这里查表得到的Z

    # 求取以往的标准差std,作为std的计划值
    std_list = list([])
    for j in range(300):
        data = np.random.choice(base_data, size=100)
        std_one = np.std(data, ddof=1)
        std_list.append(std_one)
        j = j + 1

    std_list = np.array(std_list)
    std = np.mean(std_list)
    print('step1')
    n = ((Z * Z) * (std * std)) / (E * E)
    print('求取的样本容量为:', n)

    # 结果:求取的样本容量为:33.866656791753286, 我们向下取整,为34个


    return

WorkSpace()
 

猜你喜欢

转载自blog.csdn.net/jiaoyangdetian/article/details/82427619