Tôi hiểu được "quá mức" nghĩa là gì, nhưng tôi cần sự giúp đỡ về cách đưa ra một ví dụ trong thế giới thực áp dụng cho việc quá mức.
Tôi hiểu được "quá mức" nghĩa là gì, nhưng tôi cần sự giúp đỡ về cách đưa ra một ví dụ trong thế giới thực áp dụng cho việc quá mức.
Câu trả lời:
Dưới đây là một ví dụ hay về các mô hình chuỗi thời gian bầu cử tổng thống từ xkcd:
Chỉ có 56 cuộc bầu cử tổng thống và 43 tổng thống. Đó không phải là nhiều dữ liệu để học hỏi. Khi không gian dự đoán mở rộng để bao gồm những thứ như có răng giả và giá trị điểm Scrabble của tên, mô hình khá dễ dàng để phù hợp với các tính năng tổng quát của dữ liệu (tín hiệu) và bắt đầu khớp với nhiễu. Khi điều này xảy ra, sự phù hợp với dữ liệu lịch sử có thể được cải thiện, nhưng mô hình sẽ thất bại thảm hại khi được sử dụng để suy luận về các cuộc bầu cử tổng thống trong tương lai.
Yêu thích của tôi là ví dụ Matlab về dân số điều tra dân số Hoa Kỳ theo thời gian:
(Ít nhất tôi chân thành hy vọng đây là một ví dụ về việc quá mức)
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fits.html#zmw57dd0e115
Nghiên cứu của Chen et al. (2013) phù hợp với hai hình khối với sự gián đoạn được cho là về tuổi thọ như là một hàm của vĩ độ.
Chen Y., Ebenstein, A., Greenstone, M. và Li, H. 2013. Bằng chứng về tác động của việc tiếp xúc lâu dài với ô nhiễm không khí đối với tuổi thọ từ chính sách sông Hoài của Trung Quốc. Kỷ yếu của Viện Hàn lâm Khoa học Quốc gia 110: 12936 Từ 12941. trừu tượng
Mặc dù được công bố trên một tạp chí xuất sắc, v.v., sự chứng thực ngầm của nó bởi những người nổi tiếng, v.v., tôi vẫn sẽ trình bày đây là một ví dụ prima facie của sự phù hợp quá mức.
Một dấu hiệu nhận biết là tính không hợp lý của hình khối. Lắp một khối ngầm giả định có một số lý do tại sao tuổi thọ sẽ thay đổi như một đa thức bậc ba của vĩ độ nơi bạn sống. Điều đó có vẻ khá không hợp lý: không dễ để tưởng tượng một cơ chế vật lý hợp lý sẽ gây ra hiệu ứng như vậy.
Xem thêm bài đăng trên blog sau đây để phân tích chi tiết hơn về bài viết này: Bằng chứng về tác động của việc sử dụng hồi quy đa thức kéo dài đối với suy luận nguyên nhân (một tuyên bố rằng sưởi ấm bằng than sẽ giảm tuổi thọ 5 năm cho nửa tỷ người) .
Trong một bài viết ngày 14 tháng 3 năm 2014 trên Science , David Lazer, Ryan Kennedy, Gary King và Alessandro Vespignani đã xác định các vấn đề trong Google Xu hướng dịch cúm mà họ gán cho việc quá mức.
Đây là cách họ kể câu chuyện, bao gồm cả lời giải thích về bản chất của việc quá mức và lý do tại sao nó khiến thuật toán thất bại:
Vào tháng 2 năm 2013, ... Thiên nhiên đã báo cáo rằng GFT đã dự đoán nhiều hơn gấp đôi tỷ lệ các bác sĩ đến khám vì bệnh giống cúm (ILI) so với Trung tâm Kiểm soát và Phòng ngừa Dịch bệnh (CDC) .... Điều này xảy ra mặc dù thực tế là GFT được xây dựng để dự đoán các báo cáo CDC. ...
Về cơ bản, phương pháp này là tìm ra các kết quả phù hợp nhất trong số 50 triệu cụm từ tìm kiếm để phù hợp với 1152 điểm dữ liệu. Tỷ lệ tìm kiếm các thuật ngữ tìm kiếm phù hợp với xu hướng của bệnh cúm nhưng không liên quan đến cấu trúc và do đó không dự đoán được tương lai, là khá cao. Trên thực tế, các nhà phát triển GFT báo cáo loại bỏ các thuật ngữ tìm kiếm theo mùa không liên quan đến cúm nhưng có liên quan chặt chẽ đến dữ liệu CDC, chẳng hạn như các thuật ngữ liên quan đến bóng rổ ở trường trung học. Điều này đáng lẽ phải là một cảnh báo rằng dữ liệu lớn đã vượt quá số lượng nhỏ các trường hợp tiêu chuẩn quan tâm trong phân tích dữ liệu. Phương pháp đặc biệt này đã loại bỏ các thuật ngữ tìm kiếm đặc biệt đã thất bại khi GFT hoàn toàn bỏ lỡ đại dịch cúm A phi H1N1 2009 vô căn cứ.
[Nhấn mạnh thêm.]
Tôi đã nhìn thấy hình ảnh này một vài tuần trước và nghĩ rằng nó khá phù hợp với câu hỏi trong tầm tay.
Thay vì điều chỉnh tuyến tính theo trình tự, nó được trang bị một đa thức bậc bốn, có sự phù hợp hoàn hảo, nhưng dẫn đến một câu trả lời rõ ràng vô lý.
Đối với tôi ví dụ tốt nhất là hệ Ptolemaic trong thiên văn học. Ptolemy cho rằng Trái đất là trung tâm của vũ trụ và tạo ra một hệ thống quỹ đạo hình tròn tinh vi, điều này sẽ giải thích các chuyển động của vật thể trên bầu trời khá tốt. Các nhà thiên văn học đã phải tiếp tục thêm các vòng tròn để giải thích sự sai lệch, cho đến một ngày nó trở nên hỗn độn đến nỗi mọi người bắt đầu nghi ngờ nó. Đó là khi Copernicus nghĩ ra một mô hình thực tế hơn.
Đây là ví dụ tốt nhất về việc cung cấp quá nhiều cho tôi. Bạn không thể quá phù hợp với quá trình tạo dữ liệu (DGP) cho dữ liệu. Bạn chỉ có thể vượt quá mô hình sai chính tả. Hầu như tất cả các mô hình của chúng tôi trong khoa học xã hội đều sai chính tả, vì vậy, điều quan trọng là phải ghi nhớ điều này và giữ cho chúng kỹ lưỡng. Không cố gắng nắm bắt mọi khía cạnh của tập dữ liệu, nhưng cố gắng nắm bắt các tính năng cần thiết thông qua đơn giản hóa.
Giả sử bạn có 100 chấm trên biểu đồ.
Bạn có thể nói: hmm, tôi muốn dự đoán tiếp theo.
Ở đây bạn có thể thấy một minh họa đơn giản cho ví dụ này:
Thứ tự đa thức càng cao, nó sẽ càng phù hợp với các dấu chấm hiện có.
Tuy nhiên, các đa thức bậc cao, mặc dù trông giống như các mô hình tốt hơn cho các dấu chấm, nhưng thực sự quá mức chúng. Nó mô hình tiếng ồn hơn là phân phối dữ liệu thực sự.
Kết quả là, nếu bạn thêm một dấu chấm mới vào biểu đồ với đường cong hoàn toàn phù hợp của mình, nó có thể sẽ nằm cách xa đường cong hơn so với khi bạn sử dụng đa thức bậc thấp đơn giản hơn.
Phân tích có thể góp phần gây ra thảm họa Fukushima là một ví dụ về việc sử dụng quá mức. Có một mối quan hệ nổi tiếng trong Khoa học Trái đất mô tả xác suất xảy ra động đất ở một kích thước nhất định, với tần suất quan sát được của các trận động đất "nhỏ hơn". Điều này được gọi là mối quan hệ Gutenberg-Richter, và nó cung cấp một bản ghi nhật ký phù hợp trong nhiều thập kỷ. Phân tích rủi ro động đất ở khu vực lân cận lò phản ứng (sơ đồ này từ cuốn sách xuất sắc "Tín hiệu và tiếng ồn" của Nate Silver) cho thấy "nút thắt" trong dữ liệu. Bỏ qua các kink dẫn đến một ước tính về rủi ro hàng năm của một trận động đất mạnh 9 độ richter là khoảng 1 trên 300 - chắc chắn là một cái gì đó để chuẩn bị. Tuy nhiên, vượt quá một đường dốc kép (như đã được thực hiện trong quá trình đánh giá rủi ro ban đầu cho các lò phản ứng) làm giảm dự đoán rủi ro xuống còn khoảng 1 trong 13.000 năm. Người ta không thể lỗi các kỹ sư vì đã không thiết kế các lò phản ứng để chịu đựng một sự kiện không thể xảy ra như vậy - nhưng chắc chắn người ta phải lỗi các nhà thống kê đã quá mức (và sau đó ngoại suy) dữ liệu ...
"Agh! Pat sẽ rời công ty. Làm thế nào chúng ta sẽ tìm người thay thế?"
Đăng tuyển dụng:
Muốn: Kỹ sư điện. Người đồng tính 42 tuổi có bằng Kỹ sư Điện, toán học và chăn nuôi. Phải cao 68 inch với mái tóc nâu, một nốt ruồi trên mắt trái và có xu hướng diatribes dài chống lại ngỗng và sử dụng sai từ 'lời khuyên'.
Theo nghĩa toán học, quá mức thường đề cập đến việc tạo ra một mô hình có nhiều tham số hơn mức cần thiết, dẫn đến phù hợp hơn cho một tập dữ liệu cụ thể, nhưng không nắm bắt được các chi tiết liên quan cần thiết để phù hợp với các tập dữ liệu khác từ lớp quan tâm.
Trong ví dụ trên, người đăng không thể phân biệt sự liên quan với các đặc điểm không liên quan. Các bằng cấp kết quả có khả năng chỉ được đáp ứng bởi một người mà họ đã biết là phù hợp với công việc (nhưng không còn muốn nó nữa).
Cái này được tạo thành, nhưng tôi hy vọng nó sẽ minh họa cho trường hợp này.
ví dụ 1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
Bây giờ, hãy phù hợp với hồi quy tuyến tính cho nó:
fit <- lm(X1 ~ ., data=data)
Và đây là một bản tóm tắt cho mười người dự đoán đầu tiên:
> summary(fit)
Call:
lm(formula = X1 ~ ., data = data)
Residuals:
ALL 100 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502e-01 NA NA NA
X2 3.153e-02 NA NA NA
X3 -6.200e-01 NA NA NA
X4 7.087e-01 NA NA NA
X5 4.392e-01 NA NA NA
X6 2.979e-01 NA NA NA
X7 -9.092e-02 NA NA NA
X8 -5.783e-01 NA NA NA
X9 5.965e-01 NA NA NA
X10 -8.289e-01 NA NA NA
...
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 99 and 0 DF, p-value: NA
kết quả trông khá kỳ lạ, nhưng hãy vẽ nó.
> sum(abs(data$X1-fitted(fit)))
[1] 0
Nó là con số không, vì vậy các lô không nói dối với chúng tôi: mô hình phù hợp hoàn hảo. Và làm thế nào chính xác là nó trong phân loại?
> sum(data$X1==fitted(fit))
[1] 100
Ví dụ 2
Thêm một ví dụ nữa. Cho phép tạo thêm một số dữ liệu:
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
vì vậy nó trông như thế này:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 1 1 0 0 0 0 0 0 0 0 0
2 2 0 1 0 0 0 0 0 0 0 0
3 3 0 0 1 0 0 0 0 0 0 0
4 4 0 0 0 1 0 0 0 0 0 0
5 5 0 0 0 0 1 0 0 0 0 0
6 6 0 0 0 0 0 1 0 0 0 0
7 7 0 0 0 0 0 0 1 0 0 0
8 8 0 0 0 0 0 0 0 1 0 0
9 9 0 0 0 0 0 0 0 0 1 0
10 10 0 0 0 0 0 0 0 0 0 1
và bây giờ cho phép phù hợp với hồi quy tuyến tính cho điều này:
fit2 <- lm(X1~., data2)
vì vậy chúng tôi nhận được các ước tính sau:
> summary(fit2)
Call:
lm(formula = X1 ~ ., data = data2)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10 NA NA NA
X2 -9 NA NA NA
X3 -8 NA NA NA
X4 -7 NA NA NA
X5 -6 NA NA NA
X6 -5 NA NA NA
X7 -4 NA NA NA
X8 -3 NA NA NA
X9 -2 NA NA NA
X10 -1 NA NA NA
X11 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
Nó là khá tự giải thích. Bạn có thể nghĩ về Ví dụ 1 tương tự như Ví dụ 2 nhưng có thêm một số "nhiễu". Nếu bạn có dữ liệu đủ lớn và sử dụng nó để "dự đoán" một cái gì đó thì đôi khi một "tính năng" duy nhất có thể thuyết phục bạn rằng bạn có một "mẫu" mô tả tốt biến phụ thuộc của bạn, trong khi đó có thể chỉ là sự trùng hợp. Trong ví dụ 2 không có gì thực sự được dự đoán, nhưng chính xác thì điều tương tự đã xảy ra trong ví dụ 1 chỉ là các giá trị của các biến là khác nhau.
Ví dụ thực tế cuộc sống
Ví dụ thực tế cho điều này là dự đoán các cuộc tấn công khủng bố vào ngày 11 tháng 9 năm 2001 bằng cách xem "các mẫu" theo số được rút ngẫu nhiên bởi các trình tạo số giả máy tính của Dự án Ý thức Toàn cầu hoặc "tin nhắn bí mật" trong "Moby Dick" tiết lộ sự thật về vụ ám sát những người nổi tiếng (lấy cảm hứng từ những phát hiện tương tự trong Kinh Thánh ).
Phần kết luận
Nếu bạn trông đủ cứng, bạn sẽ tìm thấy "mẫu" cho bất cứ điều gì. Tuy nhiên, những mô hình đó sẽ không cho phép bạn tìm hiểu bất cứ điều gì về vũ trụ và sẽ không giúp bạn đi đến bất kỳ kết luận chung nào. Chúng sẽ phù hợp hoàn hảo với dữ liệu của bạn, nhưng sẽ vô dụng vì chúng sẽ không phù hợp với bất kỳ thứ gì khác ngoài dữ liệu đó. Họ sẽ không cho phép bạn đưa ra bất kỳ dự đoán ngoài mẫu hợp lý nào, bởi vì những gì họ sẽ làm, là họ thà bắt chước hơn là mô tả dữ liệu.
Một vấn đề phổ biến dẫn đến việc quá mức trong cuộc sống thực là ngoài các thuật ngữ cho một mô hình được chỉ định chính xác, chúng tôi có thể đã thêm một cái gì đó không liên quan: quyền hạn không liên quan (hoặc các biến đổi khác) của các thuật ngữ chính xác, các biến không liên quan hoặc tương tác không liên quan.
Điều này xảy ra trong hồi quy bội nếu bạn thêm một biến không xuất hiện trong mô hình được chỉ định chính xác nhưng không muốn loại bỏ nó vì bạn sợ gây ra sai lệch biến bị bỏ qua . Tất nhiên, bạn không có cách nào để biết bạn đã bao gồm sai, vì bạn không thể nhìn thấy toàn bộ dân số, chỉ có mẫu của bạn, vì vậy không thể biết chắc chắn thông số kỹ thuật chính xác là gì. (Như @Scortchi chỉ ra trong các bình luận, có thể không có thứ gọi là đặc tả mô hình "chính xác" - theo nghĩa đó, mục đích của mô hình hóa là tìm một đặc tả "đủ tốt"; để tránh quá mức liên quan đến việc tránh sự phức tạp của mô hình lớn hơn mức có thể được duy trì từ dữ liệu có sẵn.) Nếu bạn muốn có một ví dụ thực tế về việc quá mức, điều này xảy ra mỗi lầnbạn ném tất cả các yếu tố dự đoán tiềm năng vào mô hình hồi quy, nếu bất kỳ ai trong số chúng trong thực tế không có mối quan hệ nào với phản ứng một khi các hiệu ứng của người khác bị loại bỏ.
Với kiểu quá mức này, tin tốt là việc bao gồm các thuật ngữ không liên quan này không đưa ra sai lệch của các công cụ ước tính của bạn và trong các mẫu rất lớn, các hệ số của các thuật ngữ không liên quan phải gần bằng không. Nhưng cũng có một tin xấu: bởi vì thông tin hạn chế từ mẫu của bạn hiện đang được sử dụng để ước tính nhiều tham số hơn, nên nó chỉ có thể làm điều đó với độ chính xác thấp hơn - do đó, các lỗi tiêu chuẩn trên các thuật ngữ thực sự có liên quan tăng lên. Điều đó cũng có nghĩa là chúng có thể nằm xa các giá trị thực hơn so với ước tính từ hồi quy được chỉ định chính xác, điều này có nghĩa là nếu đưa ra các giá trị mới của các biến giải thích của bạn, các dự đoán từ mô hình quá mức sẽ có xu hướng kém chính xác hơn so với mô hình được chỉ định chính xác.
Dưới đây là biểu đồ GDP log so với dân số log của 50 tiểu bang Hoa Kỳ trong năm 2010. Một mẫu ngẫu nhiên gồm 10 tiểu bang đã được chọn (đánh dấu màu đỏ) và đối với mẫu đó, chúng tôi phù hợp với mô hình tuyến tính đơn giản và đa thức bậc 5. Đối với mẫu điểm, đa thức có thêm bậc tự do cho phép nó "luồn lách" gần với dữ liệu quan sát hơn so với đường thẳng có thể. Nhưng toàn bộ 50 tiểu bang tuân theo một mối quan hệ gần như tuyến tính, do đó hiệu suất dự đoán của mô hình đa thức trên 40 điểm ngoài mẫu là rất kém so với mô hình ít phức tạp hơn, đặc biệt là khi ngoại suy. Đa thức đã phù hợp một cách hiệu quả một số cấu trúc ngẫu nhiên (nhiễu) của mẫu, không khái quát cho dân số rộng hơn. Nó đặc biệt kém khi ngoại suy ngoài phạm vi quan sát của mẫu.bản sửa đổi của câu trả lời này.)
R
require(MASS) #for multivariate normal simulation
nsample <- 25 #sample to regress
nholdout <- 1e6 #to check model predictions
Sigma <- matrix(c(1, 0.5, 0.4, 0.5, 1, 0.3, 0.4, 0.3, 1), nrow=3)
df <- as.data.frame(mvrnorm(n=(nsample+nholdout), mu=c(5,5,5), Sigma=Sigma))
colnames(df) <- c("x1", "x2", "x3")
df$y <- 5 + 2 * df$x1 + rnorm(n=nrow(df)) #y = 5 + *x1 + e
holdout.df <- df[1:nholdout,]
regress.df <- df[(nholdout+1):(nholdout+nsample),]
overfit.lm <- lm(y ~ x1*x2*x3, regress.df)
correctspec.lm <- lm(y ~ x1, regress.df)
summary(overfit.lm)
summary(correctspec.lm)
holdout.df$overfitPred <- predict.lm(overfit.lm, newdata=holdout.df)
holdout.df$correctSpecPred <- predict.lm(correctspec.lm, newdata=holdout.df)
with(holdout.df, sum((y - overfitPred)^2)) #SSE
with(holdout.df, sum((y - correctSpecPred)^2))
require(ggplot2)
errors.df <- data.frame(
Model = rep(c("Overfitted", "Correctly specified"), each=nholdout),
Error = with(holdout.df, c(y - overfitPred, y - correctSpecPred)))
ggplot(errors.df, aes(x=Error, color=Model)) + geom_density(size=1) +
theme(legend.position="bottom")
Đây là kết quả của tôi sau một lần chạy, nhưng tốt nhất là chạy mô phỏng nhiều lần để xem hiệu quả của các mẫu được tạo khác nhau.
> summary(overfit.lm)
Call:
lm(formula = y ~ x1 * x2 * x3, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.22294 -0.63142 -0.09491 0.51983 2.24193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.85992 65.00775 0.290 0.775
x1 -2.40912 11.90433 -0.202 0.842
x2 -2.13777 12.48892 -0.171 0.866
x3 -1.13941 12.94670 -0.088 0.931
x1:x2 0.78280 2.25867 0.347 0.733
x1:x3 0.53616 2.30834 0.232 0.819
x2:x3 0.08019 2.49028 0.032 0.975
x1:x2:x3 -0.08584 0.43891 -0.196 0.847
Residual standard error: 1.101 on 17 degrees of freedom
Multiple R-squared: 0.8297, Adjusted R-squared: 0.7596
F-statistic: 11.84 on 7 and 17 DF, p-value: 1.942e-05
> summary(correctspec.lm)
Call:
lm(formula = y ~ x1, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.4951 -0.4112 -0.2000 0.7876 2.1706
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7844 1.1272 4.244 0.000306 ***
x1 1.9974 0.2108 9.476 2.09e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.036 on 23 degrees of freedom
Multiple R-squared: 0.7961, Adjusted R-squared: 0.7872
F-statistic: 89.8 on 1 and 23 DF, p-value: 2.089e-09
> with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
> with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217
(và có nhiều mức độ tự do hơn để làm như vậy so với mô hình được chỉ định chính xác đã làm, do đó có thể tạo ra sự phù hợp "tốt hơn"). Nhìn vào Tổng các lỗi bình phương cho các dự đoán trên tập hợp nắm giữ mà chúng tôi không sử dụng để ước tính các hệ số hồi quy từ đó và chúng ta có thể thấy mô hình quá mức đã thực hiện tồi tệ đến mức nào. Trong thực tế, mô hình được chỉ định chính xác là mô hình đưa ra dự đoán tốt nhất. Chúng ta không nên đánh giá hiệu suất dự đoán dựa trên kết quả từ tập dữ liệu chúng ta đã sử dụng để ước tính các mô hình. Đây là một biểu đồ mật độ của các lỗi, với đặc tả mô hình chính xác tạo ra nhiều lỗi gần bằng 0:
Mô phỏng mô tả rõ ràng nhiều tình huống thực tế có liên quan (chỉ cần tưởng tượng bất kỳ phản ứng thực tế nào phụ thuộc vào một yếu tố dự báo duy nhất và tưởng tượng bao gồm cả "dự đoán" ngoại lai vào mô hình) nhưng có lợi ích là bạn có thể chơi với quy trình tạo dữ liệu , kích thước mẫu, bản chất của mô hình quá mức, v.v. Đây là cách tốt nhất để bạn có thể kiểm tra ảnh hưởng của việc cung cấp quá mức vì đối với dữ liệu được quan sát mà bạn thường không có quyền truy cập vào DGP và đó vẫn là dữ liệu "thực" theo nghĩa bạn có thể kiểm tra và sử dụng. Dưới đây là một số ý tưởng đáng giá mà bạn nên thử nghiệm:
n <- 1e6
Sigma
. Chỉ cần nhớ giữ cho nó tích cực bán xác định (bao gồm cả đối xứng). Bạn sẽ tìm thấy nếu bạn giảm tính đa hình, mô hình quá mức không hoạt động quá tệ. Nhưng hãy nhớ rằng các dự đoán tương quan có xảy ra trong cuộc sống thực.df$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))
df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))
nsample <- 25
nsample <- 1e6
, nó có thể ước tính các hiệu ứng yếu hơn khá tốt và các mô phỏng cho thấy mô hình phức tạp có sức mạnh dự đoán vượt trội hơn so với mô hình đơn giản. Điều này cho thấy "quá mức" là một vấn đề của cả độ phức tạp của mô hình và dữ liệu có sẵn.Khi tôi đang cố gắng tự hiểu điều này, tôi bắt đầu suy nghĩ theo cách tương tự với việc mô tả các vật thể thật, vì vậy tôi đoán đó là "thế giới thực" như bạn có thể hiểu, nếu bạn muốn hiểu ý tưởng chung:
Giả sử bạn muốn mô tả cho ai đó khái niệm về một chiếc ghế, để họ có được một mô hình khái niệm cho phép họ dự đoán nếu một đối tượng mới mà họ tìm thấy là một chiếc ghế. Bạn đến Ikea và lấy một mẫu ghế và bắt đầu mô tả chúng bằng cách sử dụng hai biến: đó là một vật có 4 chân nơi bạn có thể ngồi. Chà, điều đó cũng có thể mô tả một chiếc ghế đẩu hoặc một cái giường hoặc rất nhiều thứ khác. Mô hình của bạn đang bị thiếu, giống như khi bạn cố gắng và mô hình hóa một phân phối phức tạp với quá ít biến số - rất nhiều thứ không phải ghế sẽ được xác định là ghế. Vì vậy, hãy tăng số lượng biến, thêm vào đó, ví dụ đối tượng phải có mặt sau. Bây giờ bạn có một mô hình khá chấp nhận được mô tả bộ ghế của bạn, nhưng đủ chung để cho phép một đối tượng mới được xác định là một. Mô hình của bạn mô tả dữ liệu và có thể đưa ra dự đoán. Tuy nhiên, giả sử bạn có một bộ trong đó tất cả các ghế đều có màu đen hoặc trắng và làm bằng gỗ. Bạn quyết định đưa các biến đó vào mô hình của mình và đột nhiên nó sẽ không xác định được chiếc ghế nhựa màu vàng là ghế. Vì vậy, bạn đã đánh giá quá cao mô hình của mình, bạn đã bao gồm các tính năng của bộ dữ liệu của mình như thể chúng là các tính năng của ghế nói chung, (nếu bạn thích, bạn đã xác định "nhiễu" là "tín hiệu", bằng cách diễn giải biến thể ngẫu nhiên từ mẫu của bạn là một tính năng của toàn bộ "ghế thế giới thực"). Vì vậy, bạn có thể tăng mẫu của mình và hy vọng bao gồm một số vật liệu và màu sắc mới hoặc giảm số lượng biến trong mô hình của bạn. t xác định một chiếc ghế nhựa màu vàng là một cái ghế. Vì vậy, bạn đã đánh giá quá cao mô hình của mình, bạn đã bao gồm các tính năng của bộ dữ liệu của mình như thể chúng là các tính năng của ghế nói chung, (nếu bạn thích, bạn đã xác định "nhiễu" là "tín hiệu", bằng cách diễn giải biến thể ngẫu nhiên từ mẫu của bạn là một tính năng của toàn bộ "ghế thế giới thực"). Vì vậy, bạn có thể tăng mẫu của mình và hy vọng bao gồm một số vật liệu và màu sắc mới hoặc giảm số lượng biến trong mô hình của bạn. t xác định một chiếc ghế nhựa màu vàng là một cái ghế. Vì vậy, bạn đã đánh giá quá cao mô hình của mình, bạn đã bao gồm các tính năng của bộ dữ liệu của mình như thể chúng là các tính năng của ghế nói chung, (nếu bạn thích, bạn đã xác định "nhiễu" là "tín hiệu", bằng cách diễn giải biến thể ngẫu nhiên từ mẫu của bạn là một tính năng của toàn bộ "ghế thế giới thực"). Vì vậy, bạn có thể tăng mẫu của mình và hy vọng bao gồm một số vật liệu và màu sắc mới hoặc giảm số lượng biến trong mô hình của bạn.
Đây có thể là một sự tương tự đơn giản và sự cố dưới sự xem xét kỹ lưỡng hơn, nhưng tôi nghĩ nó hoạt động như một khái niệm chung ... Hãy cho tôi biết nếu một số phần cần làm rõ.
Trong mô hình dự đoán, ý tưởng là sử dụng dữ liệu trong tay để khám phá các xu hướng tồn tại và có thể được khái quát hóa cho dữ liệu trong tương lai. Bằng cách bao gồm các biến trong mô hình của bạn có một số ảnh hưởng nhỏ, không đáng kể, bạn đang từ bỏ ý tưởng này. Những gì bạn đang làm là xem xét các xu hướng cụ thể trong mẫu cụ thể của bạn chỉ có ở đó vì tiếng ồn ngẫu nhiên thay vì xu hướng cơ bản, thực sự. Nói cách khác, một mô hình có quá nhiều biến số phù hợp với nhiễu hơn là phát hiện ra tín hiệu.
Đây là một minh họa phóng đại về những gì tôi đang nói. Ở đây các dấu chấm là dữ liệu quan sát và dòng là mô hình của chúng tôi. Nhìn vào đó là một sự phù hợp hoàn hảo - thật là một mô hình tuyệt vời! Nhưng chúng ta đã thực sự khám phá ra xu hướng hay chúng ta chỉ phù hợp với tiếng ồn? Có khả năng là cái sau.
Một hình thức quá mức khá phổ biến trong thể thao, cụ thể là xác định các mô hình để giải thích các kết quả trong quá khứ bằng các yếu tố không có hoặc có sức mạnh mơ hồ tốt nhất để dự đoán kết quả trong tương lai. Một đặc điểm chung của các "mẫu" này là chúng thường dựa trên rất ít trường hợp để cơ hội thuần túy có lẽ là lời giải thích hợp lý nhất cho mẫu.
Các ví dụ bao gồm những thứ như ("trích dẫn" được tạo bởi tôi, nhưng thường trông giống nhau)
Đội A đã thắng tất cả các trò chơi X kể từ khi huấn luyện viên bắt đầu mặc áo khoác màu đỏ ma thuật của mình.
Giống:
Chúng tôi sẽ không tự cạo râu trong vòng playoffs, bởi vì điều đó đã giúp chúng tôi chiến thắng các trận X trước đây.
Ít mê tín hơn, nhưng cũng là một hình thức quá mức:
Borussia Dortmund chưa bao giờ thua trận sân nhà Champions League trước đối thủ Tây Ban Nha khi họ thua trận sân khách Bundesliga trước đó hơn hai bàn, đã tự mình ghi ít nhất một lần.
Giống:
Roger Federer đã giành được tất cả các lần xuất hiện tại Davis Cup trước các đối thủ châu Âu khi anh ấy ít nhất đã lọt vào bán kết ở giải Úc mở rộng năm đó.
Hai cái đầu tiên khá vô nghĩa (ít nhất là với tôi). Hai ví dụ cuối cùng hoàn toàn có thể đúng trong mẫu (tức là trong quá khứ), nhưng tôi sẽ rất vui khi đặt cược vào một đối thủ sẽ để "thông tin" này ảnh hưởng đáng kể đến tỷ lệ cược của anh ấy khi Dortmund đánh bại Madrid nếu họ thua 4: 1 tại Schalke vào thứ Bảy trước hoặc Federer đánh bại Djokovic, ngay cả khi anh vô địch Úc mở rộng năm đó.
Dưới đây là một ví dụ "thế giới thực" không phải theo nghĩa là ai đó tình cờ bắt gặp nó trong nghiên cứu, mà theo nghĩa là nó sử dụng các khái niệm hàng ngày mà không có nhiều thuật ngữ cụ thể thống kê. Có lẽ cách nói này sẽ hữu ích hơn cho một số người có đào tạo trong các lĩnh vực khác.
Hãy tưởng tượng rằng bạn có một cơ sở dữ liệu với dữ liệu về bệnh nhân mắc một căn bệnh hiếm gặp. Bạn là một sinh viên tốt nghiệp y khoa và muốn xem liệu bạn có thể nhận ra các yếu tố nguy cơ cho bệnh này. Đã có 8 trường hợp mắc bệnh tại bệnh viện này và bạn đã ghi lại 100 thông tin ngẫu nhiên về họ: tuổi, chủng tộc, thứ tự sinh, họ có bị sởi khi còn nhỏ không. Bạn cũng đã ghi lại dữ liệu cho 8 bệnh nhân không mắc bệnh này.
Bạn quyết định sử dụng phương pháp phỏng đoán sau đây cho các yếu tố rủi ro: nếu một yếu tố có giá trị nhất định ở nhiều bệnh nhân mắc bệnh của bạn, nhưng trong 0 kiểm soát của bạn, bạn sẽ coi đó là yếu tố rủi ro. (Trong cuộc sống thực, bạn sẽ sử dụng một phương pháp tốt hơn, nhưng tôi muốn giữ cho nó đơn giản). Bạn phát hiện ra rằng 6 bệnh nhân của bạn là người ăn chay (nhưng không ai trong số những người kiểm soát là người ăn chay), 3 người có tổ tiên Thụy Điển và hai trong số họ bị suy giảm khả năng nói. Trong số 97 yếu tố khác, không có gì xảy ra ở nhiều bệnh nhân, nhưng không có trong số các biện pháp kiểm soát.
Nhiều năm sau, một người khác quan tâm đến căn bệnh mồ côi này và nhân rộng nghiên cứu của bạn. Bởi vì anh ta làm việc tại một bệnh viện lớn hơn, có sự hợp tác chia sẻ dữ liệu với các bệnh viện khác, anh ta có thể sử dụng dữ liệu về 106 trường hợp, trái ngược với 8 trường hợp của bạn. Và ông phát hiện ra rằng tỷ lệ mắc bệnh nói lắp là giống nhau ở nhóm bệnh nhân và nhóm đối chứng; nói lắp không phải là một yếu tố rủi ro.
Điều xảy ra ở đây là nhóm nhỏ của bạn có 25% người nói lắp ngẫu nhiên. Heuristic của bạn không có cách nào để biết nếu điều này có liên quan về mặt y tế hay không. Bạn đã đưa ra tiêu chí để quyết định khi bạn xem xét một mẫu trong dữ liệu "đủ thú vị" để đưa vào mô hình và theo các tiêu chí này, việc nói lắp là đủ thú vị.
Mô hình của bạn đã bị quá mức, bởi vì nó bao gồm nhầm một tham số không thực sự phù hợp trong thế giới thực. Nó phù hợp với mẫu của bạn - 8 bệnh nhân + 8 điều khiển - rất tốt, nhưng nó không phù hợp với dữ liệu trong thế giới thực. Khi một mô hình mô tả mẫu của bạn tốt hơn mô hình thực tế, nó được gọi là quá mức.
Nếu bạn chọn ngưỡng 3 trong số 8 bệnh nhân có một tính năng, điều đó sẽ không xảy ra - nhưng bạn có cơ hội cao hơn để bỏ lỡ điều gì đó thực sự thú vị. Đặc biệt là trong y học, nơi nhiều bệnh chỉ xảy ra ở một bộ phận nhỏ người có yếu tố rủi ro, đó là một sự đánh đổi khó khăn. Và có các phương pháp để tránh nó (về cơ bản, so sánh với mẫu thứ hai và xem liệu sức mạnh giải thích giữ nguyên hay giảm), nhưng đây là một chủ đề cho một câu hỏi khác.
Đây là một ví dụ thực tế về việc cung cấp quá mức mà tôi đã giúp duy trì và sau đó đã cố gắng (không thành công) để ngăn chặn:
Tôi đã có vài nghìn chuỗi thời gian độc lập, hai biến, mỗi chuỗi không quá 50 điểm dữ liệu và dự án mô hình hóa liên quan đến việc tự động vectơ (VAR) cho mỗi điểm. Không có nỗ lực nào được thực hiện để thường xuyên hóa các quan sát, ước tính các thành phần phương sai hoặc bất cứ thứ gì tương tự. Các điểm thời gian được đo trong suốt một năm, do đó dữ liệu phải chịu tất cả các loại hiệu ứng theo mùa và theo chu kỳ chỉ xuất hiện một lần trong mỗi chuỗi thời gian.
Một tập hợp con của dữ liệu thể hiện tỷ lệ nhân quả Granger cao đáng kinh ngạc so với phần còn lại của dữ liệu. Kiểm tra tại chỗ cho thấy các đột biến dương đã xảy ra cách nhau một hoặc hai độ trễ trong tập hợp con này, nhưng rõ ràng từ bối cảnh cả hai gai đều được gây ra trực tiếp bởi một nguồn bên ngoài và một đột biến này không gây ra sự khác. Các dự báo ngoài mẫu sử dụng các mô hình này có thể khá sai lầm, bởi vì các mô hình đã bị quá mức: thay vì "làm nhẵn" các gai bằng cách lấy trung bình chúng vào phần còn lại của dữ liệu, có rất ít quan sát rằng các gai này thực sự đang lái các ước tính.
Nhìn chung, tôi không nghĩ rằng dự án đã đi kém nhưng tôi không nghĩ rằng nó tạo ra kết quả gần như hữu ích như họ có thể có được. Một phần lý do cho điều này là vì thủ tục VAR nhiều độc lập, thậm chí chỉ với một hoặc hai độ trễ, đã gặp khó khăn trong việc phân biệt giữa dữ liệu và tiếng ồn, và do đó phù hợp với cái sau với chi phí cung cấp cái nhìn sâu sắc về trước đây.
Nhiều người thông minh trong chủ đề này --- nhiều người thông thạo về thống kê hơn tôi. Nhưng tôi vẫn không thấy một ví dụ dễ hiểu đối với giáo dân. Ví dụ của Tổng thống không hoàn toàn đạt được dự luật về mặt quá mức điển hình, bởi vì trong khi đó, nó quá mức về mặt kỹ thuật trong mỗi tuyên bố hoang dã của nó, thường là một mô hình che phủ quá mức - gây ra tiếng ồn nhất định, không chỉ là một yếu tố của nó.
Tôi thực sự thích biểu đồ trong phần giải thích về sự đánh đổi sai lệch trong wikipedia: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(Biểu đồ thấp nhất là ví dụ về quá mức).
Tôi rất khó để nghĩ về một ví dụ trong thế giới thực mà không giống như mumbo-jumbo hoàn chỉnh. Ý tưởng là dữ liệu là một phần gây ra bởi các biến có thể đo lường, có thể hiểu được --- nhiễu ngẫu nhiên một phần. Cố gắng mô hình hóa tiếng ồn này như một mô hình mang lại cho bạn sự không chính xác.
Một ví dụ kinh điển là lập mô hình dựa trên GIẢI PHÁP trên R ^ 2 trong MS Excel (bạn đang cố gắng khớp một phương trình / mô hình theo nghĩa đen gần nhất có thể với dữ liệu bằng cách sử dụng đa thức, bất kể vô nghĩa như thế nào).
Giả sử bạn đang cố gắng mô hình hóa doanh số bán kem như một hàm của nhiệt độ. Bạn có dữ liệu "thế giới thực". Bạn vẽ dữ liệu và cố gắng tối đa hóa R ^ 2. Bạn sẽ tìm thấy bằng cách sử dụng dữ liệu trong thế giới thực, phương trình phù hợp gần nhất không phải là tuyến tính hoặc bậc hai (sẽ có ý nghĩa logic). Giống như hầu hết tất cả các phương trình, các thuật ngữ đa thức càng vô nghĩa mà bạn thêm vào (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x) - nó càng phù hợp với dữ liệu. Vì vậy, làm thế nào mà hợp lý liên quan đến nhiệt độ để bán kem? Làm thế nào bạn sẽ giải thích rằng đa thức lố bịch? Sự thật là, nó không phải là mô hình thực sự. Bạn đã quá phù hợp với dữ liệu.
Bạn đang không biết tiếng ồn - có thể là do các chương trình khuyến mãi bán hàng hoặc một số biến số hoặc "tiếng ồn" khác như một con bướm vỗ cánh trong vũ trụ (điều không bao giờ có thể dự đoán được) --- và đã cố gắng mô hình hóa dựa trên nhiệt độ. Bây giờ thông thường nếu tiếng ồn / lỗi của bạn không trung bình bằng 0 hoặc tương quan tự động, v.v., điều đó có nghĩa là có nhiều biến hơn ngoài đó --- và cuối cùng bạn sẽ có được tiếng ồn phân phối ngẫu nhiên, nhưng vẫn là điều tốt nhất tôi có thể giải thích điều đó.
Yêu thích của tôi là công thức của 39 3964 được khám phá trước khi thi đấu bóng đá World Cup năm 1998:
Brazil đã giành chức vô địch vào năm 1970 và 1994. Tổng hợp 2 con số này và bạn sẽ nhận được 3964; Đức đã giành chiến thắng vào năm 1974 và 1990, cộng lại là 3964; điều tương tự với chiến thắng của Argentina vào năm 1978 và 1986 (1978 + 1986 = 3964).
Đây là một thực tế rất đáng ngạc nhiên, nhưng mọi người đều có thể thấy rằng không nên dựa trên bất kỳ dự đoán nào trong tương lai dựa trên quy tắc đó. Và thực tế, quy tắc cho rằng người chiến thắng World Cup năm 1998 phải là Anh kể từ năm 1966 + 1998 = 3964 và Anh thắng năm 1966. Điều này đã không xảy ra và người chiến thắng là Pháp.
Một chút trực quan, nhưng có lẽ nó sẽ giúp. Giả sử bạn muốn học một số ngôn ngữ mới. Bạn học như thế nào? thay vì học các quy tắc trong một khóa học, bạn sử dụng các ví dụ. Cụ thể, chương trình truyền hình. Vì vậy, bạn thích chương trình tội phạm, và bạn xem một vài chương trình cảnh sát. Sau đó, bạn tham gia một chương trình tội phạm khác và xem một số hình thức loạt đó. Đến chương trình thứ ba bạn thấy - bạn biết hầu hết mọi thứ, không vấn đề gì. Bạn không cần phụ đề tiếng Anh.
Nhưng sau đó, bạn thử ngôn ngữ mới học của mình trên đường phố trong lần truy cập tiếp theo và bạn nhận ra rằng bạn không thể nói về bất cứ điều gì ngoài việc nói "sĩ quan! Người đàn ông đó đã lấy túi của tôi và bắn người phụ nữ đó!". Mặc dù 'lỗi đào tạo' của bạn bằng 0, nhưng 'lỗi kiểm tra' của bạn rất cao, do 'quá mức' ngôn ngữ, chỉ nghiên cứu một tập hợp con giới hạn của các từ và giả sử là đủ.