原文链接: python3 概率论作业2
上一篇: python3 积分
下一篇: markdown 数学公式
置信度检验
from scipy.stats import *
# 标准正太分布
x = norm()
print(
x.mean(), x.var(), x.std()
)
# 构造置信区间,验证置信度
rvs_size = 10000
degrees = [
0.01,
0.05,
0.1,
]
test_size = 10000
for degree in degrees:
cnt = 0
# 置信度应该是1-degree
for i in range(test_size):
rvs = x.rvs(size=rvs_size)
m = rvs.mean()
a = (m - 1 / rvs_size ** 0.5 * x.isf(degree / 2))
b = (m + 1 / rvs_size ** 0.5 * x.isf(degree / 2))
# 置信区间为[a, b]
if a <= 0 <= b:
# 均值在置信区间内,标记加一
cnt += 1
print(
'degree={0}'.format(degree),
'理论值:{0}'.format(1 - degree),
'统计值:{0}'.format(cnt / test_size)
)
0.0 1.0 1.0
degree=0.01 理论值:0.99 统计值:0.9903
degree=0.05 理论值:0.95 统计值:0.9543
degree=0.1 理论值:0.9 统计值:0.9064
与理论值符合的很好