Tampilan geometris masalah dan distribusi danb⃗ ⋅a⃗ |b⃗ |2
Di bawah ini adalah tampilan geometris dari masalahnya. Arah tidak terlalu penting dan kita bisa menggunakan panjang vektor-vektor inidanyang memberikan semua informasi yang diperlukan.a⃗ |a⃗ ||b⃗ |
Distribusi panjang proyeksi vektor ke akan menjadi yang terkait dengan jumlah yang Anda carib⃗ a⃗ b⃗ ⋅a⃗ /|a⃗ |∼N(|a⃗ |,1)
b⃗ ⋅a⃗ ∼N(|a⃗ |2,|a⃗ |2)
Kita dapat lebih lanjut menyimpulkan bahwa panjang kuadrat dari vektor sampel memiliki distribusi distribusi chi-kuadrat non-sentral , dengan derajat kebebasan dan parameter noncentrality|b⃗ |2p∑pk=1μ2k=|a⃗ |2
|b⃗ |2∼χ2p,|a⃗ |2
selanjutnya
(|b⃗ |2−(b⃗ ⋅a⃗ )2|a⃗ |2)conditional on b⃗ ⋅a⃗ and |a⃗ |2∼χ2p−1
Ekspresi terakhir ini menunjukkan bahwa estimasi interval untuk dapat , dari sudut pandang tertentu, dapat dilihat sebagai interval kepercayaan, karena dapat berupa dilihat sebagai parameter dalam distribusi . Tetapi ini rumit karena ada parameter gangguan , dan juga parameter adalah dua belas variabel acak, yang berkaitan dengan .b⃗ ⋅a⃗ b⃗ ⋅a⃗ |b⃗ |2|a⃗ |2b⃗ ⋅a⃗ |a⃗ |2
Plot distribusi dan beberapa metode untuk mendefinisikanc(b⃗ ,p,α)
Pada gambar di atas kami merencanakan untuk wilayah 95% dengan menggunakan bagian kanan dari distribusi dan atas bagian dari distribusi bergeser dari sedemikian rupa sehinggaβ1N(|a⃗ |2,|a⃗ |2)β2χ2p−1β1⋅β2=0.05
Sekarang trik besarnya adalah menggambar beberapa baris yang membatasi titik-titik sedemikian rupa sehingga untuk setiap ada sebagian kecil dari poin (setidaknya) yang berada di bawah garis.c(|β⃗ |2,p,α) a⃗ 1−α
Di bawah garis adalah di mana kawasan berhasil dan dan kami ingin ini terjadi setidaknya sebagian kecil saat itu. (lihat juga Logika dasar untuk membangun interval kepercayaan dan bisakah kita menolak hipotesis nol dengan interval kepercayaan yang dihasilkan melalui pengambilan sampel alih-alih hipotesis nol? untuk alasan analog tetapi dalam pengaturan yang lebih sederhana).1−α
Mungkin diragukan bahwa kita dapat berhasil mendapatkan situasi:
∀|a⃗ |:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))=α
Tapi kita harus selalu bisa mendapatkan hasil seperti
∀|a⃗ |:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≤α
atau lebih tepatnya batas paling atas dari semua sama denganPr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))α
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}=α
Untuk baris dalam gambar dengan banyakkita menggunakan garis yang menyentuh puncak dari satu daerah untuk mendefinisikan fungsi . Dengan menggunakan puncak ini, kami mengetahui bahwa wilayah asli, yang dimaksudkan seperti tidak tercakup secara optimal. Sebaliknya, lebih sedikit poin yang jatuh di bawah garis (jadi ). Untuk kecilini akan menjadi bagian atas, dan untuk besarini akan menjadi bagian yang tepat. Jadi, Anda akan mendapatkan:|a⃗ |c(|b⃗ |,p,α)α=β1β2α>β1β2|a⃗ ||a⃗ |
|a⃗ |<<1:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≈β2|a⃗ |>>1:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≈β1
dan
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}≈max(β1,β2)
Jadi ini masih sedikit pekerjaan yang sedang berjalan. Salah satu cara yang mungkin untuk menyelesaikan situasi ini adalah dengan memiliki fungsi parametrik yang Anda terus memperbaikinya secara berulang-ulang dengan cara coba-coba sehingga garisnya lebih konstan (tetapi tidak akan terlalu berwawasan luas). Atau mungkin seseorang dapat menggambarkan beberapa fungsi diferensial untuk jalur / fungsi.
# find limiting 'a' and a 'b dot a' as function of b²
f <- function(b2,p,beta1,beta2) {
offset <- qchisq(1-beta2,p-1)
qma <- qnorm(1-beta1,0,1)
if (b2 <= qma^2+offset) {
xma = -10^5
} else {
ysup <- b2 - offset - qma^2
alim <- -qma + sqrt(qma^2+ysup)
xma <- alim^2+qma*alim
}
xma
}
fv <- Vectorize(f)
# plot boundary
b2 <- seq(0,1500,0.1)
lines(fv(b2,p=25,sqrt(0.05),sqrt(0.05)),b2)
# check it via simulations
dosims <- function(a,testfunc,nrep=10000,beta1=sqrt(0.05),beta2=sqrt(0.05)) {
p <- length(a)
replicate(nrep,{
bee <- a + rnorm(p)
bnd <- testfunc(sum(bee^2),p,beta1,beta2)
bta <- sum(bee * a)
bta <= bnd
})
}
mean(dosims(c(1,rep(0,7)),fv))
### plotting
# vectors of |a| to be tried
las2 <- 2^seq(-10,10,0.5)
# different values of beta1 and beta2
y1 <- sapply(las2,FUN = function(las2)
mean(dosims(c(las2,rep(0,24)),fv,nrep=50000,beta1=0.2,beta2=0.2)))
y2 <- sapply(las2,FUN = function(las2)
mean(dosims(c(las2,rep(0,24)),fv,nrep=50000,beta1=0.4,beta2=0.1)))
y3 <- sapply(las2,FUN = function(las2)
mean(dosims(c(las2,rep(0,24)),fv,nrep=50000,beta1=0.1,beta2=0.4)))
plot(-10,-10,
xlim=c(10^-3,10^3),ylim=c(0,0.5),log="x",
xlab = expression("|a|"), ylab = expression(paste("effective ", alpha)))
points(las2,y1, cex=0.5, col=1,bg=1, pch=21)
points(las2,y2, cex=0.5, col=2,bg=2, pch=21)
points(las2,y3, cex=0.5, col=3,bg=3, pch=21)
text(0.001,0.4,expression(paste(beta[2], " = 0.4 ", beta[1], " = 0.1")),pos=4)
text(0.001,0.25,expression(paste(beta[2], " = 0.2 ", beta[1], " = 0.2")),pos=4)
text(0.001,0.15,expression(paste(beta[2], " = 0.1 ", beta[1], " = 0.4")),pos=4)
title(expression(paste("different effective ", alpha, " for different |a|")))