Đây là hai câu hỏi: một về cách trung bình và trung bình giảm thiểu các hàm mất mát và một câu hỏi khác về độ nhạy của các ước tính này đối với dữ liệu. Hai câu hỏi được kết nối, như chúng ta sẽ thấy.
Giảm thiểu tổn thất
Một bản tóm tắt (hoặc công cụ ước tính) của trung tâm của một lô số có thể được tạo bằng cách để giá trị tóm tắt thay đổi và tưởng tượng rằng mỗi số trong lô đó sẽ tạo ra lực phục hồi cho giá trị đó. Khi lực không bao giờ đẩy giá trị ra khỏi một số, thì có thể cho rằng bất kỳ điểm nào mà tại đó lực cân bằng là "tâm" của lô.
Mất bậc hai ( )L2
Chẳng hạn, nếu chúng ta gắn một lò xo cổ điển (theo Luật Hooke ) giữa tóm tắt và mỗi số, thì lực sẽ tỷ lệ thuận với khoảng cách đến mỗi lò xo. Các lò xo sẽ kéo tóm tắt theo cách này và cuối cùng, giải quyết đến một vị trí ổn định duy nhất của năng lượng tối thiểu.
Tôi muốn đưa ra thông báo cho một chút ánh sáng vừa xảy ra: năng lượng tỷ lệ thuận với tổng khoảng cách bình phương . Cơ học Newton dạy chúng ta rằng lực là tốc độ thay đổi của năng lượng. Đạt được trạng thái cân bằng - giảm thiểu năng lượng - kết quả là cân bằng các lực. Tỷ lệ thay đổi ròng trong năng lượng bằng không.
Hãy gọi đây là " tóm tắt " hoặc "tóm tắt tổn thất bình phương."L2
Mất mát tuyệt đối ( )L1
Một tóm tắt khác có thể được tạo ra bằng cách giả sử kích thước của các lực phục hồi là không đổi , bất kể khoảng cách giữa giá trị và dữ liệu. Tuy nhiên, các lực không phải là hằng số, bởi vì chúng phải luôn kéo giá trị về phía mỗi điểm dữ liệu. Do đó, khi giá trị nhỏ hơn điểm dữ liệu, lực được định hướng tích cực, nhưng khi giá trị lớn hơn điểm dữ liệu thì lực được định hướng âm. Bây giờ năng lượng tỷ lệ thuận với khoảng cách giữa giá trị và dữ liệu. Thông thường sẽ có cả một vùng trong đó năng lượng không đổi và lực ròng bằng không. Bất kỳ giá trị nào trong khu vực này, chúng tôi có thể gọi là " tóm tắt " hoặc "tóm tắt mất tuyệt đối".L1
Những tương tự vật lý này cung cấp trực giác hữu ích về hai bản tóm tắt. Chẳng hạn, điều gì xảy ra với bản tóm tắt nếu chúng ta di chuyển một trong các điểm dữ liệu? Trong trường hợp có lò xo kèm theo, di chuyển một điểm dữ liệu kéo dài hoặc thư giãn lò xo của nó. Kết quả là một sự thay đổi lực lượng trên bản tóm tắt, vì vậy nó phải thay đổi trong phản ứng. Nhưng trong trường hợp L 1 , phần lớn thời gian thay đổi điểm dữ liệu không ảnh hưởng gì đến tóm tắt, vì lực này không đổi cục bộ. Cách duy nhất mà lực có thể thay đổi là cho điểm dữ liệu di chuyển qua bản tóm tắt.L2L1
(Trên thực tế, rõ ràng là lực ròng trên một giá trị được cho bởi số điểm lớn hơn nó - kéo nó lên trên - trừ đi số điểm nhỏ hơn nó - kéo nó xuống dưới. Do đó, các tóm tắt phải xảy ra ở bất kỳ vị trí mà số lượng các giá trị dữ liệu vượt quá nó chính xác bằng số của các giá trị dữ liệu ít hơn nó.)L1
Miêu tả tổn thất
Vì cả hai lực và năng lượng cộng lại, trong cả hai trường hợp, chúng ta có thể phân hủy năng lượng ròng thành các đóng góp riêng lẻ từ các điểm dữ liệu. Bằng cách vẽ đồ thị năng lượng hoặc lực như một hàm của giá trị tóm tắt, điều này cung cấp một bức tranh chi tiết về những gì đang xảy ra. Tóm tắt sẽ là một vị trí mà tại đó năng lượng (hoặc "mất" theo cách nói thống kê) là nhỏ nhất. Tương tự, nó sẽ là một vị trí mà tại đó các lực cân bằng: trung tâm của dữ liệu xảy ra trong đó sự thay đổi ròng về tổn thất bằng không.
Hình này cho thấy năng lượng và lực cho một tập dữ liệu nhỏ gồm sáu giá trị (được đánh dấu bằng các đường thẳng đứng mờ nhạt trong mỗi ô). Các đường cong màu đen nét đứt là tổng số của các đường cong màu thể hiện sự đóng góp từ các giá trị riêng lẻ. Trục x biểu thị các giá trị có thể có của bản tóm tắt.
Giá trị trung bình số học là một điểm mà tổn thất bình phương được giảm thiểu: nó sẽ nằm ở đỉnh (dưới cùng) của parabola đen trong ô trên bên trái. Nó luôn luôn là duy nhất. Trung vị là một điểm mà sự mất mát tuyệt đối được giảm thiểu. Như đã lưu ý ở trên, nó phải xảy ra ở giữa dữ liệu. Nó không nhất thiết phải là duy nhất. Nó sẽ nằm ở dưới cùng của đường cong màu đen bị hỏng ở phía trên bên phải. (Phần dưới thực sự bao gồm một phần phẳng ngắn nằm giữa đến - 0,17 ; bất kỳ giá trị nào trong khoảng này là trung vị.)−0.23−0.17
Phân tích độ nhạy
Trước đó tôi đã mô tả những gì có thể xảy ra với bản tóm tắt khi một điểm dữ liệu khác nhau. Đó là hướng dẫn để vẽ sơ đồ thay đổi như thế nào để đáp ứng với việc thay đổi bất kỳ điểm dữ liệu đơn lẻ nào. (Các ô này về cơ bản là các hàm ảnh hưởng theo kinh nghiệm . Chúng khác với định nghĩa thông thường ở chỗ chúng hiển thị các giá trị thực tế của các ước tính thay vì giá trị của các giá trị đó được thay đổi.) -axes để nhắc nhở chúng tôi rằng bản tóm tắt này đang ước tính vị trí giữa của tập dữ liệu. Các giá trị mới (đã thay đổi) của từng điểm dữ liệu được hiển thị trên trục x của chúng.
Hình này trình bày kết quả của việc thay đổi từng giá trị dữ liệu trong lô (cùng một giá trị được phân tích trong hình đầu tiên). Có một biểu đồ cho mỗi giá trị dữ liệu, được đánh dấu trên biểu đồ của nó với một dấu đen dài dọc theo trục dưới cùng. (Các giá trị dữ liệu còn lại được hiển thị với các dấu màu xám ngắn.) Đường cong màu xanh theo dấu−1.02,−0.82,−0.23,−0.17,−0.08,0.77tóm tắt L 2 - trung bình số học - và đường cong màu đỏ theo dõi L 1L2L1tóm tắt - trung vị. (Vì thường trung vị là một phạm vi các giá trị, nên quy ước vẽ đồ thị giữa của phạm vi đó được tuân theo ở đây.)
Để ý:
Độ nhạy của giá trị trung bình là không giới hạn: những đường màu xanh đó kéo dài vô tận lên xuống. Độ nhạy của trung vị bị giới hạn: có giới hạn trên và dưới đối với các đường cong màu đỏ.
Tuy nhiên, khi trung vị thay đổi, nó thay đổi nhanh hơn nhiều so với giá trị trung bình. Độ dốc của mỗi dòng màu xanh là (nói chung nó là 1 / n cho một tập dữ liệu với n giá trị), trong khi các sườn núi trong những phần nghiêng của đường màu đỏ là tất cả 1 / 2 .1/61/nn1/2
Giá trị trung bình là nhạy cảm với mọi điểm dữ liệu và độ nhạy này không có giới hạn (vì độ dốc khác không của tất cả các đường màu trong biểu đồ phía dưới bên trái của hình đầu tiên biểu thị). Mặc dù trung vị nhạy cảm với mọi điểm dữ liệu, độ nhạy bị giới hạn (đó là lý do tại sao các đường cong màu trong ô bên phải phía dưới của hình đầu tiên nằm trong phạm vi dọc hẹp quanh 0). Tất nhiên, đây chỉ là những sự lặp lại trực quan của định luật lực (tổn thất) cơ bản: bậc hai cho trung bình, tuyến tính cho trung vị.
Khoảng thời gian mà trung vị có thể được thực hiện để thay đổi có thể khác nhau giữa các điểm dữ liệu. Nó luôn bị giới hạn bởi hai trong số các giá trị gần giữa trong số các dữ liệu không thay đổi . (Các ranh giới này được đánh dấu bằng các đường đứt nét dọc mờ.)
Bởi vì tốc độ thay đổi của trung bình luôn là , các số lượng mà nó có thể do khác nhau được xác định bởi chiều dài của khoảng cách này giữa các giá trị gần giữa dataset.1/2
Mặc dù chỉ có điểm đầu tiên thường được ghi nhận, cả bốn điểm đều quan trọng. Đặc biệt,
Điều chắc chắn là sai khi "trung vị không phụ thuộc vào mọi giá trị." Hình này cung cấp một ví dụ mẫu.
Tuy nhiên, trung vị không phụ thuộc "về mặt vật chất" vào mọi giá trị theo nghĩa là mặc dù việc thay đổi các giá trị riêng lẻ có thể thay đổi trung vị, lượng thay đổi bị giới hạn bởi các khoảng cách giữa các giá trị gần giữa trong tập dữ liệu. Cụ thể, số lượng thay đổi là bị giới hạn . Chúng tôi nói rằng trung vị là một bản tóm tắt "kháng".
Mặc dù giá trị trung bình là không chịu , và sẽ thay đổi bất cứ khi nào bất kỳ giá trị dữ liệu được thay đổi, tốc độ thay đổi là tương đối nhỏ. Tập dữ liệu càng lớn, tốc độ thay đổi càng nhỏ. Tương tự, để tạo ra sự thay đổi vật chất theo giá trị trung bình của một tập dữ liệu lớn, ít nhất một giá trị phải trải qua một biến thể tương đối lớn. Điều này cho thấy tính không kháng của giá trị trung bình chỉ đáng quan tâm đối với (a) bộ dữ liệu nhỏ hoặc (b) bộ dữ liệu trong đó một hoặc nhiều dữ liệu có thể có các giá trị ở rất xa giữa lô.
Những nhận xét này - mà tôi hy vọng các số liệu rõ ràng - cho thấy mối liên hệ sâu sắc giữa chức năng mất và độ nhạy (hoặc điện trở) của công cụ ước tính. Để biết thêm về điều này, hãy bắt đầu với một trong những bài viết trên Wikipedia về M-ước tính và sau đó theo đuổi những ý tưởng đó theo như bạn muốn.
Mã
R
Mã này tạo ra các số liệu và có thể dễ dàng được sửa đổi để nghiên cứu bất kỳ tập dữ liệu nào khác theo cùng một cách: chỉ cần thay thế vectơ được tạo ngẫu nhiên y
bằng bất kỳ vectơ số nào.
#
# 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)
}