Geometrische Ansicht des Problems und der Verteilungen von undb⃗ ⋅a⃗ |b⃗ |2
Unten sehen Sie eine geometrische Ansicht des Problems. Die Richtung von spielt keine Rolle und wir können nur die Längen dieser Vektorenunddie alle notwendigen Informationen geben.a⃗ |a⃗ ||b⃗ |
Die Verteilung der Länge der Vektorprojektion von auf ist der sich auf die gesuchte Menge beziehtb⃗ a⃗ b⃗ ⋅a⃗ /|a⃗ |∼N(|a⃗ |,1)
b⃗ ⋅a⃗ ∼N(|a⃗ |2,|a⃗ |2)
Wir können weiter schließen, dass die quadratische Länge des Abtastvektors die Verteilung einer nicht zentralen Chi-Quadrat-Verteilung mit den Freiheitsgraden und dem Nicht-Zentralitätsparameter| b⃗ |2 p ∑ p k = 1 μ 2 k = | → a | 2p∑pk=1μ2k=|a⃗ |2
| b⃗ |2~ χ2p , | ein⃗ |2
Außerdem
( | b⃗ |2−(b⃗ ⋅a⃗ )2|a⃗ |2)conditional on b⃗ ⋅a⃗ and |a⃗ |2∼χ2p−1
Dieser letzte Ausdruck zeigt, dass die Intervallschätzung für unter einem bestimmten Gesichtspunkt als Konfidenzintervall angesehen werden kann, da kann gesehen als Parameter in der Verteilung von . Es ist jedoch kompliziert, weil es einen Störparameter gibt und auch der Parameter eine Zufallsvariable ist, die sich auf bezieht .b⃗ ⋅a⃗ → b ⋅ → a | → b | 2| → a | 2 → b ⋅ → a | → a | 2b⃗ ⋅a⃗ |b⃗ |2|a⃗ |2b⃗ ⋅a⃗ |a⃗ |2
Diagramme von Verteilungen und einige Methoden zum Definieren einesc(b⃗ ,p,α)
Im obigen Bild haben wir eine 95% -Region unter Verwendung des rechten Teils der Verteilung von und der dargestellt oberer Teil der verschobenen Verteilung von so dassβ1N(|a⃗ |2,|a⃗ |2)β2χ2p−1β1⋅β2=0.05
Der große Trick besteht nun darin, eine Linie zu zeichnen die die Punkte so begrenzt, dass es für jedes einen Bruchteil von gibt Punkte (zumindest), die unterhalb der Linie liegen.c(|β⃗ |2,p,α)→ a 1 - α a⃗ 1−α
Unter dem Strich ist , wo die Region erfolgreich ist und und wir wollen dies zumindest Fraktion passieren haben der Zeit. (siehe auch die grundlegende Logik eines Konfidenzintervalls Konstruktion und Können wir eine Nullhypothese mit Konfidenzintervall ablehnen über Abtasten anstatt die Nullhypothese erzeugt? für analoge Argumentation aber in einer einfacheren Einstellung).1−α
Es könnte zweifelhaft sein, dass es uns gelingen kann, die Situation zu verstehen:
∀|a⃗ |:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))=α
Aber wir sollten immer in der Lage sein, ein Ergebnis wie zu erzielen
∀|a⃗ |:Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))≤α
oder genauer gesagt, die kleinste Obergrenze aller ist gleichPr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α))α
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}=α
Für die Zeile im Bild mit dem VielfachenWir verwenden die Linie, die die Peaks der einzelnen Regionen berührt, um die Funktion . Durch die Verwendung dieser Peaks erhalten wir, dass die ursprünglichen Regionen, die wie aussehen sollten, nicht optimal abgedeckt werden. Stattdessen fallen weniger Punkte unter die Linie (also ). Für kleineDies ist der obere Teil und für großeDies wird der richtige Teil sein. So erhalten Sie:|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
und
sup{Pr(b⃗ ⋅a⃗ ≤c(b⃗ ,p,α)):|a⃗ |≥0}≈max(β1,β2)
Das ist also noch ein bisschen in Arbeit. Eine Möglichkeit, die Situation zu lösen, könnte darin bestehen, eine parametrische Funktion zu haben, die Sie durch Versuch und Irrtum immer wieder iterativ verbessern, sodass die Linie konstanter ist (dies wäre jedoch nicht sehr aufschlussreich). Oder möglicherweise könnte man eine Differentialfunktion für die Linie / Funktion beschreiben.
# 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|")))