不幸的是,“MAD”是一个具有多种含义的术语;与平均值的平均绝对偏差(有时仅称为 MD 或平均偏差)、与中位数的中位数绝对偏差、与中位数的平均绝对偏差(在拉普拉斯计算尺度时出现)等。维基百科——虽然通常有用—— - 不是使用的仲裁者;它有时在使用术语时可能有点特殊(这并不是对维基百科的特别批评;它部分是事物本质所固有的)。[就我个人而言,在没有进一步线索的情况下,我通常会将 MAD 解释为中位数的绝对偏差,如果没有完整地写成,则期望平均绝对偏差可以写成“平均偏差”/“MD”或“平均绝对偏差”。]
哪个 R 正在计算的问题可以通过以下简单的权宜之计来解决?mad
:
mad {stats} R Documentation
Median Absolute Deviation
Description
Compute the median absolute deviation, i.e., the (lo-/hi-) median of the
absolute deviations from the median, and (by default) adjust by a factor
for asymptotically normal consistency.
作为一般建议,当第一次使用一个函数时,不要假设你知道它在做什么。例如,在我第一次阅读 MAD 的帮助之前,我没想到它会默认乘以该常数。(我认为这是一个坏主意,因为这意味着默认情况下它实际上并不计算任何称为 MAD 的东西,而是对未受污染部分为高斯分布的总体的 σ 进行稳健估计——但这就是它的工作原理。)
大多数功能会按照您的想法执行,但有些功能可能会让您感到惊讶。检查帮助中的定义,查看输入和输出是如何定义的,并尝试示例。
顺便说一句,如果您想要中位数(绝对)偏离均值,您可以通过mad(x,mean(x),1)
. 但是,如果您想要均值偏离均值,我不知道是否有比mean(abs(x-mean(x)))
;更简单的写法。它至少具有完全明确的优点。