我是统计和数据科学领域的初学者,所以请您善待我。
我必须在python中解决以下问题:
问题陈述 - 假设总体变量 X 为 N(3, 0.3) 且 n = 20。必须选择多大的区间才能使样本均值位于总体均值 μ 的 ±a 单位内的概率为 0.95?
我知道 68% 的数据在 1 个标准差内,即 2.7 到 3.3。95% 的数据在 2 个标准偏差范围内,即 2.4 到 3.6。
我的代码:
from scipy.stats import norm
a,b = norm.interval(alpha=0.95, loc=3, scale=0.3)
print(b-a)
输出:
1.1759783907240324
但是答案 (ba) 不正确,因为它与隐藏测试用例的预定义答案不匹配。
在打印 a,b 值时,我得到:
a= 2.412010804637984
b= 3.587989195362016
可能是我没有正确回答问题,或者我没有以正确的方式计算。
已编辑
尝试 2
from scipy.stats import norm
import numpy as np
a,b = norm.interval(alpha=0.95, loc=3, scale=np.sqrt(0.3))
print(b-a) # 2.147032972460588
print(a,b) # 1.9264835137697058 4.073516486230294
使用概念 μ=¯ ± Z(σ/√n)。¯ 是样本均值。μ 是总体平均值。95% 是置信区间。
尝试 3
from math import sqrt
u=3+(1.96*(0.3/(sqrt(20))))
l=3-(1.96*(0.3/(sqrt(20))))
u-l # 0.2629615941539756
尝试 4
from math import sqrt
u=3+(1.645*(0.3/(sqrt(20))))
l=3-(1.645*(0.3/(sqrt(20))))
u-l # 0.22069990937922945
所有尝试都显示不正确的答案。
请建议我该怎么做。