我想在我的数组(3d)的轴 0 上计算伽玛拟合。我已经尝试了下面的代码,但它有问题。
import scipy.stats as st
import numpy as np
myarray = np.random.rand(20, 3, 3)
a, myloc, myscale = st.gamma.fit(myarray, axis=0)
该fit
方法不接受axis
参数。
实际上,在 scipy 0.15.1(可能还有旧版本)中,它确实“接受”了它,但它忽略了它。这看起来像一个错误。当你给它任何它实际上没有使用的参数时,它应该引发 a TypeError
,但这不是它当前的工作方式:
In [20]: from scipy.stats import gamma
In [21]: gamma.fit([1,2,3,3,3,4,5,7])
Out[21]: (3.6899039741659925, 0.049374155400321737, 0.93515411814698823)
In [22]: gamma.fit([1,2,3,3,3,4,5,7], axis=123)
Out[22]: (3.6899039741659925, 0.049374155400321737, 0.93515411814698823)
In [23]: gamma.fit([1,2,3,3,3,4,5,7], flibbity=123)
Out[23]: (3.6899039741659925, 0.049374155400321737, 0.93515411814698823)
它应该scipy.stats
代替scipy.stat
.