লগনরমাল বিতরণ গড়ের জন্য আত্মবিশ্বাসের ব্যবধানগুলি গণনা করার বিভিন্ন উপায় রয়েছে। আমি দুটি পদ্ধতি উপস্থাপন করতে যাচ্ছি: বুটস্ট্র্যাপ এবং প্রোফাইলের সম্ভাবনা। আমি আগে জেফরিতে একটি আলোচনাও উপস্থাপন করব।
বুটস্ট্র্যাপ
এমএলই এর জন্য
এই ক্ষেত্রে, এর MLE (μ,σ) নমুনার জন্য (x1,...,xn) হয়
μ^=1n∑j=1nlog(xj);σ^2=1n∑j=1n(log(xj)−μ^)2.
তারপর, গড় MLE হয় δ = Exp ( μ + + σ 2 / 2 ) । রীস্যাম্পেলিং আমরা একটি পেতে পারেন বুটস্ট্র্যাপ নমুনা এর δδ^=exp(μ^+σ^2/2)δ^ এবং এই ব্যবহার করে, আমরা নিরূপণ করতে পারেন বিভিন্ন বুটস্ট্র্যাপ আস্থা অন্তর। নিম্নলিখিত R
কোডগুলি কীভাবে এগুলি প্রাপ্ত তা দেখায়।
rm(list=ls())
library(boot)
set.seed(1)
# Simulated data
data0 = exp(rnorm(100))
# Statistic (MLE)
mle = function(dat){
m = mean(log(dat))
s = mean((log(dat)-m)^2)
return(exp(m+s/2))
}
# Bootstrap
boots.out = boot(data=data0, statistic=function(d, ind){mle(d[ind])}, R = 10000)
plot(density(boots.out$t))
# 4 types of Bootstrap confidence intervals
boot.ci(boots.out, conf = 0.95, type = "all")
নমুনা গড় জন্য
এখন, বিবেচনা করা মূল্নির্ধারক δ~=x¯ MLE পরিবর্তে। অন্যান্য ধরণের অনুমানকারীও বিবেচনা করা যেতে পারে।
rm(list=ls())
library(boot)
set.seed(1)
# Simulated data
data0 = exp(rnorm(100))
# Statistic (MLE)
samp.mean = function(dat) return(mean(dat))
# Bootstrap
boots.out = boot(data=data0, statistic=function(d, ind){samp.mean(d[ind])}, R = 10000)
plot(density(boots.out$t))
# 4 types of Bootstrap confidence intervals
boot.ci(boots.out, conf = 0.95, type = "all")
প্রোফাইল সম্ভাবনা
সম্ভাবনা এবং প্রোফাইল সম্ভাবনা কার্যকারিতা সংজ্ঞা জন্য, দেখুন । সম্ভাবনা আমরা যত reparameterise করতে পারেন invariance সম্পত্তি ব্যবহার নিম্নরূপ (μ,σ)→(δ,σ) , যেখানে δ=exp(μ+σ2/2) এবং তারপর সংখ্যাসূচকভাবে প্রোফাইলে সম্ভাবনা নিরূপণ δ ।
Rp(δ)=supσL(δ,σ)supδ,σL(δ,σ).
(0,1]0.147 95%δ । নিম্নলিখিত R
কোডগুলি কীভাবে এই অন্তর পেতে হবে তা দেখায়।
set.seed(1)
# Simulated data
data0 = exp(rnorm(100))
# Log likelihood
ll = function(mu,sigma) return( sum(log(dlnorm(data0,mu,sigma))))
# Profile likelihood
Rp = function(delta){
temp = function(sigma) return( sum(log(dlnorm(data0,log(delta)-0.5*sigma^2,sigma)) ))
max=exp(optimize(temp,c(0.25,1.5),maximum=TRUE)$objective -ll(mean(log(data0)),sqrt(mean((log(data0)-mean(log(data0)))^2))))
return(max)
}
vec = seq(1.2,2.5,0.001)
rvec = lapply(vec,Rp)
plot(vec,rvec,type="l")
# Profile confidence intervals
tr = function(delta) return(Rp(delta)-0.147)
c(uniroot(tr,c(1.2,1.6))$root,uniroot(tr,c(2,2.3))$root)
⋆
এই বিভাগে, একটি বিকল্প অ্যালগরিদম, মেট্রোপলিস-হেস্টিংস নমুনা এবং জেফরির পূর্বে ব্যবহারের উপর নির্ভরযোগ্যতার জন্য একটি বিশ্বাসযোগ্যতা ব্যবধান গণনা করার জন্য δ
(μ,σ) একটি lognormal মডেল রয়েছে
π(μ,σ)∝σ−2,
n≥2 । নিম্নলিখিত R
বায়েসিয়ান মডেলটি ব্যবহার করে কীভাবে 95% বিশ্বাসযোগ্যতা ব্যবধান পাওয়া যায় তা নিম্নলিখিত কোডটি দেখায়।
library(mcmc)
set.seed(1)
# Simulated data
data0 = exp(rnorm(100))
# Log posterior
lp = function(par){
if(par[2]>0) return( sum(log(dlnorm(data0,par[1],par[2]))) - 2*log(par[2]))
else return(-Inf)
}
# Metropolis-Hastings
NMH = 260000
out = metrop(lp, scale = 0.175, initial = c(0.1,0.8), nbatch = NMH)
#Acceptance rate
out$acc
deltap = exp( out$batch[,1][seq(10000,NMH,25)] + 0.5*(out$batch[,2][seq(10000,NMH,25)])^2 )
plot(density(deltap))
# 95% credibility interval
c(quantile(deltap,0.025),quantile(deltap,0.975))
নোট করুন যে তারা খুব অনুরূপ।