使用具有预定平均值和标准(位置和比例)的 scipy 拟合 t 分布?

use*_*141 5 python scipy

如何使用scipy.stats.t.fit()预定均值和标准差拟合 t 分布?

问题是,我有一个标准化的数据集,有mean=0std=1,我只想得到dft 分布。但是当我这样做时scipy.stats.t.fit(data),它输出df, loc, scale, 并且 loc&sclae 不一定等于 0&1。

我该如何解决这个问题?谢谢!

War*_*ser 5

在对 的调用中.fit(),使用参数floc=0fscale=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)
Run Code Online (Sandbox Code Playgroud)

现在使用该.fit()方法将t分布拟合到样本中,将位置限制为 0,将比例限制为 1:

In [27]: t.fit(sample, floc=0, fscale=1)
Out[27]: (3.1099609375000048, 0, 1)
Run Code Online (Sandbox Code Playgroud)

fitdocstringstackoverflow 上有更多示例(使用不同的分布)。