quarta-feira, março 25, 2020

Os testes.

Tenho encontrado alegações de uma suposta ocultação de casos de COVID-19 por limitações no número de testes. É claro que os 2362 casos confirmados são uma fracção dos casos em Portugal. Há doentes ainda sem sintomas, outros cujos sintomas serão leves demais para irem ao médico e assim por diante. Seria bom testar toda a gente para encontrar os focos de infecção mas não é viável. Por isso, em valor absoluto, estamos a subestimar o número de casos. Mas, se os testes forem feitos de forma consistente, a variação diária será um bom indicador de como a infecção se está a propagar pela população e do efeito das medidas tomadas. O mesmo para os casos suspeitos. Basta que os critérios de diagnóstico sejam aplicados de forma consistente.

Antes de explicar por que me parece ser esse o caso, queria apontar que quando dizem que o número de testes está a diminuir estão a especular. Até dia 15 de Março, os boletins da DGS indicavam os casos confirmados, infirmados, e aguardando resultados. Havia também um gráfico com confirmados e excluídos por data de início de sintomas. A partir de dia 16 de Março passou a haver “não confirmados” e o os excluídos desapareceram do gráfico dia 17. Isto sugere que, a partir desta data, estão a incluir testes negativos e casos não testados na mesma categoria. Por isso, neste momento, não conseguimos saber pelos boletins quantos casos foram testados. Não vejo nada de sinistro nisto. Com o aumento do número de casos aumenta também a probabilidade de haver falhas pontuais, demoras e outros problemas. Se bem que me agradasse ver isso tudo discriminado, compreendo que a prioridade na DGS não seja satisfazer os epidemiologistas de Facebook. Portanto, se virem alguém dizer que olhou para o boletim e viu que ontem houve menos testes que anteontem, sejam cépticos. Não está lá essa informação.

O que parece preocupar algumas pessoas é ainda mais estranho. Assumindo que todos os suspeitos são testados (o que, a ser verdade, será bom), contam o número de novos casos suspeitos e concluem que há menos testes porque há menos casos suspeitos. Não percebo onde é que isso é má notícia. É precisamente o que esperamos resultar das medidas de mitigação. Olhando para os dados desde dia 16*, parece-me não haver qualquer crise ou rotura. O boneco abaixo mostra isto, à esquerda com os valores diários de casos novos e à direita com os valores acumulados até cada data. Os casos a aguardar resultados parecem estar a acumular-se, com mais peso em cada dia, mas isso não parece ter grande efeito na detecção dos casos confirmados e, quando comparados com o total, o problema não é significativo. Até porque reduzir o número de testes pode ter um impacto pequeno no número de casos confirmados porque os testes não são aleatórios. As prioridades tenderão a dar precedência aos casos mais prováveis e quanto mais para baixo na lista menos casos reais se perde.



Mas há outra forma de testarmos se o processo decorre com normalidade. Como a percentagem de infectados na população é ainda pequena, o aumento de casos é aproximadamente exponencial. O que varia com as medidas tomadas será a taxa de crescimento, que deverá ir diminuindo gradualmente, mas o tipo de curva deve manter-se em cada janela de tempo. Excepto se houver perturbações na recolha de dados. Se deixa de haver testes ou se mudam protocolos há um salto súbito nos números e, nesse período, a exponencial já não se ajusta bem. Podemos medir isso pelo erro residual de cada ponto à curva ajustada, e podemos usar depois esses erros, distribuindo-os aleatoriamente pela curva, para gerar curvas hipotéticas que teríamos se a perturbação tivesse calhado noutro lado. Este é o método de residual bootstrapping, que ilustro na figura abaixo.


Os pontos da esquerda fazem um “cotovelo” que não encaixa numa curva exponencial e por isso têm um desvio considerável da curva ajustada. Se distribuirmos esses desvios aleatoriamente pela curva podemos gerar pontos que darão curvas diferentes, representadas pela mancha de linhas laranja. À direita isso não acontece. A curva ajusta-se bem aos pontos, os residuais são pequenos e a família de curvas fica numa gama mais estreita. Foi assim que calculei famílias de valores para a taxa de crescimento em janelas de 5 dias terminando nas datas indicadas na figura abaixo, quer para casos suspeitos quer para casos confirmados. Cada pontinho é um valor calculado para a taxa de crescimento, e as nuvens dão uma ideia da dispersão desses valores em cada dia, com as “barrigas” indicando maior densidade de valores.


Podemos ver que a taxa inicial de crescimento dos casos confirmados era muito grande, provavelmente pelo aumento inicial no número de testes, mas depois aproximou-se da taxa de crescimento dos casos suspeitos. Entre 13 e 16 de Março houve um desvio grande em relação à curva exponencial, que se pode ver pela maior dispersão dos valores, que indica que o ajuste não é bom. Isto sugere uma alteração brusca, seja nos protocolos seja no comportamento dos suspeitos, o que não é de estranhar nessa altura. Mas a partir de dia 16 as coisas estabilizaram e, com uma taxa de crescimento a diminuir, os dados ajustam-se bem às curvas exponenciais. Além disso, nota-se que os suspeitos estão cerca de dois dias à frente dos confirmados, o que se explica pelo atraso relativo nos resultados dos testes. Este perfil não me parece consistente com uma rotura na capacidade de fazer testes ou outro problema súbito qualquer. Mais ainda, mesmo que houvesse uma conspiração da DGS para nos ocultar estes números, julgo que era preciso um esforço considerável para os falsificar tão bem. Portanto, neste momento, não partilho da opinião de quem diz que os números não valem nada porque não se está a testar. Mas será interessante ver o que acontece nos próximos dias, porque penso que haverá uma revisão dos protocolos de teste e diagnóstico. E isso poderá dar outro safanão nos números e demorar uns dias a estabilizar novamente.

* Porque é uma chatice extrair aqueles dados; o boletim parece ser uma coisa feita em Powerpoint e depois exportado para pdf, e mudaram várias vezes o formato...

Nota: actualizei o código na pasta partilhada. Seguindo a sugestão do Raúl Fernandes (obrigado, Raúl) incluí um ficheiro com a lista de bibliotecas que é necessário para correr isto. Já agora, se algum aluno meu olhar para este código, saliento que estamos a viver uma emergência e isto foi tudo feito à pressa.

2 comentários:

  1. "The Coronavirus Curve - Numberphile" https://www.youtube.com/watch?v=k6nLfCbAzgo

    ResponderEliminar
  2. SIR model

    https://www.geogebra.org/m/utbemrca

    https://www.geogebra.org/m/nbjfjtpv

    ResponderEliminar

Se quiser filtrar algum ou alguns comentadores consulte este post.