我正在将一些MatLab代码转换为Python,并且无法解决为什么我得到的结果是不同的。
在MatLab中,输入x = [1, 2, 4, 3, 7, 2, 1, 3, 2, 1]
上的mad
函数产生1.32
的结果。然而,在SciPy.Stats
中使用equiv函数,即median_abs_deviation
,则得到了1.0
的不同结果。
我的密码是:
Matlab:
x = [1, 2, 4, 3, 7, 2, 1, 3, 2, 1];
mdat = mad(x)
Python:
from scipy import stats
x = np.array([1, 2, 4, 3, 7, 2, 1, 3, 2, 1])
print(stats.median_abs_deviation(x))
发布于 2022-02-07 02:43:42
在Matlab中,默认情况是计算平均绝对偏差。如果您想要中间绝对偏差,那么命令是mad(x,1)
。
如果您对计算Python中的平均绝对偏差感兴趣,请参见this post。
https://stackoverflow.com/questions/71012927
复制相似问题