分布:Y~bernoulli(0.3),n=800
1.最大似然估计求解
import numpy as np
data=np.random.binomial(1,0.3,800)
#产生800个p=0.3的0-1伯努利分布随机数
n=len(data)
ysum=0
for i in data:
ysum=ysum+i
Pi_max_esti=ysum/n
Print(pi_max_esti)
输出极大似然估计值:0.30625
2.wald置信区间
d=(((p*(1-p))/n)**0.5)*1.96
mp1=p+d
mp2=p-d
print(mp2,mp1)
0.2743088443872956 0.33819115561270446
3.agresti and coull置信区间
p1=(ysum+(1.962)/2)/(n+1.962)
print(p1)
0.3071759411306904
d1=(((p1*(1-p1))/(n+1.96**2))**0.5)*1.96
acp1=p1-d1
acp2=p1+d1
print(acp1,acp2)
0.27528437027315505 0.33906751198822577