我正在将一些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
复制相似问题