如何在python中使用t分布
t 分布是一种类似于正态分布的概率分布,只不过它比正态分布有更重的“尾部”。
换句话说,与正态分布相比,分布中位于末端的值多于位于中心的值:
本教程介绍如何在 Python 中使用 t 分布。
如何生成分发
您可以使用t.rvs(df, size)函数从具有特定自由度和样本大小的分布生成随机值:
from scipy. stats import t #generate random values from t distribution with df=6 and sample size=10 t. rvs (df= 6 , size= 10 ) array([-3.95799716, -0.01099963, -0.55953846, -1.53420055, -1.41775611, -0.45384974, -0.2767931, -0.40177789, -0.3602592, 0.38262431])
结果是一张包含 10 个值的表,这些值按照 6 个自由度的分布相互遵循。
如何使用t分布计算P值
我们可以使用函数t.cdf(x, df, loc=0, scale=1)来查找与 t 检验统计量相关的 p 值。
示例 1:查找单边 P 值
假设我们执行单方面假设检验并得到检验统计量-1.5和自由度 = 10 。
我们可以使用以下语法来计算与此检验统计量对应的 p 值:
from scipy. stats import t #calculate p-value t. cdf (x=-1.5, df=10) 0.08225366322272008
与自由度为 10 的 -1.5 检验统计量对应的单侧 p 值为0.0822 。
示例 2:查找双向 P 值
假设我们执行双尾假设检验并得到检验统计量2.14和自由度 = 20 。
我们可以使用以下语法来计算与此检验统计量对应的 p 值:
from scipy. stats import t #calculate p-value (1 - t. cdf (x=2.14, df=20)) * 2 0.04486555082549959
与具有 20 个自由度的检验统计量 2.14 对应的两侧 p 值为0.0448 。
注意:您可以使用逆 t 分布计算器检查这些答案。
如何追踪分布
您可以使用以下语法来绘制具有特定自由度的分布:
from scipy. stats import t import matplotlib. pyplot as plt #generate t distribution with sample size 10000 x = t. rvs (df= 12 , size= 10000 ) #create plot of t distribution plt. hist (x, density= True , edgecolor=' black ', bins= 20 )
import seaborn as sns #create density curve sns. kdeplot (x)
其他资源
以下教程提供了有关该发行版的其他信息:
正态分布与 t 分布:有什么区别?
逆 t 分布计算器