Biri bana, meslekten olmayan koşullarda maksimum olasılık tahmini (MLE) hakkında ayrıntılı olarak açıklayabilir mi? Matematiksel türev veya denklem içine girmeden önce altta yatan kavramı bilmek istiyorum.
Biri bana, meslekten olmayan koşullarda maksimum olasılık tahmini (MLE) hakkında ayrıntılı olarak açıklayabilir mi? Matematiksel türev veya denklem içine girmeden önce altta yatan kavramı bilmek istiyorum.
Yanıtlar:
Biraz bilgin olduğunu söyle. Verilerin bazı dağıtımlardan (belki de Gaussianca) geldiğini varsaymaya istekli olduğunuzu söyleyin. Verilerin elde edebileceği sonsuz sayıda Gaussian vardır (bu, Gauss dağılımının sahip olabileceği sonsuz sayıda araç ve varyansın kombinasyonuna karşılık gelir). MLE, verilerinizle "en tutarlı" olan Gaussian'ı (yani, ortalama ve varyansı) seçecektir ( tutarlılığın tam anlamı aşağıda açıklanmıştır).
Öyleyse, veri kümesine sahip olduğunuzu söyleyin . Bu verilerin elde edilebileceği en tutarlı Gauss ortalamaları 3 ve 16 değişkenleri arasındadır. Diğer bazı Gauss'lardan da örneklenmiş olabilir. Ancak, ortalama değeri 3 ve varyansı 16 olan bir kişi, şu anlamda verilerle en tutarlıdır: gözlemlediğiniz belirli değerlerini elde etme olasılığı, bu ortalama ve varyans seçiminde, diğer seçeneklerden daha fazladır.
Regresyona geçme: ortalamanın sabit olması yerine, ortalama, regresyon denkleminde belirtilen verilerin doğrusal bir fonksiyonudur. Yani, gibi verilerinizi önceden ile birlikte aldığınızı varsayalım. Bu Gaussian'ın anlamı şimdi takılı regresyon modeli. β , burada β = [ - 1.9 , .9 ]
GLM'lere taşınıyor: Gaussian'ı başka bir dağıtımla (üstel aileden) değiştirin. Ortalama şimdi, link fonksiyonu tarafından dönüştürülen regresyon denklemi tarafından belirlenen verinin doğrusal bir fonksiyonudur. Yani, , burada (binom veriler) logit için.
Maksimum Olabilirlik Tahmini (MLE), gözlemlenen verileri açıklayan en olası işlevi bulma tekniğidir . Bence matematik gerekli, ama seni korkutmasına izin verme!
Diyelim ki düzleminde bir takım noktalarımız var ve fonksiyon parametrelerini bilmek istiyoruz.ve verilere en uygun olan β ve σ(bu durumda bu örneği oluşturmak için belirlediğim için fonksiyonu biliyoruz, ama benimle kal).
data <- data.frame(x = runif(200, 1, 10))
data$y <- 0 + beta*data$x + rnorm(200, 0, sigma)
plot(data$x, data$y)
Bir MLE yapmak için, fonksiyonun şekli hakkında varsayımlarda bulunmamız gerekir. Doğrusal bir modelde, noktaların normal (Gauss) olasılık dağılımını takip ettiğini varsayıyoruz, ortalama ve varyans σ 2 : y = N ( x β , σ. Bu olasılık yoğunluğu fonksiyonunun denklemi: 1
Bulmak istediğimiz, tüm noktaları bu olasılığı maksimize eden ve σ parametreleridir ( x i , y 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)
}
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)
Gördüğünüz gibi, bu yüzeyde bir yerde bir maksimum nokta var. Bu noktayı belirten parametreleri, R'nin yerleşik optimizasyon komutlarıyla bulabiliriz. Bu, değerinin gerçek parametrelerini ortaya çıkarmak için oldukça yakındır.
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
lm
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)
? Ve 0 +
kullanışlıdır?
beta
ve sigma2
bu kodun çalışması için tanımlanması gerekir. Bunları sakladım, böylece MLE'yi çalıştırdığınızda neredeyse her zaman bilinmeyen parametreleri "keşfedebildik".
0 +
hiçbir şeyin aslında hiçbir şey yapmadığı konusunda haklısın ; Ben sadece dahil ettim çünkü regresyon modellerinde genellikle bir kesişim var. MLE optimize etmek çalışıyormuş Ve beta
, sigma2
ve alpha
(dört boyutta arsa olacaktır bir R paketinin bilmedikçe!), Ben çok yüzey arsa gösteremedi
Bir parametrenin maksimum olasılığı (ML) tahmini, parametrenin olası diğer değerlerine göre gerçek gözlemlenen verilerinizin en muhtemel olduğu parametrenin değeridir.
Buradaki fikir, aslında gözlemlenen verilerinize sıfır olmayan (belki de küçük de olsa) bir olasılıkla gözlemlenebilecek herhangi bir sayıda "gerçek" parametre değeri olduğudur. Fakat ML tahmini, gözlemlenen verilerinize en yüksek olasılıkla yol açacak olan parametre değerini verir.
Bu, verilerinizi gerçekten üretmiş olması muhtemel olan parametrenin değeri ile karıştırılmamalıdır!
Bu ayrımdan Sober'den (2008, s. 9-10) aşağıdaki pasajı seviyorum. Bu kısımda, bazı gözlenmiş verilerimiz var .
"Olabilirliğin" teknik bir terim olduğunu hatırlamanız gerekir. H, Pr (O | H) olasılığı ve H, Pr (H | O) 'nın arka olasılığı, farklı miktarlardır ve farklı değerlere sahip olabilirler. H olasılığı, H'nin O'ya verdiği olasılık değil, O'nun H'ye verdiği olasılık değildir. O, evinizin tavanından çıkan bir ses duyduğunuzu varsayalım. Bovlingin orada gremlinlerin olduğu hipotezini düşünürsünüz. Bu hipotezin olasılığı çok yüksektir, çünkü tavan arasında boğuşma yapan gremlinler varsa, muhtemelen gürültü olacaktır. Ama elbette, gürültünün, bowling salonlarında gremlinlerin bulunma ihtimalini arttırdığını düşünmüyorsunuz. Bu örnekte, Pr (O | H) yüksek ve Pr (H | O) düşüktür. Gremlin hipotezi yüksek bir olasılık (teknik anlamda) fakat düşük olasılıklıdır.
Yukarıdaki örnek açısından, ML gremlin hipotezini destekleyecektir. Bu özel komik örnekte, bu açıkça kötü bir seçimdir. Fakat daha birçok başka gerçekçi durumda, ML tahmini çok makul olabilir.
Referans
Ayık, E. (2008). Kanıt ve Evrim: Bilimin Arkasındaki Mantık. Cambridge Üniversitesi Basını.
MLE, gözlemlediğiniz verileri gözlemleme olasılığını en üst seviyeye çıkaran ilgi parametresinin değeridir. Başka bir deyişle, gözlemlenen verileri gözlemlenmesi en muhtemel kılan parametre değeridir.
O ise (çok) matematik kullanmadan bir şey söylemek mümkün, ama en çok olabilirlik gerçek istatistiksel uygulamalar için matematik lazım.
En yüksek olabilirlik tahmini, filozofların en iyi açıklamaya veya kaçırılmaya karşı çıkarımda bulundukları şeyle ilgilidir . Bunu her zaman kullanıyoruz! Ben maksimum olabilirlik öyle söyleme Not olduğu kaçırma, bu terim çok daha geniş olduğunu ve (ampirik önce birlikte) Bayes tahmin bazı durumlarda muhtemelen kaçırma olarak görülebilir. Http://plato.stanford.edu/entries/abduction/#Aca adresinden alınan bazı örnekler Ayrıca bakınız https://en.wikipedia.org/wiki/Abductive_reasoning (Bilgisayar bilimlerinde "kaçırma", bağlam dışı - olasılık modelleri.)
Başka bir örnek: Bir anaokulunda çalışıyorsunuz ve bir gün bir çocuk garip bir şekilde yürümeye başlıyor ve bacağını kırdığını söylüyor. Siz inceleyin ve yanlış bir şey bulamadınız. Öyleyse, ebeveynlerinden birinin bacaklarını kırdığına makul bir şekilde karar verebilirsiniz, çünkü çocuklar daha sonra tarif edildiği gibi hareket eder, bu nedenle "en iyi açıklamanın bir çıkarımı" ve (gayrı resmi) bir maksimum ihtimal örneğidir. (ve tabii ki, bu açıklama yanlış olabilir, sadece mümkün, kesin değil. Kaçırma / azami ihtimal kesin sonuç veremez).
Kaçırma, verilerde kalıp bulma ve bu kalıpları muhtemel yapabilecek olası teorileri araştırmakla ilgilidir. O zaman, gözlemlenen modeli en fazla olası kılan muhtemel açıklamayı seçmek, sadece maksimum ihtimaldir!
Bilimde kaçırılmanın başlıca örneği evrimdir . Evrimi ima eden tek bir gözlem yoktur, ancak evrim, gözlenen kalıpları diğer açıklamalardan daha muhtemel kılar.
Başka bir tipik örnek tıbbi teşhis mi? Hangi olası tıbbi durum gözlemlenen semptomları en muhtemel hale getirir? Yine, bu da maksimum ihtimal! (Veya, bu durumda, belki de bayesian tahmini daha uygun olur, çeşitli olası açıklamaların önceki olasılığını göz önünde bulundurmalıyız). Ancak bu bir tekniktir, bu durumda istatistiksel modelin doğal bir parçası olarak görülebilen deneysel öncelikleri olabilir ve model dediğimiz şey, daha önce söylediğimiz bazı keyfi (*) istatistiksel kurallardır.
MLE'nin meslekten olmayan terim açıklaması hakkındaki asıl soruya geri dönmek için, işte basit bir örnek: 6 ve 7 yaşındaki kızlarım, bunu sordum. İki çatal yaptık (iki ayakkabı kutusu), bir tanesine 2 siyah topu, 8 kırmızı, diğerine anahtarlanan sayılara koyduk. Daha sonra çayı karıştırdık ve rastgele bir tane çizelim. Sonra da bu urndan rastgele bir top çıkardık. Kırmızıydı.
Sonra sordum: Hangi toptan kırmızı topun çekildiğini düşünüyorsunuz? Düşündükten yaklaşık bir saniye sonra cevap verdiler (koroda): 8 tane kırmızı topu olandan!
Sonra sordum: Neden böyle düşünüyorsun? Ve yine, yaklaşık bir saniye sonra (tekrar kuluçkada): "Çünkü kırmızı bir top çizmek daha kolay!". Yani, kolay = daha muhtemel . Bu, maksimum olasılıktı (olasılık modelini yazmak için kolay bir alıştırma) ve “en iyi açıklamanın çıkarımı” yani kaçırılmadır.
(*) Neden "keyfi" diyorum? Tıbbi tanı problemine devam etmek için, hastanın doktorun daha önce görmediği durumu teşhis etmek için biraz zor olan bir adam olduğunu söyleyin. Sonra, diyelim ki, hastayla konuşmasında kısa zaman önce tropik Afrika'da bir yeri ziyaret ettiği ortaya çıkar. Bu yeni bir veri parçasıdır, ancak tipik modellerde etkisi (bu tür durumlarda kullanılır, resmi veya gayrı resmi olsa da) zor olası açıklamaların önceliğini değiştirecektir, çünkü sıtma gibi tropikal hastalıklar artmaktadır. önceki olasılık Böylece yeni veriler önceden analizlere girer .
(Eğer veriler sürekli ise, “olasılık” için “olasılık yoğunluğu” nu okuyun. Dolayısıyla inç cinsinden ölçülürse, yoğunluk inç başına olasılık cinsinden ölçülür.)
Haydi bir oyun oynayalım: Karanlık bir odadayım, kimse ne yaptığımı göremiyor ama bilirsin ya (a) Bir zar atarım ve '1'in sayısını' başarı 'olarak sayırım ya da (b) Bir jeton atarım ve kafa sayısını 'başarı' olarak sayıyorum.
Dediğim gibi, ikisinden hangisini yaptığımı göremiyorsunuz ama size tek bir bilgi vereceğim: Size 100 kere bir zar attığımı ya da 100 kere attığımı ve jetonu 100 kez attığımı ve 17 başarılı olduğumu söylüyorum .
Soru bir zar atıp atmadığımı ya da yazı tura atıp atmadığımı tahmin etmektir.
Muhtemelen bir zar attığımı cevaplayacaksın.
Bunu yaparsanız, o zaman muhtemelen 'olasılığını en üst düzeye çıkararak bir tahminde bulunmuşsunuzdur' çünkü 17 deneyden 100'er adet başarı elde edersem, benim madeni para attığımdan daha fazla zar atmam daha muhtemeldir.
Öyleyse yaptığınız şey, “başarı olasılığı” nın (bir zar için 1/6 ve bir jetonun 1 / 6'ı) bu değeri alarak, 100'de 17 başarıya ulaşmayı en muhtemel kılan şeydir. 100 atışta 17 kez bir '1' a sahip olma şansı, 100 jeton fırından 17 kafa alma şansından daha yüksektir.
veya log-olabilirlik:
Örnek
İlk önce bazı sahte veriler üretelim:
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")
Aynısı , bir işlevin azami değerini, kaba kuvvet uygulayan daha akıllı bir şekilde arayan bir optimizasyon algoritmasıyla daha hızlı bir şekilde başarılabilir . Bunun gibi çok sayıda örnek var, örneğin R'nin en temellerinden biri optimize
:
optimize(llik, interval=c(-6, 6), maximum=TRUE)$maximum
Bu örnek, parametrenizin "en iyi" değerini bulma olasılığını en üst düzeye çıkaran değeri bulmak için çoklu yaklaşımları nasıl kullanabileceğinizi gösterir.
Bir bozuk para olduğunu varsayalım. Savurma, kafa veya kuyruk verebilir. Ama bunun adil bir para olup olmadığını bilmiyorsun. Yani 1000 kere atıyorsun. 1000 kez kafa çıkıyor, asla kuyruk gibi gelmiyor.
MLE, böyle bir durumda en iyi açıklamayı bulmanıza yardımcı olmaya çalışır - bir sonuç elde ettiğinizde ve parametrenin değerinin bu sonucu vermesi en muhtemel olanın ne olduğunu bulmak istersiniz. Burada 2000 atıştan 2000 başımız var - bu yüzden, 2000 baştan 2000 başın çıkmasını en iyi şekilde açıklayabilmenin en iyi yolunu bulma ihtimalini bulmak için bir MLE kullanırız .
Bu var Maksimum olabilirlik Tahmincisi . Şu anda bakmakta olduğunuz sonucu vermesi muhtemel olan parametreyi (burada bir olasılık dağılım fonksiyonu) tahmin eder.
MLE'yi anladığım yol şudur: Sadece doğanın görmeni istediği şeyi görürsün. Gördüğün şeyler gerçekler. Bu gerçeklerin onu oluşturan temel bir süreci vardır. Bu işlem gizli, bilinmeyen, keşfedilmesi gerekiyor. Öyleyse soru şudur: Gözlenen gerçekler göz önüne alındığında, P1 sürecinin yaratma olasılığı nedir? P2 işleminin üretme olasılığı nedir? Ve böyle devam eder ... Bu ihtimallerden biri en fazla olacak. MLE, bu maksimum olasılığı ortaya çıkaran bir fonksiyondur.
Bir bozuk para atmayı düşünün; para önyargılı. Hiç kimse önyargı derecesini bilmiyor. O (tüm kuyruklar) ile 1 (tüm başlıklar) arasında değişebilir. Adil bir para 0,5 (baş / kuyruk eşit olasılıkla) olacaktır. 10 vuruş yaparsanız ve 7 Kafa gözlemlediğinizde, MLE, 10 kafadaki 7 kafadaki gözlenen gerçeği üretme eğiliminde olan önyargı derecesidir.