Это два вопроса: один о том, как среднее значение и медиана минимизируют функции потерь, а другой о чувствительности этих оценок к данным. Два вопроса связаны, как мы увидим.
Минимизация потерь
Сводка (или оценка) центра пакета чисел может быть создана путем изменения суммарного значения и представления, что каждое число в пакете оказывает восстановительное усилие на это значение. Когда сила никогда не отталкивает значение от числа, тогда, возможно, любая точка, в которой баланс сил является «центром» партии.
Квадратичная ( ) потеряL2
Например, если бы мы должны были прикрепить классическую пружину (согласно закону Гука ) между сводкой и каждым числом, сила была бы пропорциональна расстоянию до каждой пружины. Источники будут тянуть итоги таким образом и, в конечном итоге, располагаясь в уникальном стабильном месте с минимальной энергией.
Я хотел бы обратить внимание на небольшую ловкость рук, которая только что произошла: энергия пропорциональна сумме квадратов расстояний. Ньютоновская механика учит нас, что сила - это скорость изменения энергии. Достижение равновесия - минимизация энергии - приводит к уравновешиванию сил. Чистая скорость изменения энергии равна нулю.
Давайте назовем это « Сводка » или «Сводка квадрата потерь».L2
Абсолютная ( ) потеряL1
Другое резюме может быть создано, предполагая, что размеры восстанавливающих сил постоянны , независимо от расстояний между значением и данными. Однако сами силы не являются постоянными, потому что они всегда должны тянуть значение к каждой точке данных. Таким образом, когда значение меньше точки данных, сила направлена положительно, но когда значение больше точки данных, сила направлена отрицательно. Теперь энергия пропорциональна расстояниям между значением и данными. Обычно существует целая область, в которой энергия постоянна, а чистая сила равна нулю. Любое значение в этом регионе мы можем назвать « Сводка » или «Сводка абсолютных потерь».L1
Эти физические аналогии дают полезную интуицию о двух аннотациях. Например, что произойдет с сводкой, если мы переместим одну из точек данных? В случае с прикрепленными пружинами перемещение одной точки данных либо растягивает, либо ослабляет ее пружину. Результатом является изменение силы в резюме, поэтому оно должно измениться в ответ. Но в случае L 1 большую часть времени изменение в точке данных никак не влияет на сводку, потому что сила локально постоянна. Единственный способ изменить силу - это точка данных перемещаться по сводке.L2L1
(На самом деле, должно быть очевидно, что чистая сила для значения определяется количеством точек, превышающих его - которые вытягивают его вверх, - минус количество точек, меньших его - которые тянут его вниз. Таким образом, Резюме должно происходить в любом месте , где число значений данных , превышающим его точно равно числу значений данных меньше , чем это.)L1
С изображением потерь
Так как силы и энергии складываются, в любом случае мы можем разложить чистую энергию на отдельные вклады от точек данных. Графики энергии или силы в зависимости от суммарного значения позволяют получить детальную картину происходящего. Резюме будет местом, в котором энергия (или «потеря» в статистическом языке) является наименьшей. Эквивалентно, это будет место, в котором баланс сил: центр данных происходит там, где чистое изменение потерь равно нулю.
На этом рисунке показаны энергии и силы для небольшого набора данных из шести значений (отмечены слабыми вертикальными линиями на каждом графике). Черные пунктирные кривые представляют собой итоговые значения цветных кривых, показывающие вклад отдельных значений. Ось X указывает возможные значения сводки.
Среднее арифметическое является точка , в которой квадрат потери сведены к минимуму: он будет расположен в вершине (внизу) черного параболы в верхнем левом участке. Это всегда уникально. Медиана является точкой , в которой сведена к минимуму абсолютной потеря. Как отмечено выше, это должно происходить в середине данных. Это не обязательно уникально. Он будет расположен внизу сломанной черной кривой в правом верхнем углу. (Нижняя фактически состоит из короткой секции плоской между и - 0,17 ; любое значение в этом интервале является медиана.)−0.23−0.17
Анализ чувствительности
Ранее я описал, что может случиться с сводкой, когда точка данных изменяется. Полезно представить, как меняется сводка в ответ на изменение какой-либо отдельной точки данных. (Эти графики, в сущности, являются эмпирическими функциями влияния . Они отличаются от обычного определения тем, что они показывают действительные значения оценок, а не то, насколько эти значения изменены.) Значение сводки помечено как «Оценить» на y. -осил напомнить нам, что это резюме оценивает, где находится середина набора данных. Новые (измененные) значения каждой точки данных отображаются на их осях X.
На этом рисунке представлены результаты варьирования каждого из значений данных в пакете (то же, что было проанализировано на первом рисунке). Для каждого значения данных существует один график, который выделяется на графике длинным черным галочком вдоль нижней оси. (Остальные значения данных показаны короткими серыми галочками.) Синяя кривая отслеживаетсводку L 2 - среднее арифметическое - и красная кривая отслеживает L 1−1.02,−0.82,−0.23,−0.17,−0.08,0.77L2L1Резюме - медиана. (Поскольку часто медиана является диапазоном значений, здесь соблюдается соглашение о построении середины этого диапазона.)
Примечание:
Чувствительность среднего не ограничена: эти синие линии проходят бесконечно далеко вверх и вниз. Чувствительность медианы ограничена: верхние и нижние пределы для красных кривых.
Однако, где медиана меняется, она меняется гораздо быстрее, чем среднее значение. Наклон каждой синей линии ( как правило , это 1 / п для набора данных с1/61/n значений),то время как склоны наклонных частей красных линий все 1 / 2 .n1/2
Среднее значение чувствительно к каждой точке данных, и эта чувствительность не имеет границ (как показывают ненулевые наклоны всех цветных линий на нижнем левом графике первого рисунка). Хотя медиана чувствительна к каждой точке данных, чувствительность ограничена (поэтому цветные кривые на нижнем правом графике первого рисунка расположены в узком вертикальном диапазоне около нуля). Это, конечно, просто визуальные подтверждения основного закона силы (потери): квадратичный для среднего, линейный для медианы.
Интервал, в течение которого можно изменить медиану, может варьироваться между точками данных. Он всегда ограничен двумя значениями, близкими к средним, среди данных, которые не меняются . (Эти границы отмечены слабыми вертикальными пунктирными линиями.)
Потому что скорость изменения медианы всегда , токоличествопомощью которого он может варьироватьсязависимостьследовательно, зависит от длины этого промежутка между ближним средними значениями набора данных.1/2
Хотя обычно отмечается только первый пункт, все четыре пункта важны. Особенно,
Совершенно неверно, что «медиана не зависит от каждого значения». Эта цифра представляет собой контрпример.
тем не менее, медиана не зависит "материально" от каждого значения в том смысле, что, хотя изменение отдельных значений может изменить медиану, величина изменения ограничена промежутками между значениями, близкими к средним, в наборе данных. В частности, количество изменений ограничено . Мы говорим, что медиана является "устойчивым" резюме.
Хотя среднее значение не является устойчивым и будет меняться при изменении любого значения данных, скорость изменения относительно невелика. Чем больше набор данных, тем меньше скорость изменения. Эквивалентно, чтобы произвести существенное изменение среднего значения большого набора данных, по крайней мере, одно значение должно претерпеть относительно большое изменение. Это говорит о том, что невосприимчивость к среднему значению имеет значение только для (a) небольших наборов данных или (b) наборов данных, где один или несколько данных могут иметь значения, чрезвычайно удаленные от середины пакета.
Эти замечания, которые, как я надеюсь, станут очевидными, показывают глубокую связь между функцией потерь. и чувствительностью (или сопротивлением) оценки. Чтобы узнать больше об этом, начните с одной из статей Википедии о 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)
}