Bất cứ ai có thể giải thích cho tôi chi tiết về ước tính khả năng tối đa (MLE) trong các điều khoản của giáo dân? Tôi muốn biết khái niệm cơ bản trước khi đi vào đạo hàm hoặc phương trình toán học.
Bất cứ ai có thể giải thích cho tôi chi tiết về ước tính khả năng tối đa (MLE) trong các điều khoản của giáo dân? Tôi muốn biết khái niệm cơ bản trước khi đi vào đạo hàm hoặc phương trình toán học.
Câu trả lời:
Nói rằng bạn có một số dữ liệu. Giả sử bạn sẵn sàng cho rằng dữ liệu đến từ một số phân phối - có lẽ là Gaussian. Có vô số Gaussian khác nhau mà dữ liệu có thể có được (tương ứng với sự kết hợp của vô số phương tiện và phương sai vô hạn mà phân phối Gaussian có thể có). MLE sẽ chọn Gaussian (nghĩa là giá trị trung bình và phương sai) "phù hợp nhất" với dữ liệu của bạn (ý nghĩa chính xác của tính nhất quán được giải thích bên dưới).
Vì vậy, giả sử bạn đã có một bộ dữ liệu . Gaussian nhất quán mà dữ liệu có thể có có giá trị trung bình là 3 và phương sai là 16. Nó có thể được lấy mẫu từ một số Gaussian khác. Nhưng một giá trị trung bình là 3 và phương sai là 16 phù hợp nhất với dữ liệu theo nghĩa sau: xác suất nhận được các giá trị cụ thể mà bạn quan sát được sẽ lớn hơn với lựa chọn trung bình và phương sai này, so với bất kỳ lựa chọn nào khác.
Chuyển sang hồi quy: thay vì trung bình là hằng số, giá trị trung bình là hàm tuyến tính của dữ liệu, như được chỉ định bởi phương trình hồi quy. Vì vậy, giả sử bạn đã có dữ liệu như cùng với từ trước đó. Giá trị trung bình của rằng Gaussian bây giờ là mô hình hồi quy được trang bị β , nơi β = [ - 1,9 , 0,9 ]
Chuyển sang GLM: thay thế Gaussian bằng một số phân phối khác (từ họ theo cấp số nhân). Giá trị trung bình bây giờ là một hàm tuyến tính của dữ liệu, như được chỉ định bởi phương trình hồi quy, được biến đổi bởi hàm liên kết. Vì vậy, đó là , trong đó cho logit (với dữ liệu nhị thức).
Ước tính khả năng tối đa (MLE) là một kỹ thuật để tìm chức năng có khả năng nhất giải thích dữ liệu quan sát. Tôi nghĩ toán học là cần thiết, nhưng đừng để nó làm bạn sợ!
Chúng ta hãy nói rằng chúng ta có một tập hợp các điểm trong máy bay, và chúng tôi muốn biết các chức năng thông số beta và σ rằng rất có thể phù hợp với những dữ liệu (trong trường hợp này chúng ta đã biết chức năng bởi vì tôi đã chỉ định nó để tạo ra ví dụ này, nhưng chịu đựng tôi).
data <- data.frame(x = runif(200, 1, 10))
data$y <- 0 + beta*data$x + rnorm(200, 0, sigma)
plot(data$x, data$y)
Để thực hiện MLE, chúng ta cần đưa ra các giả định về hình thức của hàm. Trong một mô hình tuyến tính, chúng tôi giả định rằng các điểm theo một phân bố xác suất bình thường (Gaussian), với trung bình và phương sai σ 2 : y = N ( x β , σ 2 ) . Phương trình của hàm mật độ xác suất này là: 1
Những gì chúng ta muốn tìm là các thông số và σ đó phát huy tối đa khả năng này cho tất cả các điểm ( x i , y i ) . Đây là chức năng "khả năng", L
Vì lý do khác nhau, nó dễ dàng hơn để sử dụng các bản ghi của hàm likelihood: log(L)=nΣi=1-n
Chúng ta có thể mã hóa này như một hàm trong R với .
linear.lik <- function(theta, y, X){
n <- nrow(X)
k <- ncol(X)
beta <- theta[1:k]
sigma2 <- theta[k+1]^2
e <- y - X%*%beta
logl <- -.5*n*log(2*pi)-.5*n*log(sigma2) - ( (t(e) %*% e)/ (2*sigma2) )
return(-logl)
}
Chức năng này, ít giá trị khác nhau của và σ , tạo ra một bề mặt.
surface <- list()
k <- 0
for(beta in seq(0, 5, 0.1)){
for(sigma in seq(0.1, 5, 0.1)){
k <- k + 1
logL <- linear.lik(theta = c(0, beta, sigma), y = data$y, X = cbind(1, data$x))
surface[[k]] <- data.frame(beta = beta, sigma = sigma, logL = -logL)
}
}
surface <- do.call(rbind, surface)
library(lattice)
wireframe(logL ~ beta*sigma, surface, shade = TRUE)
Như bạn có thể thấy, có một điểm tối đa ở đâu đó trên bề mặt này. Chúng ta có thể tìm thấy các tham số chỉ định điểm này bằng các lệnh tối ưu hóa tích hợp của R. Điều này xuất phát một cách hợp lý gần phát hiện ra các thông số đúng
linear.MLE <- optim(fn=linear.lik, par=c(1,1,1), lower = c(-Inf, -Inf, 1e-8),
upper = c(Inf, Inf, Inf), hessian=TRUE,
y=data$y, X=cbind(1, data$x), method = "L-BFGS-B")
linear.MLE$par
## [1] -0.1303868 2.7286616 1.3446534
Bình phương tối thiểu thông thường là khả năng tối đa cho một mô hình tuyến tính, vì vậy nó có ý nghĩa lm
sẽ cho chúng ta câu trả lời tương tự. (Lưu ý rằng được sử dụng để xác định các lỗi tiêu chuẩn).
summary(lm(y ~ x, data))
##
## Call:
## lm(formula = y ~ x, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3616 -0.9898 0.1345 0.9967 3.8364
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.13038 0.21298 -0.612 0.541
## x 2.72866 0.03621 75.363 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.351 on 198 degrees of freedom
## Multiple R-squared: 0.9663, Adjusted R-squared: 0.9661
## F-statistic: 5680 on 1 and 198 DF, p-value: < 2.2e-16
data$y <- 0 + beta*data$x + rnorm(200, 0, sigma2)
? Và có 0 +
hữu ích không?
beta
và sigma2
sẽ cần được xác định để mã này chạy. Tôi đã giấu chúng để chúng tôi có thể "khám phá" các tham số, thứ mà hầu như không biết khi bạn chạy MLE.
0 +
mọi thứ không thực sự làm gì cả; Tôi chỉ bao gồm nó bởi vì mô hình hồi quy thường có một đánh chặn. Và nếu MLE đang cố gắng tối ưu hóa beta
, sigma2
và alpha
, tôi không thể hiển thị lô bề mặt đẹp (trừ khi bạn biết gói R sẽ vẽ theo bốn chiều!)
Ước tính khả năng tối đa (ML) của một tham số là giá trị của tham số đó theo đó dữ liệu quan sát thực tế của bạn rất có thể, liên quan đến bất kỳ giá trị có thể nào khác của tham số.
Ý tưởng là có bất kỳ số lượng giá trị tham số "đúng" nào có thể dẫn đến dữ liệu thực tế được quan sát của bạn với một số xác suất khác không (mặc dù có thể nhỏ). Nhưng ước tính ML đưa ra giá trị tham số sẽ dẫn đến dữ liệu được quan sát của bạn với xác suất cao nhất.
Điều này không được nhầm lẫn với giá trị của tham số rất có thể đã thực sự tạo ra dữ liệu của bạn!
Bạn cần nhớ rằng "khả năng" là một thuật ngữ kỹ thuật. Khả năng của H, Pr (O | H) và xác suất sau của H, Pr (H | O), là các đại lượng khác nhau và chúng có thể có các giá trị khác nhau. Khả năng của H là xác suất mà H giao tiếp với O, không phải là xác suất mà O liên quan đến H. Giả sử bạn nghe thấy tiếng ồn phát ra từ gác mái nhà bạn. Bạn xem xét giả thuyết rằng có những con gremlins trên đó chơi bowling. Khả năng của giả thuyết này là rất cao, vì nếu có trò chơi bowling trên gác mái, có lẽ sẽ có tiếng ồn. Nhưng chắc chắn bạn không nghĩ rằng tiếng ồn làm cho rất có thể có những con gremlins trên đó chơi bowling. Trong ví dụ này, Pr (O | H) cao và Pr (H | O) thấp. Giả thuyết gremlin có khả năng cao (theo nghĩa kỹ thuật) nhưng xác suất thấp.
Xét về ví dụ trên, ML sẽ ủng hộ giả thuyết gremlin. Trong ví dụ hài hước đặc biệt này, đó rõ ràng là một lựa chọn tồi. Nhưng trong rất nhiều trường hợp thực tế khác, ước tính ML có thể là một trường hợp rất hợp lý.
Tài liệu tham khảo
Tỉnh táo, E. (2008). Bằng chứng và sự tiến hóa: Logic đằng sau khoa học. Nhà xuất bản Đại học Cambridge.
MLE là giá trị của tham số quan tâm tối đa hóa xác suất quan sát dữ liệu mà bạn quan sát được. Nói cách khác, chính giá trị của tham số làm cho dữ liệu được quan sát rất có thể đã được quan sát.
Đó là có thể nói điều gì đó mà không sử dụng (nhiều) toán học, nhưng đối với các ứng dụng thống kê thực tế của khả năng tối đa mà bạn cần toán học.
Ước tính khả năng tối đa có liên quan đến những gì các nhà triết học gọi là suy luận để giải thích tốt nhất , hoặc bắt cóc . Chúng tôi sử dụng tất cả các thời gian! Lưu ý, tôi không nói rằng khả năng tối đa là bắt cóc, thuật ngữ đó rộng hơn nhiều và một số trường hợp ước tính Bayes (với một kinh nghiệm trước đó) có thể cũng được coi là bắt cóc. Một số ví dụ được lấy từ http://plato.stanford.edu/entries/abduction/#Aca Xem thêm https://en.wikipedia.org/wiki/Abductive_reasoning (Trong khoa học máy tính "bắt cóc" cũng được sử dụng trong bối cảnh không mô hình sản xuất.)
Một ví dụ khác: Bạn làm việc trong một trường mẫu giáo, và một ngày nọ, một đứa trẻ bắt đầu đi bộ một cách kỳ lạ, và nói rằng mình bị gãy chân. Bạn kiểm tra và thấy không có gì sai. Sau đó, bạn có thể suy luận một cách hợp lý rằng một trong hai cha mẹ của anh ấy bị gãy chân, vì trẻ em sau đó thường hành động như mô tả, vì vậy đó là "suy luận về lời giải thích tốt nhất" và một ví dụ về khả năng tối đa (không chính thức). (và, tất nhiên, lời giải thích đó có thể sai, nó chỉ có thể xảy ra, không chắc chắn. Bắt cóc / khả năng tối đa không thể đưa ra kết luận chắc chắn).
Bắt cóc là về việc tìm kiếm mẫu trong dữ liệu, và sau đó tìm kiếm các lý thuyết có thể có thể làm cho các mẫu đó có thể xảy ra. Sau đó, chọn giải thích có thể, làm cho mẫu quan sát tối đa có thể xảy ra, chỉ là khả năng tối đa!
Ví dụ điển hình của vụ bắt cóc trong khoa học là sự tiến hóa . Không có một quan sát nào ngụ ý sự tiến hóa, nhưng sự tiến hóa làm cho các mẫu quan sát có thể xảy ra hơn so với các giải thích khác.
Một ví dụ điển hình khác là chẩn đoán y khoa? Điều kiện y tế nào có thể làm cho mô hình quan sát của các triệu chứng có thể xảy ra nhất? Một lần nữa, đây cũng là khả năng tối đa! (Hoặc, trong trường hợp này, có thể ước lượng bayes là phù hợp hơn, chúng ta phải tính đến xác suất trước của các giải thích khác nhau có thể). Nhưng đó là một kỹ thuật, trong trường hợp này chúng ta có thể có các linh mục theo kinh nghiệm có thể được coi là một phần tự nhiên của mô hình thống kê, và cái mà chúng ta gọi là mô hình , cái mà chúng ta gọi là trước là một quy ước thống kê tùy ý (*).
Để trở lại câu hỏi ban đầu về giải thích thuật ngữ giáo dân về MLE, đây là một ví dụ đơn giản: Khi con gái tôi 6 và 7 tuổi, tôi đã hỏi chúng điều này. Chúng tôi đã tạo ra hai chiếc bình (hai hộp đựng giày), trong một chiếc chúng tôi đặt 2 quả bóng màu đen, 8 màu đỏ, trong số còn lại là các số được chuyển. Sau đó, chúng tôi trộn các bình, và chúng tôi rút ra một bình ngẫu nhiên. Sau đó, chúng tôi lấy ngẫu nhiên một quả bóng từ chiếc bình đó. Nó màu đỏ.
Sau đó tôi hỏi: Bạn nghĩ quả bóng màu đỏ nào được rút ra? Sau khoảng một giây suy nghĩ, họ trả lời (trong dàn hợp xướng): Từ một quả bóng có 8 quả bóng màu đỏ!
Sau đó tôi hỏi: Tại sao bạn nghĩ như vậy? Và một lần nữa, sau khoảng một giây (inchoir một lần nữa): "Bởi vì sau đó dễ dàng hơn để vẽ một quả bóng màu đỏ!". Đó là, dễ dàng hơn = nhiều khả năng hơn . Đó là khả năng tối đa (đó là một bài tập dễ dàng để viết mô hình xác suất) và đó là "suy luận về lời giải thích tốt nhất", đó là bắt cóc.
(*) Tại sao tôi nói "tùy ý?" Để tiếp tục vấn đề chẩn đoán y tế, nói rằng bệnh nhân là một người đàn ông với một số difficlt để chẩn đoán tình trạng mà bác sĩ đã không nhìn thấy trước đó. Sau đó, nói rằng, trong cuộc nói chuyện với bệnh nhân, anh ta đã đến thăm một nơi nào đó ở châu Phi nhiệt đới cách đây không lâu. Đó là một dữ liệu mới, nhưng tác dụng của nó trong các mô hình điển hình (được sử dụng trong tình huống này, có thể là chính thức hoặc không chính thức) sẽ thay đổi trước những giải thích khó khăn có thể, vì các bệnh nhiệt đới như sốt rét bây giờ sẽ tăng cao hơn Xác suất trước. Vì vậy, dữ liệu mới đi vào phân tích trước .
(Nếu dữ liệu được đọc liên tục 'mật độ xác suất' cho 'xác suất'. Vì vậy, nếu chúng được đo bằng inch, mật độ sẽ được đo bằng xác suất trên mỗi inch.)
Hãy chơi một trò chơi: Tôi đang ở trong một căn phòng tối, không ai có thể nhìn thấy những gì tôi làm nhưng bạn biết rằng (a) Tôi ném xúc xắc và đếm số '1 là' thành công 'hoặc (b) Tôi ném một đồng xu và tôi đếm số lượng người đứng đầu là "thành công".
Như tôi đã nói, bạn không thể thấy ai trong số hai tôi làm nhưng tôi chỉ cung cấp cho bạn một thông tin duy nhất: Tôi nói với bạn rằng tôi đã ném xúc xắc 100 lần hoặc tôi đã ném đồng xu 100 lần và tôi đã có 17 lần thành công .
Câu hỏi là đoán xem tôi đã ném xúc xắc hay ném đồng xu.
Bạn có thể sẽ trả lời rằng tôi ném xúc xắc.
Nếu bạn làm như vậy, thì có lẽ bạn đã 'đoán được bằng cách tối đa hóa khả năng' bởi vì nếu tôi quan sát 17 thành công trong 100 thử nghiệm, nhiều khả năng tôi đã ném xúc xắc hơn là tôi đã ném một đồng xu.
Vì vậy, những gì bạn đã làm là lấy giá trị đó của 'xác suất thành công' (1/6 cho một con xúc xắc và 1/2 cho một đồng xu) khiến nó có khả năng quan sát 17 thành công nhất trong 100. 'Nhiều khả năng' có nghĩa là cơ hội bạn có 17 lần '1' trong 100 lần ném xúc xắc cao hơn cơ hội có 17 đầu trong số 100 lần tung đồng xu.
hoặc khả năng đăng nhập:
Thí dụ
Đầu tiên cho phép tạo một số dữ liệu giả mạo:
set.seed(123)
x <- rnorm(1000, 1.78)
llik <- function(mu) sum(log(dnorm(x, mu)))
ll <- vapply(seq(-6, 6, by=0.001), llik, numeric(1))
plot(seq(-6, 6, by=0.001), ll, type="l", ylab="Log-Likelihood", xlab=expression(mu))
abline(v=mean(x), col="red")
Điều tương tự có thể đạt được nhanh hơn với một thuật toán tối ưu hóa tìm kiếm giá trị tối đa của hàm theo cách thông minh hơn mà đi theo lực lượng vũ phu . Có nhiều ví dụ như vậy, ví dụ một trong những điều cơ bản nhất trong R là optimize
:
optimize(llik, interval=c(-6, 6), maximum=TRUE)$maximum
Ví dụ này cho thấy cách bạn có thể sử dụng nhiều cách tiếp cận để tìm giá trị tối đa hóa hàm khả năng để tìm giá trị "tốt nhất" của tham số.
Khả năng là "xác suất quan sát dữ liệu" tương đương với pdf chung (đối với pmf phân phối rời rạc). Nhưng nó được biểu thị như là một hàm của các tham số hoặc
Giả sử bạn có một đồng tiền. Tung nó có thể cho đầu hoặc đuôi. Nhưng bạn không biết nếu đó là một đồng tiền công bằng. Vì vậy, bạn ném nó 1000 lần. Nó đi lên như cái đầu 1000 lần, và không bao giờ như đuôi.
MLE cố gắng giúp bạn tìm ra lời giải thích tốt nhất trong tình huống như thế này - khi bạn có một số kết quả và bạn muốn tìm ra giá trị của tham số nào có khả năng đưa ra kết quả đó. Ở đây, chúng tôi có 2000 đầu trong số 2000 lần ném - vì vậy chúng tôi sẽ sử dụng MLE để tìm hiểu xác suất nhận được đầu tốt nhất giải thích việc nhận 2000 đầu trong số 2000 lần ném.
Đó là Công cụ ước tính khả năng tối đa . Nó ước tính tham số (ở đây, đó là hàm phân phối xác suất) rất có thể đã tạo ra kết quả mà bạn hiện đang xem.
Cách tôi hiểu MLE là thế này: Bạn chỉ có thể thấy những gì bản chất muốn bạn nhìn thấy. Những điều bạn nhìn thấy là sự thật. Những sự thật này có một quá trình cơ bản tạo ra nó. Những quá trình này được ẩn giấu, chưa biết, cần phải được khám phá. Sau đó, câu hỏi là: Với thực tế quan sát được, khả năng quá trình P1 tạo ra nó là gì? Khả năng quá trình P2 tạo ra nó là gì? Và cứ thế ... Một trong những khả năng này sẽ là tối đa. MLE là một hàm trích xuất khả năng tối đa đó.
Hãy nghĩ về việc tung đồng xu; đồng xu bị sai lệch. Không ai biết mức độ thiên vị. Nó có thể dao động từ o (tất cả các đuôi) đến 1 (tất cả các đầu). Một đồng xu công bằng sẽ là 0,5 (đầu / đuôi có khả năng như nhau). Khi bạn thực hiện 10 lần ném và bạn quan sát được 7 Đầu, thì MLE là mức độ sai lệch có khả năng tạo ra thực tế quan sát được của 7 đầu trong 10 lần ném.