Apresentação

Este blog foi pensado como uma página de divulgação científica. Nele publicarei pequenas análises ou ferramentas estatísticas, em geral envolvendo assuntos que considero interessantes. Não serão análises acadêmicas. A ideia principal é que sejam assuntos interessantes, com algum apelo para curiosos, e fácil de serem compreendidas.

Se houver dúvida ou pergunto sobre algum assunto tratado aqui, por favor entre em contato comigo através deste formulário.

 

Teria sido possível evitar o desastre da Challenger?

Creio que as duas imagens mais marcantes em toda a história do programa espacial norte-americano sejam a caminhada de Neil Armostrong na Lua e a explosão do ônibus espacial Challenger. Esta tragédia, exibida ao vivo pela TV em 28 de janeiro de 1986, chocou o mundo.

Após uma cuidadosa investigação, a NASA concluiu que a explosão ocorreu devido ao mau funcionamento de uma peça chamada O-ring, que deveria manter a junção entre as partes dos foguetes que levariam a Challenger para o espaço. Mas será que o problema com estas peças não poderia ter sido previsto utilizando dados dos outros lançamentos de ônibus espaciais?

A Challenger foi a 25a missão oficial de um ônibus espacial. Para fazer este estudo, utilizei os dados de temperatura e falhas de O-rings de 23 voos de ônibus espaciais anteriores ao da Challenger, obtidos no UCI Machine Learning Repository. Apenas os dados de 23 dos 24 voos anteriores estão disponíveis publicamente.

O gráfico abaixo mostra, no eixo horizontal, as temperaturas de lançamento, em graus Celsius, durante o lançamento dos ônibus espaciais. No eixo vertical, 0 significa que não houve problemas com nenhum O-ring durante o lançamento do ônibus espacial naquela temperatura e 1 significa que houve algum problema com pelo menos um O-ring durante o lançamento.

Perceba que, aparentemente, há influência da temperatura no comportamento dos O-rings. Quanto mais frio, é mais provável que haja algum problema com o dispositivo. Mas estatística não é achismo e há uma maneira de testar se esta hipótese é verdadeira. Para isto, utilizei uma ferramenta chamada regressão logística. O R, software que utilizo no meu dia a dia, possui um comando específico para isto, chamado glm. A resposta que obtive está logo abaixo:

  Call:
glm(formula = falha ~ temperatura, family = binomial, data = dados)
 
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0611  -0.7613  -0.3783   0.4524   2.2175  
 
Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)   7.6137     3.9334   1.936   0.0529 .
temperatura  -0.4179     0.1948  -2.145   0.0320 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
(Dispersion parameter for binomial family taken to be 1)
 
    Null deviance: 28.267  on 22  degrees of freedom
Residual deviance: 20.315  on 21  degrees of freedom
AIC: 24.315
 
Number of Fisher Scoring iterations: 5

Mas o que este monte de números quer realmente dizer? Vejamos como a curva dada pelo output acima se ajusta à realidade:

Nesta figura, além do eixo y indicar se houve ou não algum problema com os o-rings, ele indica a probabilidade de haver um acidente dada a temperatura do local do lançamento do ônibus espacial. No dia do lançamento da Challenger, a temperatura estava prevista para 31°F (equivalente a -0,5ºC). Até então, esta seria a temperatura mais baixa de lançamento de um ônibus espacial. Substituindo um valor próximo a este e outros no modelo ajustado acima, temos as seguintes probabilidades de falha do o-ring:

  temperatura probabilidade
1           0  0.9995065985
2           5  0.9960269060
3          10  0.9687735209
4          15  0.7933601306
5          20  0.3220940541
6          25  0.0555337160
7          30  0.0072240135
8          35  0.0008996910
9          40  0.0001114276

Note que, para temperaturas próximas de zero, a probabilidade de falha é muito próxima de 1. Ou seja, a chance de falha é de quase 100%! Se a temperatura estivesse mais alta, acima de 25 graus, esta probabilidade cairia para 0,055 (puco mais de 5%). Ou seja, a falha do equipamento era quase uma certeza.

Por si só, a falha de um ou mais O-rings não acarretaria na explosão da nave. Entretanto, não era necessário arriscar a vida de sete astronautas e um equipamento caríssimo num lançamento muito propenso a ter problemas. Bastaria esperar alguns dias por condições mais propícias para este realizar este evento.

Os arquivos e códigos utilizados nesta análise podem ser encontrados no meu github.

 

Natal ou Porto Alegre: Onde o Verão é Mais Quente?

Um Pouco de História

Eu moro em Natal, RN, mas sou natural de São Leopoldo, RS. Também sou professor de Estatística. Quando falo de análise de dados com meus alunos, tem uma afirmação minha da qual eles sempre duvidam: Porto Alegre é mais quente do que Natal no verão.

Só quem morou no sul e sudeste, em cidades com clima subtropical e afetadas pela continentalidade, sabem do que estou falando. Embora nossa memória nos traia às vezes, sempre tive a impressão de que os verões em Porto Alegre são muito mais quentes do que os verões aqui em Natal.

Para provar ou desprovar esta afirmação, baixei os dados do BDMEP – Banco de Dados Meteorológicos para Ensino e Pesquisa referentes à temperatura máxima diária em Natal e Porto Alegre entre 1 de janeiro de 2002 e 31 de dezembro de 2016. Ou seja, são 15 anos de dados de temperatura diária nestas duas cidades que irão sustentar (ou não) minha afirmação.

Análise Descritiva

Abaixo vemos todas as observações disponíveis para as temperaturas das duas cidades:

Este gráfico, que possui informação desde 1961, não ficou bom. Faltam muitos dados dos anos 70 e 80, além de algumas informações do início dos anos 2000. Por isso, resolvi manter apenas os dados de 1 de janeiro de 2002 em diante:

Pronto. Melhor agora.

Podemos ver claramente no gráfico como Porto Alegre tem dias mais quentes do que Natal, principalmente no início do ano, na época do verão. Mas a quantidade deles é muito inferior ao que eu me lembro. Algo não parece certo.

Mas este gráfico mostra as temperaturas médias diárias. Acontece que Porto Alegre tem uma amplitude de temperatura muito alta, inclusive no verão. Os dias começam frescos, mas acabam esquentando muito. Por isso refiz os gráficos, agora considerando a temperatura máxima atingida no dia:

Bingo! A quantidade de dias de calor intenso em Porto Alegre, com a máxima passando dos 35ºC, é muito maior do que em Natal. Inclusive, Natal não teve um dia sequer, nos últimos 15 anos, em que a temperatura máxima passou dos 35ºC.

Portanto, como eu lembrava, Porto Alegre é uma cidade muito mais quente do que Natal no verão.

Mais detalhes a respeito desta análise, como seu o código e os dados utilizados nela, estão na minha página no github.

 

Intervalos de Confiança na Prática

A construção de Intervalos de Confiança é bastante simples. Entretanto, seu conceito nem sempre é entendido por quem trabalha com eles, principalmente os iniciantes. Pensando nisso, desenvolvi um aplicativo capaz de simplificar o entendimento do processo.

Segundo o livro Estatística Básica (Bussab e Morettin, 2014), a definição de intervalo de confiança a 95% é para o parâmetro da média populacional µ, quando a variância populacional σ² é conhecida, é dada por

Se pudéssemos construir uma quantidade grande de intervalos aleatórios da forma

(\overline{X}-1,96\sigma_{\overline{X}}, \overline{X}+1,96\sigma_{\overline{X}}),

todos baseados em amostras de tamanho n, 95% deles conteriam o parâmetro µ.

Ou seja, por esta definição, não temos a garantia de que o verdadeiro parâmetro µ estará dentro do intervalo de confiança calculado com 95% de chance. A única certeza que temos é que, se repetirmos o procedimento de construção do intervalo de confiança um número grande de vezes, 95% deles vão conter o parâmetro µ.

Logicamente, isto significa que 5% dos intervalos de confiança calculados não possuem o verdadeiro parâmetro de interesse da população estudada. O problema é que nunca sabemos que intervalos de confiança são estes.

Embora eu tenha criado o aplicativo apenas para o parâmetro µ, a lógica acima vale para a construção de qualquer intervalo de confiança.

Experimente o aplicativo por si mesmo e veja se ficou clara como a construção de intervalos de confiança é definida. O código utilizado para criar o aplicativo pode ser encontrado no meu github.