我的目标是找到具有假定 t 分布的数据集的标准偏差,以计算给定分位数的生存函数。由于 scipy.stats 的文档对我来说非常违反直觉,我尝试了几件事并最终得到了下面的实现。(注意:数字变量仅表明存在不同的结果。我的目标是每个结果都只有一个!)
import scipy
df, loc, scale = scipy.stats.t.fit(data, fdf=len(data)-1)
std1 = scipy.stats.t.std(df=df, loc=loc, scale=scale)
std2 = scipy.stats.t.std(df=df, loc=loc)
res1 = scipy.stats.sf(some_x, df, loc, scale)
res2 = scipy.stats.sf(some_x, df, loc, std1)
res3 = scipy.stats.sf(some_x, df, loc, std2)
当给定拟合函数的值时,我遇到了loc
等于 stats.t.mean() 函数。但scale
不等于 stats.t.std()。因此std1
andstd2
不同且不等于scale
。我只能找到正态分布的来源,其中指出比例等于标准。我应该如何适当地使用上述功能?
任何有关编辑问题的帮助或建议将不胜感激:) 编写代码并保持健康!