Konfidenzintervall für eine zufällige Menge?


8

Angenommen, ist ein unbekannter Vektor, und man beobachtet . Ich möchte Konfidenzintervalle für die Zufallsmenge berechnen , die nur auf dem beobachteten und dem bekannten Parameter basiert . Das heißt, für ein gegebenes finden Sie so, dass .apbN(a,I)babpα(0,1)c(b,p,α)Pr(bac(b,p,α))=α

Dies ist eine seltsame Frage, da die Zufälligkeit, die zu den Konfidenzintervallen beiträgt, auch . Der einfache Ansatz besteht darin, zu behaupten, dass , , also , aber ich glaube nicht, dass dies ein korrektes CI ergibt, da für voreingenommen ist , das ist der erwartete Wert von . ( ist bis zur Skalierung ein nicht zentrales Chi-Quadrat-RV, dessen Nicht-Zentralitätsparameter davon abhängtbbaN(b,I)baN(bb,bbI)bbaababbaa ; Der erwartete Wert ist nicht .)aa

Hinweis : Bedingungslos und , was bedeutet, dass es sich um eine nicht zentrale Chi-Quadrat-Zufallsvariable handelt. Somit ist eine unvoreingenommene Schätzung des Mittelwerts von und seiner Varianz. Letzteres ist etwas nutzlos, da es negativ sein kann!baN(aa,aa)bbχ(p,aa)bbpab

Ich suche nach vernünftigen Wegen, um dieses Problem anzugehen. Dies können sein:

  1. Eine richtige Vertrauensgrenze, dh eine Funktion des beobachteten und des bekannten so dass für alle und alle so dass . Bearbeiten Was ich damit meine ist, dass, wenn Sie und dann ein zufälliges , die Wahrscheinlichkeit, dass ist bei wiederholten Ziehungen von . Zum Beispiel, wenn Sie behoben habencbpPr(bac(b,p,α))=ααaaa>0a b bein - C ( b , p , α )0 α b aabbac(b,p,α)0αbaund dann zeichnete unabhängiges , dann näherte sich der Anteil des so, dass sich näherte als Anzahl der Replikationen geht an .biibiac(bi,p,α)α
  2. Ein Vertrauen, das an die Erwartung gebunden ist. Dies ist eine Funktion des beobachteten und des bekannten und so dass sein bedingungsloser erwarteter Wert das Quantil von für alle .bpααbaa:aa>0
  3. Eine Art Bayes'sche Lösung, bei der ich vor einen vernünftigen Wert angeben kann, und dann unter Berücksichtigung der Beobachtung einen Posterior für beide erhalte und .aabbbaa

edit Die ursprüngliche Form dieser Frage hatte die Kovarianz von als , aber ich glaube, dass wlog man einfach annehmen kann , also habe ich alle Erwähnungen von .b1nIn=1n


"Konfidenzintervalle" für zufällige Größen werden üblicherweise als "Vorhersageintervalle" bezeichnet.
kjetil b halvorsen

1
@kjetilbhalvorsen: Dies ist keine Frage zu Vorhersageintervallen, die laut Wikipedia "ein Intervall schätzen, in das zukünftige Beobachtungen fallen werden". Der Vektor wurde bereits beobachtet. b
Shabbychef

1
Ich kann nicht sehen, wie kommt. Können Sie bitte klarstellen? p
Ben - Reinstate Monica

1
@Ben ist die Länge der Vektoren und . a bpab
Shabbychef

Antworten:


5

Geometrische Ansicht des Problems und der Verteilungen von undba|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|

geometrische Ansicht

Die Verteilung der Länge der Vektorprojektion von auf ist der sich auf die gesuchte Menge beziehtbaba/|a|N(|a|,1)

baN(|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 | 2pk=1pμk2=|a|2

|b|2χp,|ein|22

Außerdem

(|b|2(ba)2|a|2)conditional on ba and |a|2χp12

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 .ba ba | b | 2| a | 2ba | a | 2ba|b|2|a|2ba|a|2

Diagramme von Verteilungen und einige Methoden zum Definieren einesc(b,p,α)

Darstellung der gemeinsamen Verteilungen

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χp12β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 - α a1α

mehrfach a

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(bac(b,p,α))=α

Aber wir sollten immer in der Lage sein, ein Ergebnis wie zu erzielen

|a|:Pr(bac(b,p,α))α

oder genauer gesagt, die kleinste Obergrenze aller ist gleichPr(bac(b,p,α))α

sup{Pr(bac(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(bac(b,p,α))β2|a|>>1:Pr(bac(b,p,α))β1

und

sup{Pr(bac(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.

effektives Alpha

# 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|"))) 

Als zufällig ist , ist die Funktion ist ebenfalls zufällig. Dennoch glaube ich, dass man eine solche Funktion so konstruieren kann, dass die Wahrscheinlichkeitsaussage unter Replikation des Experiments gilt (für ein festes ). f(b ,p,α)abf(b,p,α)a
Shabbychef

Eine Möglichkeit, die Frage zu beantworten, besteht darin, die Funktion so zu finden, dass , wobei die Replikation unter einem festen , aber unabhängige Realisierungen von . In Wirklichkeit werden wir jedoch nur einen . (Stellen Sie fest, dass selbst wahrscheinlich eine neu skalierte ausreichende Statistik ist, die über eine Reihe unabhängiger Realisierungen eines Experiments berechnet wurde.)P ( baf ( fa b b bP(baf(b,p,α))=α abbb
shabbychef

Siehe auch meine 'Antwort', die zeigt, dass für große eine bestimmte Statistik nahezu normal ist, während sie für kleine Werte dieses Parameters eher a (verschoben) ist , neu skaliert) nicht zentrales Chi-Quadrat. Das heißt, ist ein unbekannter Populationsparameter, daher wissen wir nicht, welcher richtig ist. Wir können jedoch aus der Menge schätzen . a aa bbaaaaabb
Shabbychef

Ich verstehe nicht, warum es wichtig ist, dass auf beiden Seiten der Gleichung steht. Ich werde jedoch versuchen, die Frage noch einmal zu bearbeiten, um ganz klar zu sein. b
Shabbychef

1
Ich habe eine falsche Antwort mit echtem Code gepostet.
Shabbychef

3

Ich werde die Notation auf etwas Vertrauteres umstellen. Ich hoffe es ist nicht verwirrend.

Ich sehe nicht ein, wie man die mit einem völlig unvoreingenommenen Schätzer abschätzen könnte . Aber ich werde einen unvoreingenommenen Schätzer für "einen Teil" der bereitstellen und eine Formel für die verbleibende Verzerrung bereitstellen, damit sie durch Simulation bewertet werden kann.ccc

Wir nehmen an, dass wir einen gemeinsam normalen dimensionalen Zufallsvektor (Spaltenvektor) habenp

xN(μ,1nIp),μ=(μ1,...,μp)

Durch die Angabe der Kovarianzmatrix sind die Elemente des Zufallsvektors unabhängig.

Wir interessieren uns für die univariate Zufallsvariable . Aufgrund der Gelenknormalität hat diese Variable auch eine NormalverteilungY=xμ

YN(μμ,1nμμ)

Deshalb

P(nYμμμμncμμμμ)=Φ(ncμμμμ)

Dabei ist die normale Standard-CDF undΦ()

Φ(ncμμμμ)=αncμμμμ=Φ1(α)=zα

(1)c=μμnza+μμ

Wir müssen daher Schätzungen für und seine Quadratwurzel erhalten. Für jedes Element des Vektors , sagen wir , stehen iid Beobachtungen zur Verfügung, . Versuchen wir also für jedes Element von den Schätzer xXkn{x k 1 ,. . . ,X k nμμxXknμ ' μ = ( μ 2 1 , . . . , & Mgr; 2 p ) '{xk1,...,xkn}μμ=(μ12,...,μp2)

Est(μk2)=1ni=1nXki2

Dieser Schätzer hat einen erwarteten Wert

E(1ni=1nXki2)=1ni=1nE(Xki2)=1ni=1n(Var(Xki)+[E(Xki)]2)

E(μk2^)=1ni=1n(1n+μk2)=1n+μk2

Ein unverzerrter Schätzer für ist alsoμki2

μk2^=1ni=1nXki21n

implizieren das

E[k=1p(1ni=1nXki21n)]=1nE(k=1pi=1nXki2)pn=μμ

und so das

μ'μ

(2)θ^1nk=1pi=1nXki2pn
ist ein unvoreingenommener Schätzer von .μμ

Ein unverzerrter Schätzer für scheint jedoch nicht zu existieren (einer, der ausschließlich auf den bekannten Größen basiert).μμ

Nehmen wir also an, wir gehen weiter und schätzen durchc

(3)c^=θ^nza+θ^

Die Vorspannung dieses Schätzers ist

B(c^)=E(c^c)=zαn[E(θ^)μμ]>0

das "positive Bias" -Ergebnis aufgrund von Jensens Ungleichheit.

Bei diesem Ansatz ist die Größe der Probe kritisch, da sie die Vorspannung für einen gegebenen Wert von verringert . μnμ

Was sind die Konsequenzen dieser Überschätzung? Angenommen, wir erhalten , und sollen den kritischen Wert für für die Wahrscheinlichkeit , berechnen .p Y.npYP ( Y c ) = ααP(Yc)=α

Bei einer gegebenen Folge von Stichproben werden wir eine Schätzung bereitstellen, für die "im Durchschnitt" .c^c^>c

Mit anderen Worten

P(YE(c^))=α>α=P(Yc)

Man könnte durch Simulation die Größe der Abweichung für verschiedene Werte von beurteilen und wie und wie stark sie die Ergebnisse verzerrt.μ


Ich glaube, dies geht in Richtung eines unvoreingenommenen CI (Option 2 in meiner Bearbeitung) und ähnelt im Geiste meiner unbefriedigenden Antwort. Ich werde darüber nachdenken, wie mit den verfügbaren Informationen eine bessere Schätzung der Standardabweichung erstellt werden kann. Ich denke, vielleicht könnte eine Taylor-Serie funktionieren. Ich bin mir auch nicht sicher über die Beobachtungen des Teils. Wir haben wlog . x n = 1nxn=1
Shabbychef

Wie Sie sehen können, ist der Wert von wichtig, wenn es um Bias geht. Es kommt also darauf an, was Sie unter "ohne Verlust der Allgemeinheit" verstehen. Ein praktischeres Problem ist, dass, wenn die Formeln für bereitgestellt würden, nicht unbedingt klar wäre, wie genau sie nach allgemeinem suchen sollten . Jetzt sind sie für allgemeines so dass man einen beliebigen Wert von einstecken und sehen kann, was passiertn = 1 n nnn=1nnn
Alecos Papadopoulos

Das Problem ist, dass es kein ; Es war nur relevant, um den Hintergrund des Problems anzugeben, und ich sollte es einfach aus der Frage streichen. Sie beobachten nur ein einzelnes (in Ihrer Terminologie mit ). b x nn bxn=1
Shabbychef

Das schafft kein Problem. Fügen Sie einfach wo immer in meinen Formeln erscheint. n1n
Alecos Papadopoulos

1

Ein Ansatz, der fast funktioniert, lautet wie folgt: Beachten Sie, dass 'sieht aus wie' , wobei ein Einheitslängenvektor ist (es ist tatsächlich auf Längeneinheit skaliert) und . Wenn es der Fall wäre, dass unabhängig von , könnte man behaupten, dass war eine Vertrauensgrenze, wobei daszCCbz=B-a~N(0,I)CZb(bbba)/bbzccbz=baN(0,I)czbb+ZαbbZ α ααZαα Quantil des Normalen.

Jedoch ist nicht unabhängig von . Es neigt dazu, mit 'ausgerichtet' zu sein . Wenn nun , ist im Wesentlichen unabhängig, und das oben gebundene Vertrauen bietet eine angemessene Abdeckung. Wenn , ist jedoch eher eine verschobene, skalierte, nicht zentrale Chi-Quadrat-Zufallsvariable.z z aa »1c 0<aa «1czzaa1c0<aa1zc

Eine kleine R-Simulation zeigt die Auswirkungen von auf die Normalität der Menge : (bb -baa(bbba)/bb

z.sim <- function(p,eff.size,nsim=1e5) {
    a <- matrix(eff.size * rnorm(p),nrow=p)
    b <- rep(a,nsim) + matrix(rnorm(p*nsim),nrow=p)
    atb <- as.matrix(t(a) %*% b)
    btb <- matrix(colSums(b * b),nrow=1)
    isZ <- (btb - atb) / sqrt(btb)
}

set.seed(99) 
isZ <- z.sim(6,1e3)
jpeg("isZ.jpg")
qqnorm(isZ)
qqline(isZ)
dev.off()

jpeg("isChi.jpg")
isZ <- z.sim(6,1e-3)
qqnorm(isZ)
qqline(isZ)
dev.off()

Ein großer Fall Ein kleiner Fall


Das sieht aus wie eine multivariate gefaltete Normalität für mich ...
Shabbychef

Dies wird nicht fliegen, da die Verteilung vom unbekannten abhängt . Vielleicht könnte man einen Prior für diese Menge festlegen, der zu einem Posterior auf . abaaab
Shabbychef

1

Für den Fall können wir ein zweiseitiges Intervall finden. In diesem Fall können wir annehmen, dass der Populationsparameter ist, und wir beobachtenWir möchten in der Wahrscheinlichkeit mit einer Funktion von binden (Wir dürfen nur den absoluten Wert von da dies das eindimensionale Analogon von für den Fall ist.)p=10<ab=N(a,1).ab|b|bbbp>1

Sei die normale Dichtefunktion und sei das Quantil der Normalen. Dann trivial Beachten Sie nun, dassist in Bezug auf die Multiplikation des Inneren mit unveränderlich , sodass wir mit multiplizieren können . Das istVerwenden Sie dies, um die Mengen mit multiplizieren wir haben: ϕzα/.2α/.2

- -ϕ(b- -ein)ich{|ein- -b|- -zα/.2}}db=α.
|ein- -b|±1Schild(b)|ein- -b|=|einSchild(b)- -|b||.|b|
α=P.(|einSchild(b)- -|b||- -zα/.2),=P.(|einb- -b2|- -zα/.2|b|),=P.(einb[b2+zα/.2|b|,b2- -zα/.2|b|]]).

Somit hat das symmetrische Intervall eine Abdeckung von .[b2+zα/.2|b|,b2- -zα/.2|b|]]1- -αeinb

Testen wir mit Code:

test_ci <- function(a,nsim=100000,alpha=0.05) {
  b <- rnorm(nsim,mean=a,sd=1)
  b_lo <- b^2 + abs(b) * qnorm(alpha/2)
  b_hi <- b^2 + abs(b) * qnorm(alpha/2,lower.tail=FALSE)
  ab <- a*b
  isout <- ab < b_lo | ab > b_hi
  mean(isout) 
}
# try twice, with a 'small' and with a 'large'
set.seed(1234)
test_ci(a=0.01)
set.seed(4321)
test_ci(a=3.00)

Ich erhalte die nominelle Rate von 0,05 Typ I:

[1] 0.04983
[1] 0.04998

Es ist nicht klar, wie dies in eine Lösung für den Fall kann, aber ich gehe davon aus, dass eine gewisse Trigonometrie und Verwendung der Verteilung zutreffen wird.p>1t


0

Wieder ist die Frage, die Funktion so zu finden, dass, wenn Sie , unter unabhängigen Ziehungen von der Anteil von so, dass zu als .c()einmbich=ein+zichichbicheinc(bich,p,α)αm

Ich werde eine kaputte Lösung geben, um zu veranschaulichen, wie dies im Code funktionieren sollte. Beachten Sie zunächst, dass ein nicht zentrales Chi-Quadrat mit dem Nicht-Zentralitätsparameter und ist df . Wir haben also Beachten Sie nun, dass . Insbesondere ist Ignoriert die Kovarianz von und (auf eigene Gefahr) kann ich mich irrtümlichbbλ=eineinp

E.[bb]]=p+einein.
beinN.(einein,einein)
E.[bb- -bein- -p]]=0.
beinbbbehaupten, dass die Varianz dieser Menge Wenn ich diese zusammenstelle, kann ich die ausgefallene und lächerliche Behauptung aufstellen, dass das Quantil von ist um Ich könnte dann fälschlicherweise zu dem Schluss kommen, dass Da ich nicht kenne , könnte ich dann in der Erwartung von weiter ersetzen
Var[bb- -bein- -p]]=einein+2(p+2einein)=2p+5einein.
αbb- -bein- -p
Z.α2p+5einein.
P.r(beinbb- -p+Z.α2p+5einein)α.
einbb , um zu zu gelangen wobei natürlich darauf zu achten ist, dass kein Negativ geschätzt wird Standardabweichung.
c(b,p,α)=bb- -p+Z.α0(5bb- -3p),

Dies wird sicherlich nicht funktionieren, da wir den Kovarianzbegriff ignoriert haben. Es geht jedoch darum, Code zu demonstrieren:

# my broken 'c' function
cfunc <- function(bee,p=length(bee),alpha=0.05) {
  lam <- sum(bee^2)
  sig <- sqrt(max(0,5*lam - 3*p))
  lam - p + qnorm(alpha) * sig
}
# check it via simulations
dosims <- function(a,testfunc,nrep=10000,alpha=0.05) {
  p <- length(a)
  replicate(nrep,{
    bee <- a + rnorm(p)
    bnd <- testfunc(bee,p,alpha)
    bta <- sum(bee * a)
    bta <= bnd
  })
}
options(digits=5)
set.seed(1234)
mean(dosims(rep(0.01,8),cfunc))
mean(dosims(rep(0.1,8),cfunc))
mean(dosims(rep(1,8),cfunc))

Ich bekomme nichts wie die nominelle Abdeckung von :0,05

[1] 0.0011
[1] 0.0018
[1] 0.001

Sie sollten in der Lage sein, ein für das testfunc.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.