Intervalo de confiança em uma quantidade aleatória?


8

Suponha que a seja um vetor p desconhecido e se observe . Gostaria de calcular os intervalos de confiança na quantidade aleatória , com base apenas no observado e no parâmetro conhecido . Ou seja, para um dado , encontre c ( b , p , α ) tal que P r ( bac ( b ,bN(a,I)babpα(0,1)c(b,p,α)Pr(bac(b,p,α))=α .

Essa é uma pergunta estranha, porque a aleatoriedade que contribui para os intervalos de confiança também afeta b . A abordagem direta é afirmar que, condicional em b , aN(b,I) , portanto baN(bb,bbI) , mas eu faço não acho que isso dará um IC adequado porque bbé polarizado para aa , que é o valor esperado de ba . ( bb é, até a escala, um RV qui-quadrado não central, com parâmetro de não centralidade dependendo de aa ; seu valor esperado não é aa .)

nota : Incondicionalmente, baN(aa,aa) e bbχ(p,aa) , o que significa que não é central variável aleatória qui-quadrado. Assim, bbp é uma estimativa imparcial da média de ab e de sua variância. O último é um pouco inútil, pois pode ser negativo!

Estou procurando todas e quaisquer maneiras sensatas de abordar esse problema. Estes podem incluir:

  1. Uma adequada confiança ligado, que é uma função c do observado b e conhecido p tal que Pr(bac(b,p,α))=α para todos α e todos a tal que aa>0 . Editar O que quero dizer com isso é que, se você corrigiu a e desenhou um arquivo aleatóriob , a probabilidade de quebac(b,p,α)0sejaαsob desenhos repetidos deb . Assim, por exemplo, se você fixoua e desenhoubi independente, então a proporção deital quebiac(bi,p,α) would approach α as the number of replications goes to .
  2. A confidence bound 'in expectation'. This is a function of the observed b, and known p and α such that its unconditional expected value is the α quantile of ba for all a:aa>0.
  3. Some kind of Bayesian solution where I can specify a sane prior on aa, then, given the observation b, get a posterior on both bb and aa.

edit The original form of this question had the covariance of b as 1nI, however I believe that w.l.o.g. one can just assume n=1, so I have edited out all mention of n.


"Intervalos de confiança" em quantidades aleatórias são geralmente denominados "intervalos de previsão".
Kjetil b halvorsen

1
@kjetilbhalvorsen : this is not a question regarding prediction intervals, which estimate "an interval in which future observations will fall," according to Wikipedia. The vector b has already been observed.
shabbychef

1
I can't see how p comes into this at all. Can you please clarify?
Ben - Reinstate Monica

1
@Ben p is the length of the vectors a and b.
shabbychef

Respostas:


5

Vista geométrica do problema e distribuições de ba e |b|2

Below is geometrical view of the problem. The direction of a doesn't really matter and we can just use the lengths of these vectors |a| and |b| which give all neccesary information.

vista geométrica

The distribution of the length of the vector projection of b onto a will be ba/|a|N(|a|,1) which is related to the quantity that you are looking for

baN(|a|2,|a|2)

We can further deduce that the squared lenght of the samples vector |b|2 has the distribution a non-central chi-squared distribution, with the degrees of freedom p and the noncentrality parameter k=1pμk2=|a|2

|b|2χp,|a|22

além disso

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

Esta última expressão mostra que a estimativa de intervalo para ba pode , de um certo ponto de vista, ser vista como um intervalo de confiança, porque ba pode ser vista como um parâmetro na distribuição de |b|2 . Mas é complicado porque há um parâmetro incômodo |a|2 , e também o parâmetro ba é doze uma variável aleatória, relacionada a |a|2 .

Gráficos de distribuições e algum método para definir a c(b,p,α)

gráfico de distribuições conjuntas

Na imagem acima, plotamos para uma região de 95% usando a parte β1 direita da distribuição de N(|a|2,|a|2) e a parte β2 superior da distribuição deslocada de χp12 tal que β1β2=0.05

Agora, o grande truque é desenhar uma linha c(|β|2,p,α) que limita os pontos de modo que, para qualquer a haja uma fração 1α dos pontos (pelo menos) que estão abaixo da linha .

múltiplo a

Abaixo da linha é onde a região é bem-sucedida e queremos que isso aconteça pelo menos na fração 1α do tempo. (veja também A lógica básica da construção de um intervalo de confiança e Podemos rejeitar uma hipótese nula com intervalos de confiança produzidos por amostragem em vez da hipótese nula? para raciocínio análogo, mas em um cenário mais simples).

Pode ser duvidoso que consigamos obter a situação:

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

Mas sempre devemos conseguir resultados como

|uma|:Pr(bumac(b,p,α))α

ou mais estritamente, o menor limite superior de todos os Pr(bumac(b,p,α)) é igual a α

sup{Pr(bumac(b,p,α)):|uma|0 0}=α

Para a linha na imagem com os múltiplos |uma|usamos a linha que toca os picos das regiões únicas para definir a função c(|b|,p,α) . Ao usar esses picos, obtemos que as regiões originais, que se destinavam a ser como α=β1β2 não são idealmente cobertas. Em vez disso, menos pontos ficam abaixo da linha (então α>β1β2 ). Para pequenas |uma|estas serão a parte superior e, para grandes |uma|esta será a parte certa. Então você receberá:

|uma|<<1:Pr(bumac(b,p,α))β2|uma|>>1:Pr(bumac(b,p,α))β1

e

sup{Pr(bumac(b,p,α)):|uma|0 0}max(β1,β2)

Portanto, este ainda é um pouco de trabalho em andamento. Uma maneira possível de resolver a situação seria ter alguma função paramétrica que você continue melhorando iterativamente por tentativa e erro, de modo que a linha seja mais constante (mas não seria muito esclarecedora). Ou, possivelmente, alguém poderia descrever alguma função diferencial para a linha / função.

alfa eficaz

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

Como é aleatório, a função f ( b , p , α ) também é aleatória. No entanto, acredito que se possa construir uma função tal que a declaração de probabilidade seja mantida sob a replicação do experimento (para um fixo a ). bf(b,p,α)a
21819 shabbychef

Uma forma de responder à questão seria encontrar função tal que P ( bumf ( b , p , α ) ) = α , em que a replicação é sob uma fixos um , mas independentes realizações de b . Na realidade, porém, apenas observaremos um b . (Perceba que b em si é provável que seja uma estatística suficiente rescaled calculado sobre um número de realizações independentes de algum experimento.)fP(baf(b,p,α))=α abbb
shabbychef

Veja também minha 'resposta', que mostra que, para grandes , uma certa estatística é quase normal, enquanto que para pequenos valores desse parâmetro, é mais como um qui-quadrado não central (deslocado, redimensionado). Dito isto, a é um parâmetro populacional desconhecido, portanto não sabemos qual é o correto. No entanto, podemos estimar aa partir da quantidade bb . aaaaabb
shabbychef

Não vejo por que importa que esteja nos dois lados da equação. No entanto, tentarei editar a pergunta mais uma vez para ficar perfeitamente claro. b
precisa saber é

1
Postei uma resposta falsa com código real.
shabbychef

3

Vou mudar a notação para algo mais familiar. Espero que não seja confuso.

Não vejo como alguém poderia estimar a função com um estimador completamente imparcial. Mas fornecerei um estimador imparcial para a "parte" da função c e fornecerei uma fórmula para o viés restante, para que possa ser avaliado por simulação.cc

Assumimos que temos um vetor aleatório (coluna) dimensional normal em conjuntop

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

Pela especificação da matriz de covariância, os elementos do vetor aleatório são independentes.

Estamos interessados ​​na variável aleatória univariada . Devido à normalidade articular, essa variável também apresenta distribuição normalY=xμ

YN(μμ,1nμμ)

Portanto

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

onde é o CDF normal padrão eΦ()

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

(1)c=μμnza+μμ

Precisamos, portanto, obter estimativas para e sua raiz quadrada. Para cada elemento do vetor x , digamos X k temos n observações iid disponíveis, { x k 1 , . . . , x k n } . Assim, para cada elemento de μ ' μ = ( μ 2 1 , . . . , U 2 p ) ' vamos tentar o estimadorμμxXkn{xk1,...,xkn}μμ=(μ12,...,μp2)

Est(μk2)=1ni=1nXki2

Este estimador tem valor esperado

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

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

Portanto, um estimador imparcial para éμki2

μk2^=1ni=1nXki21n

implicando que

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

e para que

é um estimador imparcial deμμ.

(2)θ^1nk=1pi=1nXki2pn
μμ

Mas um estimador imparcial para parece não existir (um que é baseado exclusivamente nas quantidades conhecidas, ou seja).μμ

Então, suponha que continuemos e estimamos porc

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

O viés desse estimador é

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

o resultado de "viés positivo" devido à desigualdade de Jensen.

Nesta abordagem, o tamanho da amostra é crítico, pois reduz o viés para qualquer valor dado de μ . nμ

Quais são as consequências desse viés de superestimação? Suponha que recebamos , p , e que seja solicitado a calcular o valor crítico de Y para a probabilidade α , P ( Y c ) = α .npYαP(Yc)=α

Dada uma sequência de amostras, iremos fornecer uma estimativa c para as quais, "em média" c > c .c^c^>c

Em outras palavras

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

Pode-se avaliar por simulação a magnitude do viés para vários valores de e como e quanto distorce os resultados.μ


Acredito que isso seja direcionado para um IC imparcial (opção 2 em minha edição) e semelhante em espírito à minha resposta insatisfatória. Pensarei em como uma melhor estimativa do desvio padrão poderia ser construída com as informações disponíveis. Eu acho que talvez uma série de Taylor possa funcionar. Além disso, não tenho certeza das observações da parte x . Temos n = 1 wlog . nxn=1
21814 shabbychef

Como você pode ver, o valor de importante quando se trata de viés. Portanto, depende do que você quer dizer com "sem perda de generalidade". Uma questão mais prática é que, se as fórmulas fossem fornecidas para n = 1 , não seria necessariamente claro como exatamente elas deveriam procurar o n geral . Agora eles estão previstas geral n assim que se pode ligar em qualquer valor de n , e ver o que acontecenn=1nnn
Alecos Papadopoulos

O problema é que não há ; Isso foi relevante apenas para dar uma base ao problema, e eu deveria simplesmente apagá-lo da questão. Você observa apenas um único b (em sua terminologia, x , com n = 1 ). n bxn=1
21814 shabbychef

Isso não cria problema. Basta inserir sempre que n aparecer nas minhas fórmulas. 1n
Alecos Papadopoulos

1

Uma abordagem que quase funciona é a seguinte: Observe que 'tem o aspecto de'zc, ondeCé um vector de comprimento da unidade (isto é, na verdadebescalada a unidade de comprimento), ez=b-um~N(0,I). Se fosse o casocindependente dez, poderia-se afirmar quebb+Zα(bbba)/bbzccbz=baN(0,I)cz era umlimite de confiançaα, ondeZαé oquantilαdo normal.bb+ZαbbαZαα

No entanto, não é independente de z . Tende a estar 'alinhado com' z . Agora, quando umaum » 1 , c é essencialmente independente, e a confiança ligada acima dá cobertura adequada. Quando 0 < aa1 , no entanto, zc é mais como uma variável aleatória qui-quadrado deslocada, escalada e não central.czzaa1c0 0<umauma1zc

Uma pequena simulação R mostra os efeitos de na normalidade da quantidade ( bb - ba ) / umauma :(bb-buma)/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()

um caso grande é um caso pequeno


Isto parece um multivariada dobrado normal para mim ...
shabbychef

Isso não voará porque a distribuição depende do desconhecido . Talvez alguém possa estabelecer um prior nessa quantidade, o que levaria a um posterior em ab . umaumaumab
21814 shabbychef

1

Para o caso p=1 , podemos encontrar um intervalo de dois lados. Nesse caso, podemos assumir que 0 0<uma é o parâmetro populacional e observamos b=N(uma,1).Desejamos vincular umab em probabilidade com alguma função de |b| (Podemos usar apenas o valor absoluto de b , pois é o análogo unidimensional de bb para ocasop>1)

Deixe ϕ ser a função de densidade normal, e deixe zα/2 ser o α/2 quantil do normal. Então, trivialmente

ϕ(ba)I{|ab|zα/2}db=α.
Agora note que |ab|é invariável em relação à multiplicação do interior por ±1 , para que possamos multiplicar pelosign(b) . Isso é|ab|=|asign(b)|b||.Usando isso, multiplicando as quantidades por|b|nós temos:
α=P(|asign(b)|b||zα/2),=P(|abb2|zα/2|b|),=P(ab[b2+zα/2|b|,b2zα/2|b|]).

Assim, o intervalo simétrico [b2+zα/2|b|,b2zα/2|b|] tem 1α cobertura de ab .

Vamos testar com o código:

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)

Recebo a taxa nominal de 0,05 tipo I:

[1] 0.04983
[1] 0.04998

Não está claro como transformar isso em uma solução para o caso p>1 , mas presumo que alguma trigonometria e uso da distribuição t serão aplicáveis.


0

c()ambi=a+ziibiac(bi,p,α)αm

Vou dar uma solução quebrada para ilustrar como isso deve funcionar no código. Primeira nota que bb , aaaλ=aap

E[bb]=p+aa.
baN(aa,aa)
E[bbbap]=0.
babb
Var[bbbap]=aa+2(p+2aa)=2p+5aa.
αbbbap
Zα2p+5aa.
Pr(babbp+Zα2p+5aa)α.
abb
c(b,p,α)=bbp+Zα0(5bb3p),

Isso certamente não vai funcionar porque ignoramos o termo de covariância. No entanto, o objetivo é demonstrar algum código:

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

0.05

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

Você deve conseguir conectar uma confiança de trabalho vinculada ao testfunc.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.