均值和中值属性


18

有人可以向我解释清楚将两个陈述(a)和(b)链接在一起的数学逻辑吗?让我们有一组值(一些分布)。现在,

a)中位数不取决于每个值[它仅取决于一个或两个中间值];b)中位数是从中得出的最小绝对偏差之和的轨迹。

与此相反,

a)(算术)均值取决于每个值;b)均值是与之最小平方和偏差的轨迹。

到目前为止,我对它的理解是直观的。


1
值得一提的是,该问题的较旧版本:stats.stackexchange.com/questions/2547/…而且,关于稳健统计的描述:en.wikipedia.org/wiki/Robust_statistics
bill_080 2011年

因此,您对第一对的追求是证明中位数(通常定义为中间等级的值(无论如何,对于最奇数的值都是奇数)也是最小化总和的值绝对偏差?最好是还可以提供一些直观见解的证明?我自己不知道任何证据,所以这似乎是一个好问题,我也想知道答案。
一站式

你感觉我正确。(a)和(b)目前在我看来对于两种统计而言都​​是独立的方面/属性;但是直觉表明这两个方面是相关的。我想知道- 他们是如何联系在一起的,要深刻理解这一切。
ttnphns

Answers:


19

这是两个问题:一个是关于均值和中位数如何使损失函数最小化,另一个是这些估计对数据的敏感性。正如我们将看到的,这两个问题是相关的。

减少损失

可以通过让摘要值更改并想象该批处理中的每个数字都对该值施加恢复力来创建一批数字中心的摘要(或估计量)。当力从不使数值偏离数字时,则可以说力平衡的任何点都是批处理的“中心”。

二次()损失L2

例如,如果我们在摘要和每个数字之间附加一个古典弹簧(遵循胡克定律),则力将与到每个弹簧的距离成比例。弹簧将以这种方式拉动摘要,最终稳定到能量最小的独特稳定位置。

我想提醒一下刚刚发生的一些小技巧:能量与距离的平方和成正比。牛顿力学告诉我们,力就是能量的变化率。 实现平衡(使能量最小化)可以平衡力。能量的净变化率为零。

我们称其为“ 摘要”或“平方损失摘要”。L2

绝对()损失L1

通过假定恢复力的大小恒定的,而不考虑值和数据之间的距离,可以创建另一个摘要。但是,力本身不是恒定的,因为它们必须始终将值拉向每个数据点。因此,当该值小于数据点时,力为正,但当该值大于数据点时,力为负。现在能量与值和数据之间的距离成正比。通常将有一个整个区域,其中能量恒定且净力为零。我们可以将该区域中的任何值称为“ 摘要”或“绝对损失摘要”。L1

这些物理类比提供了关于两个摘要的有用的直觉。例如,如果我们移动一个数据点,摘要将如何处理?在装有弹簧的盒中,移动一个数据点会拉伸或放松其弹簧。结果是对摘要的作用力发生了变化,因此必须做出相应的更改。 但是在L 1的情况下,大多数情况下,数据点的变化对汇总没有任何作用,因为作用力是局部恒定的。力可以改变的唯一方法是使数据点在摘要中移动。L2L1

(实际上,很明显,对一个值施加的净力由大于该值的点数(向上拉)减去小于小于该值的点数(向下拉)给出。的摘要必须出现在其中超出数据值的数量它正好等于数据值的数量不到它任何位置。)L1

描述损失

由于力和能量都加在一起,因此无论哪种情况,我们都可以将净能量分解为来自数据点的单个贡献。通过将能量或力绘制为汇总值的函数,可以提供详细信息。摘要将是能量(或统计学上的“损失”)最小的位置。等效地,它将是强制平衡的位置:数据中心发生的损失净变化为零。

该图显示了一个具有六个值的小型数据集的能量和力(在每个图中以微弱的垂直线标记)。黑色虚线是彩色曲线的总和,显示了各个值的贡献。x轴表示摘要的可能值。

图1

算术平均值是一个点,平方损失最小化:将设在左上角的情节黑色抛物线的顶点(底部)。它总是独一无二的。该就是绝对的损失被降到最低点。如上所述,它必须出现在数据中间。它不一定是唯一的。它位于右上角黑色断线的底部。(底部实际上由之间的短平坦部分的- 0.17 ;在该间隔的任何值是中值)。-0.23-0.17

分析灵敏度

前面我描述了当数据点变化时摘要可能会发生什么。绘制汇总如何响应于更改任何单个数据点的更改很有帮助。(这些图实质上是经验影响函数。它们与通常的定义不同,它们显示的是估算的实际值,而不是显示这些值有多少变化。)摘要的值在y上用“估计”标记-轴提醒我们,此摘要估计的是数据集中间的位置。每个数据点的新(更改)值显示在其x轴上。

图2

该图表示改变每个批次中的数据值的结果(同一个中的第一图形分析的)。每个数据值都有一个图,该图在其图上突出显示,沿底轴有一个长长的黑色刻度。(剩余的数据值用短的灰色勾号显示。)蓝色曲线跟踪L 2摘要(算术平均值),红色曲线跟踪L 11.02,0.82,0.23,0.17,0.08,0.77L2L1摘要-中位数。(由于中位数通常是一个值的范围,因此此处遵循绘制该范围中间值的约定。)

注意:

  1. 均值的敏感性是无限的:这些蓝线无限远地向上和向下延伸。中位数的灵敏度是有界的:红色曲线有上限和下限。

  2. 但是,中位数确实发生变化的地方,其变化远快于平均值。 每个蓝线的斜率是(通常是1 / Ñ用于与数据集Ñ值),而红色线的倾斜部分的斜率的所有1 / 21/61/nn1/2

  3. 平均值对每个数据点都敏感,并且此敏感度没有界限(如第一幅图左下图中所有彩色线的非零斜率所示)。尽管中位数对每个数据点都敏感,但是灵敏度是有界的(这就是为什么第一个图右下角的彩色曲线位于零附近的狭窄垂直范围内的原因)。当然,这些只是基本力(损耗)定律的视觉重复:平均值为平方,中位数为线性。

  4. 可以更改中位数的时间间隔可以在数据点之间变化。它始终由不变的数据中的两个中值限制。(这些边界由淡淡的垂直虚线标记。)

  5. 因为中值的变化率总是,该通过其可能因此改变通过的数据集的近中间值之间的这种间隙的长度来确定。1/2

尽管通常只注意第一点,但所有四个点都很重要。尤其是,

  • “中位数并不取决于每个值”绝对是错误的。 该图提供了一个反例。

  • 但是,中位数在某种意义上并不是“实质性地”依赖于每个值,尽管更改单个值可以更改中位数,但更改量受数据集中近中值之间的差距限制。特别地,变化量是有界的。我们说中位数是一个“阻力”摘要。

  • 尽管均值不是抗性的,并且每当更改任何数据值时都会改变,但变化率相对较小。数据集越大,变化率越小。同样,为了使大型数据集的平均值产生实质性变化,至少一个值必须经历较大的变化。这表明仅对(a)小数据集或(b)数据集(其中一个或多个数据的值可能与批中间的值相距甚远)有关,均值的非抗性才值得关注。

我希望这些数字能证明这些言论,揭示了损失函数估算器灵敏度(或电阻)之间的深层联系 有关此内容的更多信息,请从Wikipedia上有关M估计量的文章开始,然后尽可能地追求这些想法。


R代码产生了这些图形,并且可以很容易地以相同的方式进行修改以研究任何其他数据集:只需y用任意数字矢量替换随机创建的矢量。

#
# Create a small dataset.
#
set.seed(17)
y <- sort(rnorm(6)) # Some data
#
# Study how a statistic varies when the first element of a dataset
# is modified.
#
statistic.vary <- function(t, x, statistic) {
  sapply(t, function(e) statistic(c(e, x[-1])))
}
#
# Prepare for plotting.
#
darken <- function(c, x=0.8) {
  apply(col2rgb(c)/255 * x, 2, function(s)  rgb(s[1], s[2], s[3]))
}
colors <- darken(c("Blue", "Red"))
statistics <- c(mean, median); names(statistics) <- c("mean", "median")
x.limits <- range(y) + c(-1, 1)
y.limits <- range(sapply(statistics, 
                         function(f) statistic.vary(x.limits + c(-1,1), c(0,y), f)))
#
# Make the plots.
#
par(mfrow=c(2,3))
for (i in 1:length(y)) {
  #
  # Create a standard, consistent plot region.
  #
  plot(x.limits, y.limits, type="n", 
       xlab=paste("Value of y[", i, "]", sep=""), ylab="Estimate",
       main=paste("Sensitivity to y[", i, "]", sep=""))
  #legend("topleft", legend=names(statistics), col=colors, lwd=1)
  #
  # Mark the limits of the possible medians.
  #
  n <- length(y)/2
  bars <- sort(y[-1])[ceiling(n-1):floor(n+1)]
  abline(v=range(bars), lty=2, col="Gray")
  rug(y, col="Gray", ticksize=0.05);
  #
  # Show which value is being varied.
  #
  rug(y[1], col="Black", ticksize=0.075, lwd=2)
  #
  # Plot the statistics as the value is varied between x.limits.
  #
  invisible(mapply(function(f,c) 
    curve(statistic.vary(x, y, f), col=c, lwd=2, add=TRUE, n=501),
    statistics, colors))
  y <- c(y[-1], y[1])    # Move the next data value to the front
}
#------------------------------------------------------------------------------#
#
# Study loss functions.
#
loss <- function(x, y, f) sapply(x, function(t) sum(f(y-t)))
square <- function(t) t^2
square.d <- function(t) 2*t
abs.d <- sign
losses <- c(square, abs, square.d, abs.d)
names(losses) <- c("Squared Loss", "Absolute Loss",
                   "Change in Squared Loss", "Change in Absolute Loss")
loss.types <- c(rep("Loss (energy)", 2), rep("Change in loss (force)", 2))
#
# Prepare for plotting.
#
colors <- darken(rainbow(length(y)))
x.limits <- range(y) + c(-1, 1)/2
#
# Make the plots.
#
par(mfrow=c(2,2))
for (j in 1:length(losses)) {
  f <- losses[[j]]
  y.range <- range(c(0, 1.1*loss(y, y, f)))
  #
  # Plot the loss (or its rate of change).
  #
  curve(loss(x, y, f), from=min(x.limits), to=max(x.limits), 
        n=1001, lty=3,
        ylim=y.range, xlab="Value", ylab=loss.types[j],
        main=names(losses)[j])
  #
  # Draw the x-axis if needed.
  #
  if (sign(prod(y.range))==-1) abline(h=0, col="Gray")
  #
  # Faintly mark the data values.
  #
  abline(v=y, col="#00000010")
  #
  # Plot contributions to the loss (or its rate of change).
  #
  for (i in 1:length(y)) {
    curve(loss(x, y[i], f), add=TRUE, lty=1, col=colors[i], n=1001)
  }
  rug(y, side=3)
}

3
我提供的是赏金,因为答案除了质量外还经过艰苦,轻松的风格。
ttnphns

谢谢!您对此帖子的赞赏是最可喜的。
ub

11

x1,x2,,xnnyf(y)yxif(y)=|x1y|+|x2y|++|xny|yf(y)lxiyr=nlyyyf(y)

Δyyxiy|xiy|Δyy|xiy|ΔyΔyyf(y)lΔyrΔy=(lr)Δyf(y)xiyyf(y)lr=0xiyyxi

f(y)f(y)=(x1y)2++(xny)2f(y)yxiy

f(y)


1
xi

谢谢您的优雅介绍。然而,它的声音对我如此:“这一数字Ÿ其中小的变化不会改变功能琛| X_I-Y |不依赖于每个X_I,被称为中位数”。这是关于偶数n数据中位数的有趣注释。但是我要证明这一点:“ 将函数Sum | x_i-y |最小化的那个数y并不取决于每个x_i,被称为中位数”。并且类似地:“ 最小化函数Sum(x_i-y)^ 2的那个y同样取决于每个x_i,并且被称为均值”。
ttnphns 2011年

1
我应该如何证明“被称为中位数”部分?太疯狂了。
shabbychef 2011年

这是一种原因。部分是不能证明的,希望您理解。
ttnphns 2011年

1
绝对偏差的中位数而不是绝对偏差的总和是否有相似的结果?因为中位数与中位数的绝对绝对偏差也是分散的一个有趣的度量。
samthebest

3
  • x(n)2x(n)
  • aR

i=1n|ximedian|i=1n|xia|

i=1n(ximean)2i=1n(xia)2


嗯,作为一个经验丰富的统计学家,他缺乏基础数学教育,我仍然对均值和中位数的差异及其应用了解很多。对我而言,我需要的是从逻辑上或数学上(a)从(b)或(b)从(a)抽取的人。我觉得我无法合理地协调(a)与(b)。Marco,我很难理解您的表示法。如果您的公式是我需要的推论,请问您可以从技术上为我减少想法吗?
ttnphns

PS:只要您的两个不等式最终正确显示在屏幕上,我就会发现这只是我的(b)陈述。您写道:“可以证明……”。所以一定要告诉我。对于非专业数学家的数据分析人员,我需要一种易于理解的数学证明。
ttnphns

2
@ttnphns:您对数学而非直观回答的要求似乎与您对技术要求不及人们所提供的要求的要求不符。
rolando2 2011年

我们能否将情况简化为2点或3点,并问上述两次加和非严格不等式中的中位数是否具有唯一值?有了两点,似乎可以满足两点之间的任何要求
。– DWin

2

嘿,这是我写了一点之后的贡献。对于提出要求的人来说可能有点晚了,但对其他人来说却值得。

对于一般情况:

argminxi=1n(yix)

f(x)=i=1n(yix)2

f(x)=02i=1n(yix)=0

f(x)=0i=1nyi=i=1nx

f(x)=0x=i=1nn

由于函数是凸的,因此这是最小值

对于中位数

argminxi=1n|yix|

f(x)=i=1n|yix|

f(x)=0i=1nsgn(yix)=0

sgn(x)sgn(x)=1x>0sgn(x)=1x<0

f(x)=0#{yi/yi>x}#{yi/yi<x}=0

# 是空间的基数,因此在这种离散情况下,其中的元素数)

f(x)=0x

由于函数也是凸的,因此这又是最小值。


谢谢。这可能对我和其他人有帮助。您能为主要表达方式在单词中添加一些注释吗?适合那些不太懂公式的人。特别是您的最后一行-这是什么意思,什么意思#
ttnphns 2014年

现在清楚了吗?我定义了两个不太常用的功能
安东尼·马丁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.