Дійсно порівнювати декілька підходів, але не з метою вибору того, який сприятиме нашим бажанням / вірам.
Моя відповідь на ваше запитання: Можливо, два розподіли перетинаються, хоча вони мають різні засоби, що, здається, є вашим випадком (але нам потрібно буде переглянути ваші дані та контекст, щоб дати точнішу відповідь).
Я буду проілюструвати це, використовуючи пару підходів для порівняння звичайних засобів .
1. -тестt
Розглянемо два модельовані зразки розміром від та , тоді -значення приблизно як у вашому випадку (Див. Код R нижче).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)
Однак щільність показує значне перекриття. Але пам’ятайте, що ви перевіряєте гіпотезу про засоби, які в даному випадку явно відрізняються, але через значення відбувається перекриття густин.σ
2. Імовірність профілюμ
Для визначення ймовірності та ймовірності профілю див. 1 і 2 .
У цьому випадку ймовірність профілю вибірки розміру та середньої вибірки просто .n ˉ x R p ( μ ) = exp [ - n ( ˉ x - μ ) 2 ]μnx¯Rp(μ)=exp[−n(x¯−μ)2]
Для модельованих даних їх можна обчислити в R наступним чином
# 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")
Як бачите, вірогідність інтервалів та не перетинаються на будь-якому розумному рівні.μ 2μ1μ2
3. Задня частина за допомогою Джефріса доμ
Розглянемо Джеффріс до з(μ,σ)
π(μ,σ)∝1σ2
Задня частина для кожного набору даних може бути обчислена наступним чиномμ
# 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")
Знову-таки, інтервали довіри до засобів не перетинаються на жодному розумному рівні.
На закінчення можна побачити, як усі ці підходи вказують на значну різницю засобів (що є основним інтересом), незважаючи на перекриття розподілів.
⋆ Інший підхід порівняння
Судячи з ваших занепокоєнь щодо перекриття густин, інша кількість інтересу може бути , ймовірність того, що перша випадкова величина менша, ніж друга змінна. Цю кількість можна оцінити непараметрично, як у цій відповіді . Зверніть увагу, що припущень щодо розподілу тут немає. Для модельованих даних цей оцінювач становить , показуючи деяке перекриття в цьому сенсі, тоді як засоби суттєво відрізняються. Будь ласка, подивіться на код R, показаний нижче.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)
Я сподіваюся, що це допомагає.