概率统计Python计算:单个正态总体方差的单侧区间估计

在这里插入图片描述
对函数sigma2Bounds(详见博文《单个正态总体方差的双侧区间估计》)稍作修改,就可得到计算总体参数 σ 2 \sigma^2 σ2单侧置信上限或下限的函数。

from scipy.stats import chi2                    #导入chi2分布
def sigma2Bound(d, df, confidence, low=True):   #定义函数
    alpha=1-confidence                          #计算置信度中的alpha
    if low:                                     #若为下限
        b=chi2.isf(alpha, df)                  	#chi2的单侧右分位点
    else:                                       #若为上限
        b=chi2.ppf(alpha, df)                  	#chi2的单侧左分位点
    return d/b

与函数sigma2Bounds相比,sigma2Bound的多了一个分辨计算的是下限或上限的参数low,其默认值为True,表示计算置信下限。若传递给它False,则计算置信上限。第3行计算置信度 1 − α 1-\alpha 1α中的 α \alpha α。第4~7行的if-else语句根据low的取值决定计算 χ 2 ( n − 1 ) \chi^2(n-1) χ2(n1)分布的右分位点(第5行)或左分位点(第7行),详见博文《卡方分布分位点计算》。第8行将计算所得的置信上限或下限作为返回值返回。
例1 某大学数学测验,抽得20个学生的分数的样本均值为72,样本方差为16。假设分数 X X X~ N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2),分别计算 μ \mu μ的置信度为98%的置信下限, σ 2 \sigma^2 σ2的置信度为98%的置信上限。
解: 下列代码完成本例的计算。

n=20											#样本容量
mean=72											#样本均值
s2=16											#样本方差
confidence=0.98									#置信水平
d=np.sqrt(s2/n)									#mu的置信下限因子
b=muBound(mean, d, confidence, df=n-1)			#mu的置信下限
print('mu>=%.4f'%b)
d=(n-1)*s2										#sigma^2的置信上限分子
b=sigma2Bound(d, n-1, confidence, low=False)	#sigma^2的置信上限
print('sigma^2<=%.4f'%b)

第6行调用计算总体均值 μ \mu μ的单侧区间估计的函数muBound(详见博文《单个正态总体均值的单侧区间估计》),计算 μ \mu μ的置信水平为0.98的置信下限(参数low取缺省值True)。由于总体参数 σ 2 \sigma^2 σ2未知,故传递给参数df的是 t t t分布的自由度n-1。第9行调用函数sigma2Bound,需向参数low传递False,这是因为我们需要计算的是置信上限。运行程序,输出

mu>=70.0281
sigma^2<=35.4849

例2 随机地取某种炮弹9发做试验,得炮口速度的样本标准差 s = 11 m / s s=11m/s s=11m/s。设炮口速度 X X X~ N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2)。求这种炮弹的炮口速度的标准差 σ \sigma σ的置信度为0.95的置信下限。
解: 下列代码完成本例的计算。

import numpy as np					#导入numpy
n=9									#样本容量
s2=11**2							#样本方差
d=(n-1)*s2							#sigma^2置信下限分子
confidence=0.95						#置信水平
b=sigma2Bound(d, n-1, confidence)	#sigma^2的置信下限
b=np.sqrt(b)						#sigma的置信下限
print('sigma>=%.2f'%b)

程序的第6行调用sigma2Bound函数计算 σ 2 \sigma^2 σ2的置信下限(参数low取缺省值),第7行计算 σ \sigma σ的置信下限。运行程序,输出

sigma>=7.90

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好
返回《导引》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值