如何使用具有预定平均值的scipy.stats.t.fit()
和std?
问题是,我有一个标准化的数据集,mean=0
和std=1
,我只希望得到df
t分布。
但是当我执行scipy.stats.t.fit(data)
时,它会输出df, loc, scale
,并且loc& sclae不一定等于0& 1。
我该如何解决这个问题?谢谢!
答案 0 :(得分:2)
在致电.fit()
时,请使用参数floc=0
和fscale=1
来修复这些参数。
这是一个例子。首先,导入t
并生成要使用的示例:
In [24]: from scipy.stats import t
In [25]: np.random.seed(123)
In [26]: sample = t.rvs(3, loc=0, scale=1, size=10000)
现在使用.fit()
方法将t
分布拟合到样本,将位置约束为0,将比例缩小为1:
In [27]: t.fit(sample, floc=0, fscale=1)
Out[27]: (3.1099609375000048, 0, 1)
fit
docstring和here on stackoverflow中有更多示例(使用不同的发布)。