您的位置:首页 > 编程语言 > Python开发

python3 概率论作业2

2017-12-07 00:00 567 查看
置信度检验

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


与理论值符合的很好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 统计 置信度