Vista geométrica del problema y distribuciones de b⃗ ⋅a⃗ y |b⃗ |2
A continuación se muestra una vista geométrica del problema. La dirección dea⃗ realmente no importa y solo podemos usar las longitudes de estos vectores |a⃗ | y |b⃗ | que dan toda la información necesaria.
La distribución de la longitud de la proyección vectorial de b⃗ sobre a⃗ estarán si⃗ ⋅una⃗ / |una⃗ El | ∼N( |una⃗ El | , 1 ) que está relacionado con la cantidad que estás buscando
si⃗ ⋅una⃗ ∼ N( |una⃗ El |2, |una⃗ El |2)
Podemos deducir aún más que la longitud al cuadrado del vector de muestras El |si⃗ El |2tiene la distribución una distribución chi-cuadrado no central , con los grados de libertadpags y el parámetro de no centralidad ∑pagsk = 1μ2k= |una⃗ El |2
El |si⃗ El |2∼χ2p , |una⃗ El |2
además
( |si⃗ El |2-(si⃗ ⋅una⃗ )2El |una⃗ El |2)condicional en si⃗ ⋅una⃗ y |una⃗ El |2∼χ2p - 1
Esta última expresión muestra que el intervalo estimado para si⃗ ⋅una⃗ puede , desde cierto punto de vista, ser visto como un intervalo de confianza, porquesi⃗ ⋅una⃗ puede verse como un parámetro en la distribución de El |si⃗ El |2. Pero es complicado porque hay un parámetro molestoEl |una⃗ El |2y también el parámetro si⃗ ⋅una⃗ es una variable aleatoria relacionada con El |una⃗ El |2.
Gráficos de distribuciones y algún método para definir un c (si⃗ , p , α )
En la imagen de arriba, trazamos una región del 95% usando la derecha β1 parte de la distribución de norte( |una⃗ El |2, |una⃗ El |2) y la parte superior β2 parte de la distribución desplazada de χ2p - 1 tal que β1⋅β2= 0.05
Ahora el gran truco es dibujar alguna línea c ( |β⃗ El |2, p , α )que limita los puntos de tal manera que para cualquier una⃗ hay una fracción 1−αde los puntos (al menos) que están debajo de la línea.
Debajo de la línea es donde la región tiene éxito y queremos que esto suceda al menos fracción 1 - αdel tiempo. (véase también La lógica básica de construir un intervalo de confianza y ¿Podemos rechazar una hipótesis nula con intervalos de confianza producidos mediante muestreo en lugar de la hipótesis nula? para un razonamiento análogo pero en un entorno más simple).
Puede ser dudoso que podamos tener éxito para resolver la situación:
∀El |una⃗ El |:PAGSr (si⃗ ⋅una⃗ ≤ c (si⃗ , p , α ) ) = α
Pero siempre deberíamos poder obtener algún resultado como
∀El |una⃗ El |:PAGSr (si⃗ ⋅una⃗ ≤ c (si⃗ , p , α ) ) ≤ α
o más estrictamente el límite superior mínimo de todos los PAGSr (si⃗ ⋅una⃗ ≤ c (si⃗ , p , α ) ) es igual a α
sup { Pr (si⃗ ⋅una⃗ ≤ c (si⃗ , p , α ) ) : |una⃗ El | ≥0}=α
Para la línea en la imagen con el múltiple El |una⃗ El | Usamos la línea que toca los picos de las regiones individuales para definir la función c ( |si⃗ |,p,α). Al usar estos picos, obtenemos que las regiones originales, que estaban destinadas a serα=β1β2No están cubiertos de manera óptima. En cambio, menos puntos caen debajo de la línea (entoncesα>β1β2) Para pequeños|a⃗ | estos serán la parte superior, y para grandes |a⃗ |Esta será la parte correcta. Entonces obtendrás:
|a⃗ |<<1:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≈β2|a⃗ |>>1:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≈β1
y
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}≈max(β1,β2)
Así que esto todavía es un poco de trabajo en progreso. Una posible forma de resolver la situación podría ser tener alguna función paramétrica que sigas mejorando iterativamente por prueba y error, de modo que la línea sea más constante (pero no sería muy perspicaz). O posiblemente se podría describir alguna función diferencial para la línea / función.
# 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|")))