MatLab mad()与SciPy.Stats median_abs_deviation()的差异



我正在将一些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))

Matlab中的默认值是计算平均值绝对偏差。如果需要中值绝对偏差,则命令为mad(x,1)

如果您有兴趣在Python中计算平均绝对偏差,请参阅本文。

相关内容

  • 没有找到相关文章

最新更新