@jbowman cung cấp một giải pháp tiêu chuẩn (tốt đẹp) cho vấn đề ước tính được gọi là mô hình cường độ ứng suất .θ=P(X<Y)
Một phương pháp thay thế không tham số khác đã được đề xuất trong Baklizi và Eidous (2006) cho trường hợp và Y độc lập. Điều này được mô tả dưới đây.XY
Theo định nghĩa, chúng ta có điều đó
θ=P(X<Y)=∫∞−∞FX(y)fY(y)dy,
nơi là CDF của X và f Y là mật độ của Y . Sau đó, sử dụng các mẫu của X và Y , chúng tôi có thể có được ước lượng hạt nhân của F X và f Y và do và ước lượng của θFXXfYYXYFXfYθ
θ^=∫∞−∞F^X(y)f^Y(y)dy.
Điều này được thực hiện trong mã R sau bằng cách sử dụng nhân Gaussian.
# 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))
}
# Example when X and Y are Cauchy
datx = rcauchy(100,0,1)
daty = rcauchy(100,0,1)
nonpest(datx,daty)
Để có được một khoảng tin cậy cho bạn có thể có được một bootstrap mẫu ước lượng này như sau.θ
# bootstrap
B=1000
p = rep(0,B)
for(j in 1:B){
dat1 = sample(datx,length(datx),replace=T)
dat2 = sample(daty,length(daty),replace=T)
p[j] = nonpest(dat1,dat2)
}
# histogram of the bootstrap sample
hist(p)
# A confidence interval (quantile type)
c(quantile(p,0.025),quantile(p,0.975))
Các loại khoảng thời gian bootstrap khác cũng có thể được xem xét.