Veri analizi süreçlerinde ortaya çıkan iki büyük sayısal problem sınıfı, optimizasyon ve integrasyon problemleridir. Belirli bir modele ilişkin kestiricileri analitik olarak hesaplamak her zaman mümkün değildir ve çoğu zaman sayısal çözümleri dikkate almamız gerekir. Bu sorunu aşmanın bir yolu simülasyon kullanmaktır. Monte Carlo kestirimi, bir olasılık dağılımından varsayımsal örnekler simüle edilerek bu dağılıma ait önemli büyüklüklerin hesaplanmasına denir.
Monte Carlo’nun temel fikri, integrali bazı olasılık dağılımlarına göre bir beklenen değer olarak yazmak ve sonrasında moment yöntemi kestiricisi ile yaklaştırmaktır ($E[g(X)] \approx \overline{g(X)} = \dfrac{1}{n}\sum g(X_{i})$).
Eğer sürekli bir $g(\theta)$ fonksiyonumuz varsa ve bunu (a,b) aralığında integre etmek istiyorsak, integrali $U \sim U[a,b]$ üniform dağılımına göre bir beklenen değer olarak yeniden yazabiliriz, yani:
Moment yöntemi kestiricisini kullanarak integral yaklaşımımız:
Burada
üniform bir dağılımdan simüle edilmiş değerlerdir.
# Declaring the desired function
f =function(x){return(exp(x))}# Declaring the absolute error function
error =function(x,y){return(abs(x-y))}# The actual integral answer
ans = exp(5)-exp(3)
set.seed(6971)# number of iterations
n =10^2# simulated uniform data
x= runif(n,3,5)# MonteCarlo approximation
MCa=(5-3)*mean(f(x))# Approximation error
e = error(ans,MCa)
rest = data.frame(n = n,MCapprox = MCa,error = e)
set.seed(6971)for(k in3:6){
n =10^k
x = runif(n,3,5)
mca =(5-3)*mean(f(x))
rest = rbind(rest,c(n,mca,error(ans,mca)))}
kable(rest,digits =5,align ='c',caption ="Integral Monte Carlo approximation results",
col.names =c("Number of simulations","Monte Carlo approximation","Error approximation"))Altyapı:
Genelleştirilmiş Monte Carlo Yaklaşımı
Genel bir durumda, f dağılımı için integral yaklaşımı şöyledir:
$\widehat{I}$’nin kurulumu için bir algoritma aşağıdaki adımlarla açıklanabilir:
1) f dağılımından üretin
2) Hesaplayın:
3) Örnek ortalamasını elde edin: $$\overline{I} = \dfrac{1}{n}\sum_{k=1}^{n}\dfrac{g(\theta_k)}{f(\theta_k)}$$
Bir sonraki bölümde, algoritmanın nasıl çalıştığını göstermek için basit Monte Carlo yaklaşım fonksiyonu sunulmaktadır; burada a ve b üniform yoğunluğun parametreleridir, n istenen simülasyon sayısıdır ve f entegre etmek istediğimiz fonksiyondur.
# The simple Monte Carlo function
MCaf =function(n,a,b,f){
x = runif(n,a,b)
MCa =(b-a)*mean(f(x))
return(MCa)}Altyapı:
Bayesçi Veri Analizinde Monte Carlo Yöntemleri
Bayesçi veri analizinin temel fikri, bir modeli ( örneğin bir regresyon veya zaman serisi modeli ) Bayesçi çıkarım yaklaşımıyla uyarlamaktır. İlgi duyduğumuz parametrelerin teorik bir dağılıma sahip olduğunu varsayarız; bu dağılım (art dağılım), gözlenen verinin dağılımı (olabilirlik) ve parametrelerimizle ilgili önceki veya dışsal bilgi (önsel dağılım) kullanılarak Bayes teoremi ile güncellenir.
Bayesçi yaklaşımda temel sorun art dağılımın kestirilmesidir. Markov Zinciri Monte Carlo yöntemleri ( mcmc ), art dağılımdan bir örneklem üretir ve beklenen değerleri, olasılıkları veya kantilleri Monte Carlo yöntemleriyle yaklaştırır.
Sonraki iki bölümde, teorik bir dağılımın olasılık ve kantillerini yaklaştırmaya yönelik iki örnek sunuyoruz. Yukarıda açıklanan prosedür, Bayesçi yaklaşımda yaygın olarak kullanılan metodolojilerdir.
Örnek 2: Gamma dağılımında olasılık yaklaşımı
Diyelim ki $\theta$ rassal değişkeninin sıfır ile 5 arasında olma olasılığını $P(0 < \theta < 5)$ hesaplamak istiyoruz; $\theta$’nın a = 2 ve b = 1/3 parametreleriyle gamma dağılımına sahip olduğunu varsayalım ($\theta \sim Gamma(a = 2,b = 1/3)$). O halde olasılık şöyledir:
Burada $I_{[0,5]}(\theta) = 1$, $\theta$ [0,5] aralığına aitse geçerlidir. Monte Carlo yaklaşımının fikri, [0,5] aralığına düşen gözlem sayısını saymak ve bunu simüle edilen toplam veri sayısına bölmektir.
set.seed(6972)# number of iterations
n =10^2# simulated uniform data
x= rgamma(n,shape =2,1/3)# MonteCarlo approximation
MCa= mean(x <=5)# Approximation error
e = error(pgamma(5,2,1/3),MCa)
rest = data.frame(n = n,MCapprox = MCa,error = e)for(k in3:6){
n =10^k
x= rgamma(n,shape =2,1/3)
mca= mean(x <=5)
rest = rbind(rest,c(n,mca,error(pgamma(5,2,1/3),mca)))}
kable(rest,digits =5,align ='c',caption ="Probability Monte Carlo approximation results",
col.names =c("Number of simulations","Monte Carlo approximation","Error approximation"))Altyapı:
Örnek 3: Normal dağılımda kantil yaklaşımı
Diyelim ki $\mu = 20$ ve $\sigma = 3$ parametrelerine sahip normal dağılımlı bir $\theta$ rassal değişkeninin %0,95 kantilini hesaplamak istiyoruz ($\theta \sim normal(\mu = 20,\sigma^{2} = 9)$). Bu durumda %0,95 kantili şöyledir:
Ana fikir, olasılığı 0,95’e eşit veya ondan küçük veren en büyük örnek değerini bulmaktır; Monte Carlo kantil yaklaşımı ise simüle edilen verinin quantile() fonksiyonu kullanılarak tahmin edilmesidir.
set.seed(6973)# number of iterations
n =10^2# simulated uniform data
x= rnorm(n,20,3)# MonteCarlo approximation
MCa= quantile(x,0.95)# Approximation error
e = error(qnorm(0.95,20,3),MCa)
rest = data.frame(n = n,MCapprox = MCa,error = e)for(k in3:6){
n =10^k
x= rnorm(n,20,3)
mca= quantile(x,0.95)
rest = rbind(rest,c(n,mca,error(qnorm(0.95,20,3),mca)))}
kable(rest,digits =5,align ='c',caption ="Quantile Monte Carlo approximation results",
col.names =c("Number of simulations","Monte Carlo approximation","Error approximation"),row.names =FALSE)Altyapı:
Tartışmalar ve Sonuçlar
Monte Carlo yaklaşım yöntemleri, integral yaklaşımı için alternatif bir araç sunar ve özellikle karmaşık ve sofistike modellerle çalışırken Bayesçi çıkarım yaklaşımında hayati bir araçtır. Üç örneğimizde de görüldüğü gibi Monte Carlo yöntemleri mükemmele yakın bir yaklaşım sağlar; ancak yaklaşım hatasını sıfıra yaklaştırmak için çok büyük sayıda simülasyon gerektirir.
Kaynakça
1) Introducing Monte Carlo methods with R, Springer 2004, Christian P. Robert and George Casella.
2) Handbook of Markov Chain Monte Carlo, Chapman and Hall, Steve Brooks, Andrew Gelman, Galin L. Jones, and Xiao-Li Meng.
3) Introduction to mathematical Statistics, Pearson, Robert V. Hogg, Joseph W. Mckean, and Allen T. Craig.
4) Statistical Inference An Integrated Approach, Chapman and Hall, Helio S. Migon, Dani Gamerman, Francisco Louzada.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Giriş
Veri analizi süreçlerinde ortaya çıkan iki büyük sayısal problem sınıfı, optimizasyon ve integrasyon problemleridir. Belirli bir modele ilişkin kestiricileri analitik olarak hesaplamak her zaman mümkün değildir ve çoğu zaman sayısal çözümleri dikkate almamız gerekir. Bu sorunu aşmanın bir yolu simülasyon kullanmaktır. Monte Carlo kestirimi, bir olasılık dağılımından varsayımsal örnekler simüle edilerek bu dağılıma ait önemli büyüklüklerin hesaplanmasına denir.
Monte Carlo’nun temel fikri, integrali bazı olasılık dağılımlarına göre bir beklenen değer olarak yazmak ve sonrasında moment yöntemi kestiricisi ile yaklaştırmaktır ($E[g(X)] \approx \overline{g(X)} = \dfrac{1}{n}\sum g(X_{i})$).
Eğer sürekli bir $g(\theta)$ fonksiyonumuz varsa ve bunu (a,b) aralığında integre etmek istiyorsak, integrali $U \sim U[a,b]$ üniform dağılımına göre bir beklenen değer olarak yeniden yazabiliriz, yani:
Moment yöntemi kestiricisini kullanarak integral yaklaşımımız:
Burada
üniform bir dağılımdan simüle edilmiş değerlerdir.
Örnek 1: Üstel integral yaklaşımı
1) $f(x)= e^{x}$ fonksiyonu verildiğinde, [3,5] aralığındaki integral:
İntegralin Monte Carlo yaklaşımı ise:
Genelleştirilmiş Monte Carlo Yaklaşımı
Genel bir durumda, f dağılımı için integral yaklaşımı şöyledir:
$\widehat{I}$’nin kurulumu için bir algoritma aşağıdaki adımlarla açıklanabilir:
1) f dağılımından
üretin
2) Hesaplayın:
3) Örnek ortalamasını elde edin: $$\overline{I} = \dfrac{1}{n}\sum_{k=1}^{n}\dfrac{g(\theta_k)}{f(\theta_k)}$$
Bir sonraki bölümde, algoritmanın nasıl çalıştığını göstermek için basit Monte Carlo yaklaşım fonksiyonu sunulmaktadır; burada a ve b üniform yoğunluğun parametreleridir, n istenen simülasyon sayısıdır ve f entegre etmek istediğimiz fonksiyondur.
Bayesçi Veri Analizinde Monte Carlo Yöntemleri
Bayesçi veri analizinin temel fikri, bir modeli ( örneğin bir regresyon veya zaman serisi modeli ) Bayesçi çıkarım yaklaşımıyla uyarlamaktır. İlgi duyduğumuz parametrelerin teorik bir dağılıma sahip olduğunu varsayarız; bu dağılım (art dağılım), gözlenen verinin dağılımı (olabilirlik) ve parametrelerimizle ilgili önceki veya dışsal bilgi (önsel dağılım) kullanılarak Bayes teoremi ile güncellenir.
$$p(\theta / X) \text{ } \alpha\text{ } p(X/\theta)p(\theta)$$ Burada:
$p(\theta/X)$ parametrenin art dağılımıdır
$p(X/\theta)$ gözlenen verinin örnekleme dağılımıdır ( olabilirlik ).
$p(\theta)$ parametrenin önsel dağılımıdır.
Bayesçi yaklaşımda temel sorun art dağılımın kestirilmesidir. Markov Zinciri Monte Carlo yöntemleri ( mcmc ), art dağılımdan bir örneklem üretir ve beklenen değerleri, olasılıkları veya kantilleri Monte Carlo yöntemleriyle yaklaştırır.
Sonraki iki bölümde, teorik bir dağılımın olasılık ve kantillerini yaklaştırmaya yönelik iki örnek sunuyoruz. Yukarıda açıklanan prosedür, Bayesçi yaklaşımda yaygın olarak kullanılan metodolojilerdir.
Örnek 2: Gamma dağılımında olasılık yaklaşımı
Diyelim ki $\theta$ rassal değişkeninin sıfır ile 5 arasında olma olasılığını $P(0 < \theta < 5)$ hesaplamak istiyoruz; $\theta$’nın a = 2 ve b = 1/3 parametreleriyle gamma dağılımına sahip olduğunu varsayalım ($\theta \sim Gamma(a = 2,b = 1/3)$). O halde olasılık şöyledir:
Burada $I_{[0,5]}(\theta) = 1$, $\theta$ [0,5] aralığına aitse geçerlidir. Monte Carlo yaklaşımının fikri, [0,5] aralığına düşen gözlem sayısını saymak ve bunu simüle edilen toplam veri sayısına bölmektir.
Örnek 3: Normal dağılımda kantil yaklaşımı
Diyelim ki $\mu = 20$ ve $\sigma = 3$ parametrelerine sahip normal dağılımlı bir $\theta$ rassal değişkeninin %0,95 kantilini hesaplamak istiyoruz ($\theta \sim normal(\mu = 20,\sigma^{2} = 9)$). Bu durumda %0,95 kantili şöyledir:
Ana fikir, olasılığı 0,95’e eşit veya ondan küçük veren en büyük örnek değerini bulmaktır; Monte Carlo kantil yaklaşımı ise simüle edilen verinin quantile() fonksiyonu kullanılarak tahmin edilmesidir.
Tartışmalar ve Sonuçlar
Monte Carlo yaklaşım yöntemleri, integral yaklaşımı için alternatif bir araç sunar ve özellikle karmaşık ve sofistike modellerle çalışırken Bayesçi çıkarım yaklaşımında hayati bir araçtır. Üç örneğimizde de görüldüğü gibi Monte Carlo yöntemleri mükemmele yakın bir yaklaşım sağlar; ancak yaklaşım hatasını sıfıra yaklaştırmak için çok büyük sayıda simülasyon gerektirir.
Kaynakça
1) Introducing Monte Carlo methods with R, Springer 2004, Christian P. Robert and George Casella.
2) Handbook of Markov Chain Monte Carlo, Chapman and Hall, Steve Brooks, Andrew Gelman, Galin L. Jones, and Xiao-Li Meng.
3) Introduction to mathematical Statistics, Pearson, Robert V. Hogg, Joseph W. Mckean, and Allen T. Craig.
4) Statistical Inference An Integrated Approach, Chapman and Hall, Helio S. Migon, Dani Gamerman, Francisco Louzada.