Introdução

Declaração do Problema

As doenças cardiovasculares, incluindo os ataques cardíacos, são uma das principais causas de mortalidade global, responsáveis por milhões de mortes anualmente. A identificação precoce de fatores de risco e a previsão precisa da probabilidade de ocorrência desses eventos são essenciais para reduzir o impacto na saúde pública. No entanto, a complexidade desses fatores — que incluem desde características demográficas e hábitos de vida até condições médicas e indicadores socioeconômicos — torna esse desafio ainda maior. Este estudo busca abordar esse problema ao utilizar técnicas de análise de dados e modelagem preditiva para identificar padrões e correlações que possam contribuir para a prevenção e o manejo eficaz de doenças cardiovasculares.

Abordagem do Problema

Para abordar essa questão, utilizaremos um dataset abrangente obtido do Kaggle, que contém informações detalhadas sobre diversos fatores associados à saúde cardiovascular. O dataset inclui variáveis como idade, gênero, níveis de colesterol, pressão arterial, histórico de tabagismo, consumo de álcool, atividade física, obesidade, diabetes, histórico familiar, níveis de estresse, hábitos alimentares, entre outros. A metodologia empregada envolve a aplicação de técnicas de análise exploratória de dados (EDA), testes estatísticos e modelagem preditiva em R, com o objetivo de identificar os fatores mais relevantes para a previsão de ataques cardíacos.

Benefícios da Análise Esta análise tem o potencial de beneficiar diversos stakeholders, incluindo profissionais de saúde, gestores de políticas públicas e a população em geral. Para os profissionais de saúde, os insights gerados podem auxiliar na identificação de pacientes de alto risco e na personalização de planos de tratamento. Para os gestores de políticas públicas, os resultados podem informar estratégias de prevenção e alocação de recursos. Já para a população em geral, a conscientização sobre os fatores de risco pode levar a mudanças positivas no estilo de vida, reduzindo a incidência de doenças cardiovasculares.

Origem dos Dados

O dataset utilizado neste estudo foi obtido do Kaggle e está disponível no seguinte link: https://www.dropbox.com/scl/fi/zqio1436jkt3cexi33f26/heart_attack_predictions.csv?rlkey=acfrcxz4glws31w022mxlh73y&st=684y72g7&dl=0.

Ele contém informações detalhadas sobre diversos fatores associados à saúde cardiovascular, permitindo uma análise abrangente e multidimensional.

Pacotes Necessários

  • library(tidyverse) Para manipulação de dados e visualização
  • library(corrplot) Para visualização de matriz de correlação
  • library(ggpubr) Para gráficos estatísticos

Preparação dos Dados

Os dados inicialmente foram coletados para possibilitar a associação de fatores diversos com casos confirmados de ataques cardíacos

Precisamos converter os valores de algumas colunas para fatores e outras para numéricos para garantir que as análises ocorram com os tipos corretos.

library(tidyverse)  
library(corrplot) 
library(ggpubr)   

dados <- read.csv("heart_attack_predictions.csv")

# Converter colunas categóricas para fator
dados <- dados %>%
  mutate(across(c(Gender, Smoking_History, Alcohol_Consumption, Physical_Activity, Obesity, Diabetes, Family_History, Dietary_Habits, Heart_Attack_History, Chest_Pain, Exercise_Induced_Angina, Resting_ECG, Thalassemia, Medication_Adherence, Urbanization_Level, Access_To_Healthcare, Education_Level, Income_Level, Heart_Attack_Outcome), as.factor))

# Converter colunas numéricas (se necessário)
dados <- dados %>%
  mutate(across(c(Age, Cholesterol_Level, Blood_Pressure, Stress_Levels, Max_Heart_Rate_Achieved, HDL_Cholesterol, LDL_Cholesterol, Triglycerides, Air_Pollution_Exposure), as.numeric))

Análises exploratórias dos dados

Análises Descritivas

Por Idade

ggplot(dados, aes(x = Age)) +
  geom_histogram(binwidth = 5, fill = "blue", color = "black") +
  labs(title = "Distribuição de Idade", x = "Idade", y = "Frequência") +
  theme_minimal()

O histograma da distribuição de idade mostra que a maioria dos indivíduos no dataset está na faixa de 35 a 65 anos, com uma queda na frequência em idades mais avançadas. Isso indica que o dataset é mais representativo de adultos e idosos de meia-idade, população com maior risco de doenças cardiovasculares. A baixa representação de indivíduos abaixo dos 30 anos sugere que os resultados podem não ser generalizáveis para essa faixa etária, focando a análise principalmente em adultos e idosos.

Por Gênero

ggplot(dados, aes(x = Gender, fill = Gender)) +
  geom_bar() +
  labs(title = "Distribuição de Gênero", x = "Gênero", y = "Contagem") +
  theme_minimal()

O gráfico de distribuição de gênero mostra a contagem de indivíduos por sexo no dataset. A distribuição parece equilibrada, com uma quantidade semelhante de homens e mulheres. Isso sugere que o dataset não tem um viés significativo em relação ao gênero, permitindo uma análise mais representativa de ambos os sexos. A presença equilibrada de homens e mulheres é importante, pois doenças cardiovasculares podem afetar os gêneros de maneiras diferentes, e a análise poderá explorar possíveis variações nos fatores de risco entre eles.

Por níveis de Colesterol

ggplot(dados, aes(x = Cholesterol_Level)) +
  geom_histogram(binwidth = 10, fill = "red", color = "black") +
  labs(title = "Distribuição de Níveis de Colesterol", x = "Colesterol", y = "Frequência") +
  theme_minimal()

Indica que a maior parte da população do dataset apresenta níveis de colesterol dentro de uma faixa considerada moderada a alta. A concentração de valores nessa faixa sugere que o colesterol pode ser um fator relevante para a análise de risco de doenças cardiovasculares, mas também ressalta a necessidade de investigar como os extremos (abaixo de 150 ou acima de 300) se relacionam com o desfecho de ataques cardíacos

Análise de Correlação

# Selecionar colunas numéricas
colunas_numericas <- dados %>%
  select(Age, Cholesterol_Level, Blood_Pressure, Stress_Levels, Max_Heart_Rate_Achieved, HDL_Cholesterol, LDL_Cholesterol, Triglycerides, Air_Pollution_Exposure)

# Calcular a matriz de correlação
correlacao <- cor(colunas_numericas, use = "complete.obs")

# Visualizar a matriz de correlação
corrplot(correlacao, method = "circle", type = "upper", tl.col = "black", tl.srt = 100)

Observa-se que variáveis como colesterol, pressão arterial e triglicerídeos apresentam correlação positiva entre si, sugerindo que indivíduos com níveis elevados de um desses fatores tendem a apresentar elevações nos outros. Além disso, a frequência cardíaca máxima atingida demonstra uma correlação negativa com algumas dessas variáveis, indicando que menores valores podem estar associados a condições cardiovasculares mais frágeis. A exposição à poluição do ar também apresenta associação com fatores de risco, reforçando seu possível papel na saúde cardiovascular. Essas relações ajudam a entender os principais fatores envolvidos nos ataques cardíacos, auxiliando na identificação de indivíduos com maior predisposição a essas condições.

Análise de Fatores de Risco

Tabagismo

ggplot(dados, aes(x = Smoking_History, fill = Heart_Attack_Outcome)) +
  geom_bar(position = "fill") +
  labs(title = "Relação entre Tabagismo e Ataque Cardíaco", x = "Tabagismo", y = "Proporção") +
  theme_minimal()

As categorias de tabagismo (“Current” - fumante atual, “Former” - ex-fumante e “Never” - nunca fumou) são comparadas em relação à proporção de indivíduos que sobreviveram (“Survived”) ou faleceram (“Died”) após um ataque cardíaco. O gráfico mostra que a proporção de óbitos parece ser semelhante entre os três grupos, sugerindo que, independentemente do histórico de tabagismo, a mortalidade por ataque cardíaco se mantém relativamente constante

Diabetes

ggplot(dados, aes(x = Diabetes, fill = Heart_Attack_Outcome)) +
  geom_bar(position = "fill") +
  labs(title = "Relação entre Diabetes e Ataque Cardíaco", x = "Diabetes", y = "Proporção") +
  theme_minimal()

As categorias “Yes” (sim) e “No” (não) indicam a presença ou ausência de diabetes, e as proporções de indivíduos que sobreviveram (“Survived”) ou faleceram (“Died”) após um ataque cardíaco são comparadas. O gráfico sugere que a proporção de óbitos é semelhante entre pessoas com e sem diabetes, indicando que, isoladamente, o diabetes pode não ser um fator determinante na mortalidade após um ataque cardíaco.

Obesidade

ggplot(dados, aes(x = Obesity, fill = Heart_Attack_Outcome)) +
  geom_bar(position = "fill") +
  labs(title = "Relação entre Obesidade e Ataque Cardíaco", x = "Obesidade", y = "Proporção") +
  theme_minimal()

As categorias “Yes” (sim) e “No” (não) indicam a presença ou ausência de obesidade, enquanto as proporções de indivíduos que sobreviveram (“Survived”) ou faleceram (“Died”) após um ataque cardíaco são comparadas. Isso sugere que a obesidade, isoladamente, pode não ter um impacto determinante na mortalidade imediata após um ataque cardíaco.

Análise de Variáveis Numéricas

Idade vs. Ataque Cardíaco

ggplot(dados, aes(x = Heart_Attack_Outcome, y = Age, fill = Heart_Attack_Outcome)) +
  geom_boxplot() +
  labs(title = "Idade vs. Ataque Cardíaco", x = "Ataque Cardíaco", y = "Idade") +
  theme_minimal()

A análise demonstra que dentre os casos que ocorreram na faixa de moderada a alta de colesterol, a proporção dos casos se apresenta de forma semelhante.

Colesterol vs. Ataque Cardíaco

ggplot(dados, aes(x = Heart_Attack_Outcome, y = Cholesterol_Level, fill = Heart_Attack_Outcome)) +
  geom_boxplot() +
  labs(title = "Colesterol vs. Ataque Cardíaco", x = "Ataque Cardíaco", y = "Colesterol") +
  theme_minimal()

A análise demonstra que dentre os casos que ocorreram na faixa etária de 35 à 70 anos, uma proporção um pouco maior dos casos vieram a falecer.

Conclusão

Este estudo abordou o problema da previsão e prevenção de ataques cardíacos, uma das principais causas de mortalidade global. Ao identificar e analisar fatores de risco associados a doenças cardiovasculares, buscamos contribuir para a redução do impacto dessas condições na saúde pública.

Insights Interessantes:

A análise revelou que variáveis como colesterol, pressão arterial e triglicerídeos apresentam correlação positiva entre si, sugerindo que indivíduos com níveis elevados de um desses fatores tendem a apresentar elevações nos outros. A frequência cardíaca máxima atingida demonstrou uma correlação negativa com algumas dessas variáveis, indicando que menores valores podem estar associados a condições cardiovasculares mais frágeis. A exposição à poluição do ar também apresentou associação com fatores de risco, reforçando seu possível papel na saúde cardiovascular.

Em relação ao tabagismo, a proporção de óbitos parece ser semelhante entre fumantes atuais, ex-fumantes e não fumantes, sugerindo que o histórico de tabagismo pode não ser um fator determinante na mortalidade por ataque cardíaco. Da mesma forma, a presença de diabetes e obesidade não mostrou diferenças significativas na proporção de óbitos, indicando que, isoladamente, essas condições podem não ser determinantes na mortalidade imediata após um ataque cardíaco.

Implicações para os Potenciais Clientes:

Os insights gerados por esta análise podem ser valiosos para profissionais de saúde, gestores de políticas públicas e a população em geral. Para os profissionais de saúde, os resultados podem auxiliar na identificação de pacientes de alto risco e na personalização de planos de tratamento. Gestores de políticas públicas podem utilizar essas informações para desenvolver estratégias de prevenção mais eficazes. Para a população, a conscientização sobre os fatores de risco pode levar a mudanças positivas no estilo de vida.

Limitações e Melhorias Futuras:

Uma das limitações desta análise é a possível falta de representatividade de certas faixas etárias, como indivíduos abaixo dos 30 anos. Além disso, a ausência de dados mais detalhados sobre hábitos alimentares e histórico familiar completo pode limitar a precisão das previsões. Futuros estudos poderiam incluir uma amostra mais diversificada e variáveis adicionais, como marcadores genéticos e dados de exames mais específicos.