Glossário
Termos técnicos usados nesta página, em ordem alfabética — para quem chega sem bagagem de estatística ou saúde pública.
- Associação ecológica
- Um padrão estatístico observado entre grupos ou períodos (aqui, meses de uma cidade), não entre indivíduos. Mostra correlação, não prova que um fator causa o outro.
- Backtest / holdout cronológico
- Testar um modelo só com dados de um período que ele nunca "viu" durante o treino, para simular como ele se sairia na prática.
- Correção de Bonferroni
- Ajuste conservador para quando vários testes são feitos: multiplica-se cada valor-p pelo número de testes, reduzindo a chance de um resultado significativo surgir por acaso.
- DATASUS
- O departamento do Ministério da Saúde que mantém as bases de dados públicas do SUS usadas neste estudo (SIH, SIM, SRAG/OpenDataSUS).
- ERA5
- O principal conjunto de dados climáticos de referência do mundo, produzido pelo serviço europeu Copernicus. Combina observações e modelos para reconstruir o clima do planeta numa grade de cerca de 25 km.
- FAR (taxa de falso alarme)
- Entre os alertas emitidos por um modelo, qual fração não se confirmou depois.
- Função de transferência
- A relação medida que converte a leitura de um instrumento para a escala de outro. Aqui, rede ≈ 1,14 × ERA5 + 0,1.
- INMET
- Instituto Nacional de Meteorologia — a rede oficial de estações meteorológicas do governo brasileiro, bem mais esparsa que a rede hiperlocal deste estudo.
- Outlier
- Um valor atípico, muito fora do padrão do resto dos dados, que pode distorcer uma média se não for tratado com cuidado.
- r (correlação de Pearson) / rho (correlação de Spearman)
- Um número entre −1 e 1 que mede o quanto duas variáveis se movem juntas. Perto de 1 ou −1, andam muito juntas; perto de 0, não há relação aparente entre elas.
- ROC-AUC
- Uma medida de 0 a 1 de quão bem um modelo distingue entre duas situações (aqui, "vai chover" ou "não vai"). 0,5 equivale a chute aleatório; 1 é acerto perfeito.
- SIH (Sistema de Informações Hospitalares)
- Base de dados pública do SUS com registros de internações hospitalares, mês a mês.
- SIM (Sistema de Informações sobre Mortalidade)
- Base de dados pública do SUS com registros de óbitos por causa, mês a mês.
- SRAG (Síndrome Respiratória Aguda Grave) / OpenDataSUS / SIVEP-Gripe
- SRAG é um quadro respiratório grave de notificação obrigatória; OpenDataSUS e SIVEP-Gripe são os sistemas do Ministério da Saúde onde esses casos são registrados diariamente.
- Teste de permutação
- Um método estatístico que embaralha os dados milhares de vezes (aqui, 20 mil) para calcular a chance de um resultado ter surgido por puro acaso.
- Valor-p (p)
- A chance de um resultado tão forte quanto o observado aparecer só por acaso, caso não exista efeito real nenhum. Quanto menor, mais forte a evidência; por convenção científica, abaixo de 0,05 é considerado estatisticamente significativo.
O contexto
O HexaClima é uma rede de 39 estações meteorológicas de baixo custo espalhadas pelos bairros de São Carlos/SP, num raio de 30 km do centro, medindo temperatura, umidade, chuva, pressão, vento, UV e CO₂ equivalente a cada poucos minutos. Sobre essa rede foram construídos, em camadas, previsão de chuva por aprendizado de máquina, alertas preditivos de seca e calor com 7 dias de antecedência e um índice de risco de saúde por calor. O índice se apoia num cruzamento de 17 anos de dados públicos de saúde do DATASUS com a reanálise climática ERA5, feito em paralelo.
A tese que esta página existe para verificar, número por número: dados hiperlocais somados a dados públicos abertos, tratados com método honesto — incluindo os resultados que não confirmam a hipótese inicial — produzem um retrato da cidade que nenhuma das duas fontes entregaria sozinha.
O que só uma rede hiperlocal enxerga
Numa tarde quente, a cidade não é uma cidade só.
de diferença mediana de temperatura máxima entre bairros nos 143 dias quentes de 2025–2026 (2º mais quente menos 2º mais frio, uma medida robusta a outlier). Em 10% dos dias, a diferença chegou a 8,1 °C. O extremo foi 12,3 °C, em 23 de fevereiro de 2026, com 18 estações no ar.
Comparamos a rede com o ERA5, a reanálise climática global padrão-ouro, com resolução de cerca de 25 km por pixel, em 370 dias de 2025–2026. No tempo, as duas fontes contam a mesma história: r = 0,94 na temperatura máxima diária e r = 0,89–0,93 na umidade. A diferença está na escala. A relação medida é rede ≈ 1,14 × ERA5 + 0,1, e o desnível cresce com o calor: pequeno nos dias frios, maior nos quentes. Em média, a rede lê 3,7 °C acima. Parte disso é instrumento (abrigo não aspirado ao sol) e parte é ilha de calor urbana real que um pixel de 25 km dilui. Por isso a mediana da rede passou de 32 °C em 119 dias em que o ERA5 não passou, e o contrário nunca aconteceu. Esses 119 dias não são ondas de calor escondidas: 32 °C na leitura da rede equivalem a cerca de 28 °C no ERA5, patamar em que não há excesso de óbitos (ver “Um limiar só vale na régua em que foi medido”, abaixo). Separar instrumento de ilha de calor, estação por estação, é o próximo passo desta análise.
Isso importa porque nenhuma fonte pública de referência — ERA5, INMET, satélite — tem esse grão. É a diferença entre saber que a cidade está quente e saber onde o calor está mais forte. E o dado chega em minutos, não com o atraso de dias da reanálise.
Métodos
Cruzamos três bases públicas do DATASUS, acessadas por clientes automatizados construídos para este projeto:
- SIH — internações hospitalares do SUS, série mensal desde 2008.
- SIM — óbitos por causa, série mensal desde 2008.
- SRAG/OpenDataSUS — casos graves respiratórios, série diária: 6.257 casos de residentes de São Carlos entre 2009 e 2026.
Para o achado central (ondas de calor e óbitos), a temperatura vem do ERA5, que cobre o período inteiro, obtido pelo arquivo histórico do Open-Meteo. Usamos 17 anos de óbitos mensais do SIM, com tendência e sazonalidade removidas, e testamos a significância por teste de permutação com 20 mil sorteios que preservam o calendário. Onda de calor foi definida, para essa análise, como 3 ou mais dias seguidos com temperatura máxima de 32 °C ou mais no ERA5. Os limiares de 32 e 34 °C eram as hipóteses originais. Os de 28 e 30 °C entraram depois, como teste de falseamento durante a comparação entre as escalas, com a expectativa de resultado nulo. Os valores-p reportados são os da permutação, sem ajuste para múltiplos testes.
A rede HexaClima, com dados desde 2024, entra depois, em duas etapas. Primeiro, a tradução entre escalas: regressão da temperatura máxima diária da rede (mediana das estações válidas, com pelo menos 8 estações por dia e 24 leituras por estação) contra o ERA5 do mesmo dia, em 370 dias de 2025–2026. Depois, a leitura do que muda entre bairros, que a grade de 25 km não resolve.
Resultados positivos: ondas de calor e óbitos
Este é o achado mais forte da linha de pesquisa.
| Grupo | Meses com onda (n=32) | Mesmos meses sem onda | p |
|---|---|---|---|
| Todas as causas | +3,3% | −1,0% | 0,005 |
| 60+ anos | +4,8% | −1,4% | 0,001 |
| 80+ anos | +3,6% | −1,1% | 0,050 |
| Circulatórias | +3,7% | −1,1% | 0,038 |
Em números absolutos, isso equivale a aproximadamente +5,6 óbitos por mês de onda, numa cidade de cerca de 250 mil habitantes. Setembro de 2024, com 7 dias de onda, teve +16% de óbitos por todas as causas — cerca de 27 pessoas a mais. As internações por causas circulatórias contam história parecida: +6,5% nos meses com onda.
Acima de 32 °C, a régua severa (34 °C ou mais no ERA5), isolada, não atinge significância estatística (p=0,23), simplesmente porque há poucos meses nessa condição (13 em 17 anos). A régua de 32 °C no ERA5 acumula os 32 episódios necessários para revelar o efeito. Abaixo dela, o sinal desaparece, como mostra a seção seguinte.
Um limiar só vale na régua em que foi medido
O limiar de 32 °C foi medido na escala do ERA5. As estações da rede leem mais quente, e a diferença não é fixa: cresce com o calor, o que é consistente com o erro radiativo de abrigos não aspirados somado à ilha de calor urbana, ambos maiores em dia de sol forte. A tabela abaixo mostra as equivalências pela relação medida (rede ≈ 1,14 × ERA5 + 0,1; r = 0,94; 370 dias de 2025–2026).
| Temperatura máxima no ERA5 | Equivalente na leitura das estações |
|---|---|
| 28,0 °C | ≈ 32,0 °C |
| 32,0 °C | ≈ 36,6 °C |
| 34,0 °C | ≈ 38,9 °C |
| 36,0 °C | ≈ 41,1 °C |
O teste decisivo foi repetir a análise de excesso de óbitos em limiares mais baixos do ERA5, incluindo o de 28 °C, que corresponde aos 32 °C da rede. Esses limiares foram testados esperando resultado nulo, e foi o que apareceu.
| Limiar no ERA5 | Equivalente nas estações | Meses | Excesso (todas) | Excesso (60+) | p (todas / 60+) |
|---|---|---|---|---|---|
| ≥ 28 °C | ≈ 32,0 °C | 138 | −0,2% | −0,2% | 0,75 / 0,70 |
| ≥ 30 °C | ≈ 34,3 °C | 75 | −0,8% | −0,3% | 0,86 / 0,62 |
| ≥ 32 °C | ≈ 36,6 °C | 32 | +3,3% | +4,8% | 0,005 / 0,001 |
Excesso de óbitos por limiar de onda de calor (3+ dias com máxima ≥ limiar, escala ERA5). SIM/DATASUS, 2009–2026, permutação com 20 mil sorteios.
No patamar dos 32 °C da rede, que em São Carlos é verão comum (138 meses de “onda” em 17 anos), o sinal é zero. O excesso de óbitos é específico dos episódios realmente extremos. Baixar o limiar de um alerta de saúde dilui esses episódios num conjunto de dias comuns, e o alerta perde a evidência que o sustenta. Para replicar a análise com outra rede de sensores, é preciso medir antes a relação local entre estações e referência: cada rede terá sua própria função de transferência.
A hipótese que caiu
Internações respiratórias em São Carlos têm sazonalidade forte: pico de abril a junho (cerca de 130 por mês), vale de novembro a janeiro (cerca de 80 por mês) — uma diferença de 65%.
A hipótese inicial era que o pico acompanharia o auge da seca (agosto–setembro, quando há cerca de 14 dias por mês com umidade mínima abaixo de 30%). Não foi o que o dado mostrou: o pico respiratório vem antes do auge da seca. No agregado mensal, o melhor preditor das internações é o frio (r = −0,31 com a temperatura máxima), não a umidade — porque internação é o desfecho grave, e ele acompanha os vírus da estação fria. O efeito do ar seco parece ser agudo, medido em dias, e desaparece quando se olha por mês.
Registrar que a hipótese intuitiva não se sustentou vale tanto quanto um achado positivo.
Resultados nulos
Publicar os nulos ao lado dos positivos é o que separa vigilância de marketing — por isso eles estão aqui, não numa nota de rodapé:
- Ondas de calor nos limiares de 28 e 30 °C no ERA5: sem excesso de óbitos (p=0,75 e 0,86 para todas as causas; 0,70 e 0,62 para 60+). O limiar de 28 °C no ERA5 corresponde aos 32 °C da rede.
- Casos graves de SRAG e umidade, com defasagens de 0 a 14 dias: resultado nulo (rho ≤ 0,07). Não porque o efeito não exista, mas porque, com cerca de 0,8 caso grave por dia num único município, não há potência estatística para detectá-lo nessa base. O efeito do ar seco provavelmente aparece em desfechos mais frequentes — pronto-socorro, crises de asma —, cujos dados diários não são públicos e exigiriam parceria com a Secretaria Municipal de Saúde.
- Calor seco versus calor úmido: inconclusivo. O sentido do efeito se inverte conforme a régua usada, em amostras de apenas 6 a 16 meses.
- Noites quentes (3 ou mais noites seguidas com mínima de 21 °C ou mais no ERA5): +2,7% de óbitos entre 60+ anos, p=0,08 — sugestivo, não conclusivo.
Ressalvas
- Tudo o que é saúde aqui é associação estatística (ecológica), não causalidade demonstrada.
- Todo limiar de temperatura ligado a óbitos está na escala do ERA5. Na leitura das estações, o equivalente de 32 °C é cerca de 36,6 °C. Números não se transportam entre instrumentos sem uma função de transferência medida.
- Foram testados quatro limiares (28, 30, 32 e 34 °C), e os valores-p reportados não têm ajuste para múltiplos testes. Numa leitura conservadora, que conta os quatro, inclusive os dois testados esperando resultado nulo, multiplicar os valores-p por quatro (correção de Bonferroni) mantém o resultado de 32 °C abaixo de 0,05: 0,02 para todas as causas e 0,004 para 60+.
- Sensores de baixo custo superestimam a temperatura máxima ao sol: parte do desnível frente ao ERA5, e parte do espalhamento entre bairros, é efeito de instrumento, não só ilha de calor real.
- SIH e SIM cobrem a rede SUS, e os meses mais recentes de cada base são preliminares.
- O índice de risco térmico-saúde (próxima seção) ainda não tem validação prospectiva — essa validação começou agora.
Do achado ao serviço: o Índice de Risco Térmico-Saúde
A pesquisa virou funcionalidade em produção com uma regra de governança explícita: análise exploratória vive num diretório de pesquisa separado; só passa a integrar o sistema principal quando reescrita com testes.
O índice classifica os próximos dias (janela padrão de 7 dias) em quatro níveis, a partir da previsão de temperatura máxima, que é calibrada nas estações da rede. Os limiares vêm da análise epidemiológica, medida no ERA5, e são convertidos para a escala das estações antes de qualquer comparação com a previsão. Os níveis são avaliados de cima para baixo: Muito alto tem precedência sobre Alto.
| Nível | Regra (previsão, leitura das estações) | Equivalente no ERA5 | Evidência |
|---|---|---|---|
| 🟢 Sem risco térmico | Nenhum dia com máxima ≥ 36,6 °C | — | — |
| 🟡 Atenção | Um ou mais dias com máxima ≥ 36,6 °C, sem sequência de 3 dias seguidos | 32 °C | Dias isolados não foram testados; a análise cobre sequências de 3+ dias |
| 🟠 Alto | 3 ou mais dias seguidos com máxima ≥ 36,6 °C | 32 °C | Padrão testado: óbitos +3,3% (p=0,005); 60+ +4,8% (p=0,001) |
| 🔴 Muito alto | 3 ou mais dias seguidos com máxima ≥ 38,9 °C | 34 °C | Subconjunto do padrão testado; isolado, p=0,23 (13 meses em 17 anos) |
As mensagens ao usuário usam a escala que ele vê, com os limiares arredondados (37 °C e 39 °C nas estações). No nível Alto, as mensagens priorizam pessoas com 60 anos ou mais, grupo em que o sinal é mais forte. Toda mensagem termina com o aviso de que se trata de risco populacional estimado a partir do histórico local de saúde, e não de previsão individual.
O patamar de 36 °C no ERA5 (≈41,1 °C nas estações) não define nenhum dos quatro níveis. Ele marca como risco muito alto um dia isolado no painel semanal do mapa e aciona o anel mais forte das estações. Esses usos não têm teste epidemiológico próprio: a evidência deste estudo cobre sequências de 3 ou mais dias.
Na primeira versão em produção, o índice aplicava o número 32 diretamente à leitura das estações, o que fazia o nível Alto disparar em episódios que a evidência não cobre. A coincidência com o limiar de 32 °C que a previsão de calor já usava parecia uma confirmação mútua, mas eram duas temperaturas diferentes. A correção, feita em 11 de setembro de 2026, vale para todas as superfícies do índice: bot, API, faixa de risco, painel semanal e anéis por bairro no mapa. A API expõe a tradução entre as escalas. Os níveis meteorológicos da previsão de calor (32, 34 e 36 °C na leitura das estações) continuam no mapa como informação de temperatura, sem alegação de mortalidade.
Hoje o índice roda no mapa público, junto com a previsão de calor a 7 dias e os alertas de umidade baixa. No mapa, cada estação ganha um anel colorido conforme a temperatura atual daquele bairro, com os limiares convertidos — a temperatura deixa de ser uma média da cidade e vira um endereço. Como usam a leitura do momento, e não uma sequência de dias, os anéis são sinal de calor local, não risco validado. Um canal de alerta dirigido à população em geral, em parceria formal com a Secretaria de Saúde, ainda não existe: depende de protocolo próprio, que é o próximo passo institucional, não técnico.
Duas escolhas de desenho são posição ética, não técnica. Primeira: o índice é sempre risco populacional, nunca previsão individual — o disclaimer acompanha toda mensagem; ele diz que a cidade entra numa semana que, historicamente, está associada a mais óbitos, e nunca algo sobre uma pessoa específica. Segunda: cada alerta emitido fica registrado para ser comparado com os óbitos reais do SIM a cada consolidação trimestral — em um ou dois anos, o índice deixa de ser "baseado em correlação histórica" e passa a ser "validado em operação".
Ficha técnica — números citáveis e suas fontes
| Nº | Afirmação | Fonte / período | Status |
|---|---|---|---|
| 1 | ROC-AUC 0,927 na previsão de chuva a 30 min | Modelos treinados nos dados da rede, jan–jul/2025 | Medido (holdout cronológico) |
| 2 | Detecção de ~90% dos dias de umidade <40% até 6 dias antes (FAR ~0,10) | Backtest ~90 dias | Medido |
| 3 | +65% de internações respiratórias no pico sazonal (abr–jun vs. nov–jan) | SIH/DATASUS, 2008–2026 (222 meses) | Medido |
| 4 | Frio prediz internação melhor que seca no agregado mensal (r=−0,31 vs. |r|≤0,20) | SIH × ERA5, 220 meses | Medido |
| 5 | Óbitos +3,3% (todas as causas, p=0,005) e +4,8% (60+, p=0,001) em meses de onda com máxima ≥32 °C no ERA5 | SIM/DATASUS × ERA5, 2009–2026, permutação 20k | Medido; associação, não causalidade |
| 6 | ≈ +5,6 óbitos por mês de onda; set/2024: +16% (~+27 óbitos) | Idem | Medido |
| 7 | Sem excesso de óbitos em ondas com máxima ≥28 °C (p=0,75) e ≥30 °C (p=0,86) no ERA5 | SIM/DATASUS × ERA5, 2009–2026, permutação 20k | Resultado nulo |
| 8 | Rede ≈ 1,14 × ERA5 + 0,1 (r=0,94); 32 °C no ERA5 ≈ 36,6 °C nas estações | Rede × ERA5, 370 dias, 2025–2026 | Medido |
| 9 | 119 dias com mediana da rede ≥32 °C sem registro equivalente no ERA5 (desnível médio +3,7 °C) | Rede × ERA5, 370 dias, 2025–2026 | Leitura bruta; não equivale a ondas de calor |
| 10 | 5,8 °C de diferença mediana entre bairros em dias quentes (extremo 12,3 °C) | Rede, 143 dias quentes, 2025–2026 | Medido; posicionamento dos sensores contribui |
| 11 | 6.257 casos de SRAG de São Carlos extraídos de dados abertos | SIVEP-Gripe/OpenDataSUS, 2009–2026 | Dado bruto público, filtrado |
| 12 | Correlação diária SRAG × umidade: nula por falta de potência (~0,8 caso/dia) | SRAG × ERA5, defasagens 0–14 dias | Resultado nulo honesto |
Onde está o código
A análise vive num repositório de pesquisa próprio (MapaHexaClimaPreditivo), com os clientes de acesso ao DATASUS, os scripts de análise e os dados extraídos versionados separadamente do produto em operação. A regressão entre rede e ERA5 está em research/saude/rede_vs_era5.py, e a análise de permutação nos limiares, em research/saude/analise_clima_saude.py. O ERA5 foi obtido pelo arquivo histórico do Open-Meteo. O relatório completo pode ser baixado em PDF abaixo, e a análise é reproduzível sob solicitação.
Baixar relatório técnico (PDF, com DOI)
- Setembro de 2026: publicação.
- 10 de setembro de 2026: explicitada a fonte de temperatura do achado central (ERA5, 2009–2026) e a ordem da análise. Os 119 dias passam a ser apresentados como leitura bruta das estações, sem correção de viés. Nenhum resultado numérico mudou.
- 11 de setembro de 2026: medida a relação entre a escala das estações e a do ERA5 (rede ≈ 1,14 × ERA5 + 0,1) e testados os limiares de 28 e 30 °C no ERA5, sem excesso de óbitos. Todos os limiares ligados a óbitos passam a indicar a escala. Registrada a correção do Índice de Risco Térmico-Saúde, que passou a converter as escalas antes de comparar a previsão com o limiar. Nenhum resultado numérico anterior mudou.
- 11 de setembro de 2026: relatório técnico depositado no Zenodo com DOI (versão 1.0), que passa a ser a versão canônica para download; o link antigo do PDF redireciona para o DOI.
Como citar esta página
MORCELI, Gustavo. Ondas de calor e mortalidade em São Carlos: o que 17 anos de DATASUS cruzados com uma rede hiperlocal revelam. São Carlos, 2026. Disponível em: https://gustavomorceli.com.br/dados-para-o-bem-comum/estudo-sao-carlos/. Acesso em: [data].
Relatório técnico com DOI (versão 1.0): MORCELI, Gustavo. Ondas de calor e mortalidade em São Carlos: o que 17 anos de DATASUS cruzados com uma rede hiperlocal revelam. Versão 1.0. [S. l.]: Zenodo, 2026. Relatório técnico. DOI: 10.5281/zenodo.22700571.
Este estudo sustenta o Capítulo 4 do livro Dados para o Bem Comum. A rede de estações e o índice de risco são desenvolvidos pela Hexa Smart, da BDN Tecnologia. Saiba mais sobre Gustavo Morceli.
Fontes públicas: DATASUS/TabNet · OpenDataSUS (SRAG) · ERA5, Copernicus Climate Change Service, via Open-Meteo · Lei 12.608/2012.