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.
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))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.
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.
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
# 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.
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
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.
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.
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.
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.
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.