Adalah sah untuk membandingkan beberapa pendekatan, tetapi tidak dengan tujuan memilih salah satu yang mendukung keinginan / kepercayaan kita.
Jawaban saya untuk pertanyaan Anda adalah: Ada kemungkinan bahwa dua distribusi tumpang tindih sementara mereka memiliki cara yang berbeda, yang tampaknya menjadi masalah Anda (tetapi kami perlu melihat data dan konteks Anda untuk memberikan jawaban yang lebih tepat).
Saya akan menggambarkan ini menggunakan beberapa pendekatan untuk membandingkan cara normal .
1. -testt
Pertimbangkan dua sampel simulasi ukuran dari dan , maka nilai- kira-kira seperti dalam kasus Anda (Lihat kode R di bawah).N ( 10 , 1 ) N ( 12 , 1 ) t 1070N(10,1)N(12,1)t10
rm(list=ls())
# Simulated data
dat1 = rnorm(70,10,1)
dat2 = rnorm(70,12,1)
set.seed(77)
# Smoothed densities
plot(density(dat1),ylim=c(0,0.5),xlim=c(6,16))
points(density(dat2),type="l",col="red")
# Normality tests
shapiro.test(dat1)
shapiro.test(dat2)
# t test
t.test(dat1,dat2)
Namun kepadatan menunjukkan tumpang tindih yang cukup besar. Tetapi ingat bahwa Anda menguji hipotesis tentang cara, yang dalam hal ini jelas berbeda tetapi, karena nilai , ada tumpang tindih kepadatan.σ
2. Kemungkinan profilμ
Untuk definisi kemungkinan dan kemungkinan Profil, lihat 1 dan 2 .
Dalam kasus ini, kemungkinan profil dari sampel ukuran dan rata-rata sampel hanyalah .n ˉ x R p ( μ ) = exp [ - n ( ˉ x - μ ) 2 ]μnx¯Rp(μ)=exp[−n(x¯−μ)2]
Untuk data yang disimulasikan, ini dapat dihitung dalam R sebagai berikut
# Profile likelihood of mu
Rp1 = function(mu){
n = length(dat1)
md = mean(dat1)
return( exp(-n*(md-mu)^2) )
}
Rp2 = function(mu){
n = length(dat2)
md = mean(dat2)
return( exp(-n*(md-mu)^2) )
}
vec=seq(9.5,12.5,0.001)
rvec1 = lapply(vec,Rp1)
rvec2 = lapply(vec,Rp2)
# Plot of the profile likelihood of mu1 and mu2
plot(vec,rvec1,type="l")
points(vec,rvec2,type="l",col="red")
Seperti yang Anda lihat, interval kemungkinan dan tidak tumpang tindih pada tingkat yang wajar.μ 2μ1μ2
3. Posterior menggunakan Jeffrey sebelumnyaμ
Pertimbangkan Jeffreys sebelum dari(μ,σ)
π(μ,σ)∝1σ2
Poster untuk setiap set data dapat dihitung sebagai berikutμ
# Posterior of mu
library(mcmc)
lp1 = function(par){
n=length(dat1)
if(par[2]>0) return(sum(log(dnorm((dat1-par[1])/par[2])))- (n+2)*log(par[2]))
else return(-Inf)
}
lp2 = function(par){
n=length(dat2)
if(par[2]>0) return(sum(log(dnorm((dat2-par[1])/par[2])))- (n+2)*log(par[2]))
else return(-Inf)
}
NMH = 35000
mup1 = metrop(lp1, scale = 0.25, initial = c(10,1), nbatch = NMH)$batch[,1][seq(5000,NMH,25)]
mup2 = metrop(lp2, scale = 0.25, initial = c(12,1), nbatch = NMH)$batch[,1][seq(5000,NMH,25)]
# Smoothed posterior densities
plot(density(mup1),ylim=c(0,4),xlim=c(9,13))
points(density(mup2),type="l",col="red")
Sekali lagi, interval kredibilitas untuk sarana tidak tumpang tindih pada tingkat yang wajar.
Sebagai kesimpulan, Anda dapat melihat bagaimana semua pendekatan ini menunjukkan perbedaan berarti (yang merupakan kepentingan utama), meskipun tumpang tindih distribusi.
⋆ Pendekatan perbandingan yang berbeda
Menilai oleh kekhawatiran Anda tentang tumpang tindih kepadatan, kuantitas lain yang menarik mungkin , probabilitas bahwa variabel acak pertama lebih kecil dari variabel kedua. Kuantitas ini dapat diperkirakan secara nonparametrik seperti pada jawaban ini . Perhatikan bahwa tidak ada asumsi distribusi di sini. Untuk data yang disimulasikan, penaksir ini adalah , menunjukkan beberapa tumpang tindih dalam pengertian ini, sedangkan berbeda secara signifikan. Silakan, lihat kode R yang ditunjukkan di bawah ini.0,8823825P(X<Y)0.8823825
# Optimal bandwidth
h = function(x){
n = length(x)
return((4*sqrt(var(x))^5/(3*n))^(1/5))
}
# Kernel estimators of the density and the distribution
kg = function(x,data){
hb = h(data)
k = r = length(x)
for(i in 1:k) r[i] = mean(dnorm((x[i]-data)/hb))/hb
return(r )
}
KG = function(x,data){
hb = h(data)
k = r = length(x)
for(i in 1:k) r[i] = mean(pnorm((x[i]-data)/hb))
return(r )
}
# Baklizi and Eidous (2006) estimator
nonpest = function(dat1B,dat2B){
return( as.numeric(integrate(function(x) KG(x,dat1B)*kg(x,dat2B),-Inf,Inf)$value))
}
nonpest(dat1,dat2)
Saya harap ini membantu.