Chế độ xem hình học của sự cố và phân phối của và | → b | 2b⃗ ⋅ một⃗ | b⃗ |2
Dưới đây là quan điểm hình học của vấn đề. Hướng của một⃗ không thực sự quan trọng và chúng ta chỉ có thể sử dụng độ dài của các vectơ này | một⃗ |và | b⃗ |trong đó cung cấp cho tất cả các thông tin cần thiết.
Sự phân bố của độ dài chiếu vector của b⃗ vào một⃗ sẽ b⃗ ⋅ một⃗ / | một⃗ |∼N(|a⃗ |,1) liên quan đến số lượng mà bạn đang tìm kiếm
b⃗ ⋅a⃗ ∼N(|a⃗ |2,|a⃗ |2)
Chúng ta có thể suy luận thêm rằng chiều dài bình phương của vectơ mẫu |b⃗ |2 có sự phân bố một phi trung tâm chi-squared phân phối , với mức độ tự do p và noncentrality tham số ∑pk=1μ2k=|a⃗ |2
|b⃗ |2∼χ2p,|a⃗ |2
hơn nữa
(|b⃗ |2−(b⃗ ⋅a⃗ )2|a⃗ |2)conditional on b⃗ ⋅a⃗ and |a⃗ |2∼χ2p−1
Đây cuối cùng biểu hiện cho thấy ước tính khoảng cho b⃗ ⋅a⃗ thể , từ một quan điểm nhất định, được xem như một khoảng tin cậy, bởi vì b⃗ ⋅a⃗ có thể được xem như là một tham số trong sự phân bố của |b⃗ |2 . Nhưng nó phức tạp vì có một tham số phiền toái |a⃗ |2 , và cũng là tham số b⃗ ⋅a⃗ là itselve một biến ngẫu nhiên, liên quan đến |a⃗ |2 .
Sơ đồ phân phối và một số phương pháp để xác định một c(b⃗ ,p,α)
Trong hình trên, chúng tôi âm mưu cho một khu vực 95% bằng cách sử dụng quyền β1 phần của sự phân bố của N(|a⃗ |2,|a⃗ |2) và đỉnh β2 phần của phân phối chuyển của χ2p−1 ví dụ rằng β1⋅β2=0.05
Bây giờ lừa lớn là để vẽ một số dòng c(|β⃗ |2,p,α) mà tiếp giáp với điểm như vậy mà cho bất kỳ a⃗ có một phần nhỏ 1−α trong những điểm (ít nhất) mà là dưới dòng .
Bên dưới dòng là nơi khu vực thành công và chúng tôi muốn điều này xảy ra ít nhất là phần 1−α của thời gian. (xem thêm Logic cơ bản của việc xây dựng khoảng tin cậy và chúng ta có thể từ chối một giả thuyết null với các khoảng tin cậy được tạo ra thông qua lấy mẫu chứ không phải giả thuyết null? cho lý do tương tự nhưng trong một thiết lập đơn giản hơn).
Có thể nghi ngờ rằng chúng ta có thể thành công để có được tình huống:
∀|a⃗ |:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))=α
Nhưng chúng ta nên luôn luôn có thể nhận được một số kết quả như
∀|a⃗ |:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≤α
hoặc nghiêm ngặt hơn giới hạn trên nhỏ nhất của tất cả các Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)) bằng với α
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}=α
Cho dòng trong ảnh có bội |a⃗ |chúng tôi sử dụng đường chạm vào các đỉnh của các vùng đơn lẻ để xác định hàm c(|b⃗ |,p,α). Bằng cách sử dụng những đỉnh núi chúng tôi nhận được rằng các vùng gốc, được dự định là nhưα=β1β2không được tối ưu bảo hiểm. Thay vào đó, điểm ít tụt xuống dưới mức (doα>β1β2). Dành cho nhỏ|a⃗ |đây sẽ là phần hàng đầu, và cho lớn |a⃗ |đây sẽ là phần đúng Vì vậy, bạn sẽ nhận được:
|a⃗ |<<1:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≈β2|a⃗ |>>1:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≈β1
và
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}≈max(β1,β2)
Vì vậy, đây vẫn là một chút công việc trong tiến trình. Một cách khả thi để giải quyết tình huống có thể là có một số chức năng tham số mà bạn tiếp tục cải thiện bằng cách dùng thử và lỗi sao cho dòng không đổi hơn (nhưng nó sẽ không sâu sắc lắm). Hoặc có thể người ta có thể mô tả một số chức năng khác biệt cho dòng / chức năng.
# 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|")))