我有二进制数据,我想计算它的可信区间,但为什么我得到的上限大于1? 以下是我的代码
import math
def find_CI(a):
n = len(a)
p_hat = sum(a)/n
h = math.sqrt((p_hat * (1- p_hat) /n))
ub = p_hat + (1.96 * h)
lb = p_hat - (1.96 * h)
return lb, ub
当我传递a=[0.17058551491594975,0,1,1]时,我得到结果(1,0,1.0294144850840503)
我还try 了以下代码
import scipy.stats as st
def find_confidence_interval(a):
x = st.t.interval(alpha=0.95, df=len(a)-1,
loc=np.mean(a),
scale=st.sem(a))
return x
我得到的结果是(-0.08008738065825705,1.280087380658257)
我很困惑.可信区间不应该在0到1之间吗?