用python学概率与统计(第七章)抽样分布 (第八章) 区间估计

7.4抽样分布

任意一个样本统计量的概率分布被称为该统计量的抽样分布、
x¯ 的数学期望等于从总体中抽取样本的总体均值

E(x¯)=μ

x¯ 的标准差
有限总体
σx¯=NnN1(σn)

无限总体
σx¯=σn

p抽样分布
期望 E(p¯)=p
标准差:有限总体:
σp¯=NnN1(p(1p)n)

无限总体:
σx¯=p(1p)n

np >=5 n(1-p)>=5时 我们认为 p¯ 的抽样分本可以用正态分布近似表示

区间估计

区间估计能够提供有关估计精度的信息。
我们通过点估计值加上和减去一个边际误差(margin of error)的值,可以构建出一个总体参数的区间估计

8.1大样本估计

假定 σ 已知的大样本情况(n>=30):
总计均值的区间估计

x¯±zα/2σn

其中1- α 是置信系数, zα/2 是当标准正态分布的上侧面积为 α/2 时的z的值
这种情况需要知道总体的标准差,如果不知道的情况需要用总体标准差的样本点估计值s

如果是小样本,并且知道总体的标准差 σ 需要假设总体满足正态分布,方法和大样本相同
如果是小样本,不知道总体的标准差 σ ,只知道样本的标准差s需要假设总体满足正态分布,并且使用t分布
t分布是一系列类似的概率分布,依赖于自由度,自由度越大,越接近正态分布
小样本且假设总体满足正态分布:用s估计 σ 的小样本情况(n<30):

x¯±tα/2sn

data2 = pd.read_csv('rainfall.csv',header = None)
rainfall = data2.iloc[:,0]
#定义一个求t分布的置信区间函数
def ci_t (data,confidence=0.95):

    # 先求一下 bins ,以便画图用得上.
    IQR = data.quantile(0.75) - data.quantile(0.25)
    bin_size = 2 * IQR / len(data)**(1.0/3)


    # 画个源数据图表.以便对源数据的一个直观了解
    plt.rcParams['font.sans-serif']=['SimHei']
    n = plt.hist(data,bins = round(bin_size),rwidth=0.9)
    plt.vlines(data.mean(), 0,max(n[0])+1,colors = "r", linestyles = "dashed",label="平均值%.2f" % np.mean(data))
    plt.title('源数据'+str(len(data))+'个样本分布 直方图')
    plt.ylabel('频数')
    plt.legend()
    plt.show()

    # 真正开始计算
    sample_mean = np.mean(data)
    sample_std = np.std(data)    
    sample_size = len(data)
    alpha = 1 - 0.95
    t_score = scipy.stats.t.isf(alpha / 2, df = (sample_size-1) )

    ME = t_score * sample_std / np.sqrt(sample_size)
    lower_limit = sample_mean - ME
    upper_limit = sample_mean + ME

    print( str(confidence*100)+ '%% Confidence Interval: ( %.2f, %.2f)' % (lower_limit, upper_limit))
    return lower_limit, upper_limit

作者:pnjoe
链接:https://www.jianshu.com/p/6cfce4cc2f7f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

用python学概率与统计(第七章)抽样分布 (第八章) 区间估计_第1张图片

确定样本容量

用python学概率与统计(第七章)抽样分布 (第八章) 区间估计_第2张图片

总体比例的区间估计

用python学概率与统计(第七章)抽样分布 (第八章) 区间估计_第3张图片

总体比例的样本容量

用python学概率与统计(第七章)抽样分布 (第八章) 区间估计_第4张图片

你可能感兴趣的:(python数据分析)