常见通用函数
- pdf:概率密度函数
- cdf:累积分布函数,已知x位置求累计概率
- ppf:分位点函数,已知累计概率求x位置(cdf的逆函数)
- norm:正态分布
- poisson:泊松分布
- uniform:均匀分布
- t:T分布
求平均值的标准误差(SEM)
import scipy as sp
import scipy.stats
import numpy as np
arr=[1,2,3,4,5]
sem=scipy.stats.sem(arr)
SEM详解见:SEM
实例:求置信区间临界点
先验知识
-
t分布
在概率论和统计学中,t-分布(t-distribution)用于根据小样本来估计呈正态分布且方差未知的总体的均值。如果总体方差已知(例如在样本数量足够多时),则应该用正态分布来估计总体均值。
t分布曲线形态与n(确切地说与自由度df)大小有关。与标准正态分布曲线相比,自由度df越小,t分布曲线愈平坦,曲线中间愈低,曲线双侧尾部翘得愈高;自由度df愈大,t分布曲线愈接近正态分布曲线,当自由度df=∞时,t分布曲线为标准正态分布曲线。 -
置信区间
其中,1.96即置信度=0.95时,右端分位点的位置(针对标准正态分布时)。
arr=np.randn(100) # 初始化数组作为样本集
confidence = 0.95 # 置信度
# 计算平均值的标准误差
sem=scipy.stats.sem(arr)
n = len(arr)
# t.ppf参数:分位点p,自由度df
# ppf根据分位点和自由度(样本数量-1),求出分位点所在位置x;
# x*sem得到该样本集的置信区间的右端点
h = sem * sp.stats.t.ppf((1+confidence)/2., n-1)
# 或写成:h = sem * sp.stats.t.ppf( 1-(1-confidence)/2., n-1)
参考:
如何理解 95% 置信区间? - 马同学的回答 - 知乎
https://www.zhihu.com/question/26419030/answer/274472266
https://baike.baidu.com/item/t%E5%88%86%E5%B8%83/299142?fr=aladdin