Um olhar sobre a análise bayesiana da Biontech / Pfizer do ensaio da vacina Covid-19

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Vamos dar uma olhada novamente na vacina candidata Biontech / Pfizers para a qual um comunicado à imprensa afirmava uma eficácia de mais de 90%. Conforme observado em meu post anterior, a Biontech / Pfizer realmente usa uma abordagem bayesiana para avaliar a eficácia de sua vacina candidata.

Em seu plano de estudo, encontramos as seguintes descrições relativamente curtas:

“Os critérios de sucesso em uma análise provisória são baseados na probabilidade posterior (ou seja, P[VE > 30% given data]) no número atual de casos. A eficácia esmagadora será declarada se a probabilidade posterior for maior que o limite de sucesso. O limite de sucesso para cada análise intermediária será calibrado para proteger o erro geral tipo I em 2,5%. ”

“As abordagens bayesianas requerem a especificação de uma distribuição prévia para os possíveis valores do efeito desconhecido da vacina, o que explica a incerteza em seu valor. Um beta minimamente informativo anterior, beta (0,700102, 1), é proposto para θ = (1-VE) / (2-VE). O prior está centrado em θ = 0,4118 (VE = 30%), o que pode ser considerado pessimista. O anterior permite uma incerteza considerável; o intervalo de 95% para θ é (0,005, 0,964) e o intervalo de 95% correspondente para VE é (-26,2, 0,995). ”

A abordagem é descrita com mais detalhes em um plano de análise estatística. Não consegui encontrar esse plano na internet, no entanto. Mas vamos tentar dar um palpite sobre sua análise a partir das informações acima.

Sejam $ pi_v $ e $ pi_c $ as probabilidades populacionais de que um sujeito vacinado ou um sujeito do grupo de controle, respectivamente, adoeça com Covid-19. Em seguida, a eficácia da vacina da população é dada por

[VE = 1-frac {pi_v} {pi_c}]

Leia Também  uma abordagem computacional para a aprendizagem estatística [book review]

Em seu plano de estudo, a Biontech / Pfizer assume uma distribuição prévia para um parâmetro

[theta = frac {1-VE} {2-VE}]

Conectando-se à definição da VE eficácia da vacina da população, podemos reescrever $ theta $ como

[theta = frac {pi_v} {pi_v+pi_c}]

Dado que a Biontech / Pfizer atribuiu o mesmo número de sujeitos ao grupo de tratamento e controle, este $ theta $ deve denotar a probabilidade de que um sujeito que adoeceu com Covid-19 seja do grupo de tratamento, enquanto $ 1- theta $ é a probabilidade de o sujeito pertencer ao grupo de controle.

Como podemos ver no plano de estudo, a distribuição anterior assumida de $ theta $ é uma distribuição Beta com parâmetros de forma $ a = a_0 = 0,700102 $ e $ b = b_0 = 1 $. Vemos pela descrição da distribuição beta que a média anterior de $ theta $ é dada por

[E(theta) = frac {a_0} {a_0+b_0} = 0.4118]

Dado que temos

[VE=frac{1-2theta}{1-theta}]

A eficácia no valor anterior esperado de $ theta = 0,4118 $ é de fato 30%, conforme declarado pela Biontech / Pfizer.

O gráfico a seguir mostra a distribuição anterior de $ theta $

a0 = 0.700102; b0 = 1
ggplot(data = data.frame(x = c(0, 1)), aes(x)) +
  stat_function(geom="area",fun = dbeta, n = 101,
    args = list(shape1 = a0, shape2 = b0),
    col="blue", fill="blue", alpha=0.5
  ) +
  ylab("Prior Density") + xlab("theta") + geom_vline(xintercept=0.4118)+
  ggtitle("Prior on probability that a subject with Covid-19 was vaccinated")



Agora, a parte crucial das estatísticas bayesianas é como atualizamos nossa distribuição estimada de $ theta $ assim que obtemos novos dados. Suponha que $ m $ sujeitos adoeceram com Covid-19, dos quais $ m_v $ foram vacinados e $ m_c $ estavam no grupo de controle. Então, pode-se mostrar (veja por exemplo aqui) que a distribuição posterior de $ theta $ é novamente uma distribuição Beta com argumentos $ a = a_0 + m_v $ e $ b = b_0 + m_c $. Bom e simples!

Por exemplo, aqui está o posterior se tivéssemos uma única observação de um sujeito doente e esse sujeito estivesse no grupo de controle:

a = a0; b = b0+1
ggplot(data = data.frame(x = c(0, 1)), aes(x)) +
  stat_function(geom="area",fun = dbeta, n = 101,
    args = list(shape1 = a, shape2 = b),
    col="blue", fill="blue", alpha=0.5
  ) +
  xlab("theta") + ylab("density") + geom_vline(xintercept=a/(a+b)) +
  ggtitle("Posterior if single ill subject was in control group")



Aqui está a parte posterior se o único sujeito doente foi vacinado:

Leia Também  Oportunidades de trabalho: cientista e engenheiro de dados
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
a = a0+1; b = b0
ggplot(data = data.frame(x = c(0, 1)), aes(x)) +
  stat_function(geom="area",fun = dbeta, n = 101,
    args = list(shape1 = a, shape2 = b),
    col="blue", fill="blue", alpha=0.5
  ) +
  xlab("theta") + ylab("density") + geom_vline(xintercept=a/(a+b)) +
  ggtitle("Posterior if a single ill subject was vaccinated")



O comunicado à imprensa da Pfizers / Biontech declarou que 94 indivíduos adoeceram com a Covid-19 e pode-se deduzir de uma eficácia de amostra declarada acima de 90% que no máximo 8 desses 94 indivíduos foram vacinados.

Podemos facilmente calcular e desenhar a distribuição posterior de $ theta $ para estes dados:

a = a0+8; b = b0+94-8
ggplot(data = data.frame(x = c(0, 1)), aes(x)) +
  stat_function(geom="area",fun = dbeta, n = 101,
    args = list(shape1 = a, shape2 = b),
    col="blue", fill="blue", alpha=0.5
  ) +
  xlab("theta") + ylab("density") + geom_vline(xintercept=a/(a+b)) +
  ggtitle("Posterior if 8 out of the 94 ill subjects were vaccinated")



A Biontech / Pfizer declarou como critério de sucesso provisório que a probabilidade posterior de uma eficácia abaixo de 30% (correspondendo a $ theta> 0,4118 $) é menor que 2,5%. Podemos facilmente calcular essa probabilidade com nossa distribuição posterior em $ theta $:

pbeta(0.4118,a,b,lower.tail = FALSE)*100

## [1] 6.399889e-11

Bem, como o gráfico já sugeriu, nossa probabilidade posterior de uma eficácia abaixo de 30% é quase zero.

Podemos calcular uma equivalência bayesiana do intervalo de confiança de 95% (chamado de intervalo de credibilidade) para $ theta $ olhando para os quantis de 2,5% e 97,5% de nossa distribuição posterior:

theta.ci = qbeta(c(0.025,0.975),a,b)
round(theta.ci*100,1)

## [1]  4.2 15.6

Isso significa que, considerando nossa crença anterior e os dados, acreditamos com 95% de probabilidade que a probabilidade de um sujeito doente ser vacinado está entre 4,2% e 15,6%.

Podemos transformar esses limites em um intervalo de credibilidade correspondente para a eficácia da vacina:

VE.ci = rev((1-2*theta.ci)/(1-theta.ci))
round(VE.ci*100,1)

## [1] 81.6 95.6

Este intervalo de credibilidade bayesiano de 81,6% a 95,6% da eficácia da vacina é, na verdade, muito próximo do intervalo de confiança frequentista que calculamos no primeiro post. Isso é reconfortante.

Leia Também  Introdução à função mebootSpear () | R-bloggers

Obviamente, o intervalo de credibilidade depende do pressuposto anterior para $ theta $. Um anterior mais conservador teria sido simplesmente assumir uma distribuição uniforme de $ theta $ que é igual a uma distribuição Beta com parâmetros de forma $ a = b = 1 $. Vamos calcular o intervalo de credibilidade de 95% para este uniforme anterior:

a0 = b0 = 1
a = a0+8; b = b0+94-8
theta.ci = qbeta(c(0.025,0.975),a,b)
VE.ci = rev((1-2*theta.ci)/(1-theta.ci))
round(VE.ci*100,1)

## [1] 81.1 95.4

É bom ver que essa diferente anterior tem apenas um impacto muito pequeno no intervalo de credibilidade para a eficácia da vacina, que agora é de 81,1% a 95,4%.

Embora eu normalmente fosse cético em relação à análise bayesiana devido à necessidade de especificar uma distribuição anterior, devo dizer que, neste exemplo, a abordagem bayesiana parece na verdade bastante intuitiva e agradável. Você ainda deve levar minha análise com um grão de sal, no entanto. É essencialmente apenas um palpite de como a Biontech / Pfizer realmente executa a análise. Pode muito bem haver algumas complicações estatísticas que esqueci.

PS: Acabei de aprender sobre outra bela série de blogs aqui sobre métodos bayesianos para analisar os testes da vacina Covid-19. Ele também ilustra alguns pacotes R avançados, como runjags, que podem ser usados ​​para análises bayesianas mais complexas.



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br