数理统计置信区间总结
作者:互联网
一 单个正态总体
二 两个正态总体
三 (0-1)参数的区间估计
一 一个正态总体
这里面取值都是上alpah 分位数
待估参数 | 其他参数 | 枢轴量的分布 | 双侧置信区间 | 单侧上限 | 单侧下限 | |
u | 已知 | |||||
u | 未知 | |||||
u未知 |
例: 从一批灯泡中随机选取5个灯泡做寿命测试,测得寿命
1050 1100 1120 1250 1280
设灯泡服从正态分布,求寿命的平均置信水平为0.95的单侧置信区间下限
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 20 20:54:34 2021
@author: cxf
"""
import numpy as np
from scipy.stats import t
import matplotlib.pyplot as plt
class Confidence():
def GetData(self):
data =[1050, 1100,1120,1250,1280]
x = np.arange(1,len(data)+1)
plt.bar(x, data,width=0.2, label='use year')
plt.xlabel("item ")
plt.ylabel("year")
plt.legend()
plt.show()
return data
def __init__(self):
self.alpha = 0.05 #置信区间为0.95
'''
ddof= 1为样本标准差,否则为总体标准差
'''
def GetConfidence(self):
data = self.GetData()
n = len(data)
x_bar = np.mean(data)
s = np.std(data,ddof=1)
v = t.isf(self.alpha,n-1)
print("\n 样本均值 %5.2f ,样本标准差 %5.2f 样本个数 %d , 上alpha 分位数%5.2f "%(x_bar, s,n,v))
low = x_bar-s/np.sqrt(n)*v
print("\n 单侧置信区间下限 u %5.2f"%low)
if __name__ == "__main__":
Co = Confidence()
Co.GetConfidence()
=======================================
样本均值 1160.00 ,样本标准差 99.75 样本个数 5 , 上alpha 分位数 2.13
单侧置信区间下限 u 1064.90
二 两个正态总体
待估参数 | 其他参数 | 枢轴量的分布 | 双侧置信区间 | 单侧上限 | 单侧下限 |
u1-u2 | 已知 | ||||
u1-u2 | 未知 | ||||
未知 |
三 (0-1)分布参数的区间估计
样本均值 u,方差 p(1-p)
枢轴量的分布:
置信区间
二项分布为
在概率论和统计学中,二项分布是n个独立的成功/失败试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败试验又称为伯努利试验。实际上,当n=1时,二项分布就是伯努利分布。
比如KNN算法中,一般算法没有规定我们最终从N个数字里面取出来几个K数。
因为这K个数和样本欧式距离最接近,期望D(Xk)=0 ,为一个类型的。
比如样本的标签种类为5,则选择k中的随机一个样本跟数据本身的标签值p概率为
1/N。
从图1中可以看出,对于固定的n以及p,当k增加时,概率P{X=k}先是随之增加直至达到最大值,随后单调减少。可以证明,一般的二项分布也具有这一性质,且: [1]
例子
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 21 16:08:06 2021
@author: cxf
"""
import matplotlib.pyplot as plt
import numpy as np
import scipy.misc as ms
from scipy.special import comb ,perm
def GetP(p,m,n,cb):
a = cb*np.power(p,n)*np.power(1-p,m-n)
return a
def GetData(m,p):
y =[]
x = np.arange(0,m)
for n in range(m):
a = comb(m,n) #排列组合
b = np.power(p,n)
c = np.power(1.0-p,m-n)
#print("cb ",False)
d = a*b*c
y.append(d)
print("prob ",p)
plt.scatter(x,y,c='r')
plt.show()
def DrawTwo():
a= 0
GetData(100,0.2)
DrawTwo()
标签:总结,置信区间,plt,数理统计,np,import,单侧,data 来源: https://blog.csdn.net/chengxf2/article/details/121444691