Este notebook implementa uma abordagem de análise de mediação causal para entender os mecanismos pelos quais intervenções afetam os níveis de ansiedade pós-intervenção. Utilizando a estrutura MoE (Mixture of Experts), o notebook examina especificamente o papel mediador da ansiedade pré-intervenção na relação entre a atribuição de grupo e os resultados de ansiedade.
O notebook segue um fluxo de trabalho abrangente para análise de dados de intervenção para ansiedade:
-
Carregamento e Validação de Dados: Carrega dados sintéticos de intervenção para ansiedade, valida sua estrutura, conteúdo e tipos de dados.
-
Pré-processamento de Dados: Realiza codificação one-hot da coluna de grupo e escala características numéricas. Renomeia colunas para compatibilidade com a biblioteca statsmodels.
-
Análise de Mediação Causal: Utiliza statsmodels para realizar análise de mediação causal, estimando efeitos diretos e indiretos da intervenção.
-
Análise de Valores SHAP: Quantifica a importância das características no contexto da mediação, ajudando a compreender as contribuições relativas das variáveis.
-
Visualização de Dados: Gera gráficos KDE, Violin, Coordenadas Paralelas e Hipergrafos para representar visualmente os padrões nos dados.
-
Resumo Estatístico: Realiza análise bootstrap e gera estatísticas resumidas para avaliar a confiabilidade dos resultados.
-
Relatório de Insights com LLM: Sintetiza descobertas usando Grok, Claude e Grok-Enhanced, enfatizando a análise de mediação.
O notebook requer as seguintes bibliotecas Python:
- pandas
- matplotlib
- seaborn
- networkx
- scikit-learn
- plotly
- scipy
- statsmodels
- shap
A instalação pode ser realizada com:
!pip install pandas matplotlib seaborn networkx scikit-learn plotly scipy statsmodels shap
- Define ambiente (Colab ou local)
- Estabelece caminhos de saída
- Define colunas importantes (IDs de participantes, grupos, medidas de ansiedade)
- Configurações de modelos LLM
- Parâmetros visuais
O notebook contém várias funções auxiliares organizadas por categoria:
Gerenciamento de Dados:
create_output_directory
: Cria diretório de saídaload_data_from_synthetic_string
: Carrega dados de uma string CSVvalidate_dataframe
: Valida a estrutura e conteúdo do DataFramepreprocess_data
: Pré-processa dados para análise
Análise Causal:
perform_causal_mediation_analysis
: Executa análise de mediação causalcalculate_shap_values
: Calcula e visualiza valores SHAP
Visualização:
create_kde_plot
: Cria gráfico de densidade kernelcreate_violin_plot
: Cria gráfico violin por grupocreate_parallel_coordinates_plot
: Cria gráfico de coordenadas paralelasvisualize_hypergraph
: Visualiza hipergrafo de relações entre participantes
Análise Estatística:
perform_bootstrap
: Realiza análise bootstrapsave_summary
: Salva estatísticas resumidas
Integração com LLM:
analyze_text_with_llm
: Analisa texto com modelos de linguagem grandesgenerate_insights_report
: Gera relatório de insights
O script principal segue um fluxo lógico:
- Cria diretório de saída
- Carrega e valida dados sintéticos
- Pré-processa dados para análise
- Realiza análise de mediação causal
- Executa análise SHAP
- Cria visualizações
- Realiza análise bootstrap
- Salva estatísticas resumidas
- Gera relatório de insights usando LLMs
O notebook utiliza um conjunto de dados sintético incorporado no código, que contém:
- IDs de participantes
- Atribuições de grupo (Grupo A, Grupo B, Controle)
- Níveis de ansiedade pré-intervenção (0-10)
- Níveis de ansiedade pós-intervenção (0-10)
O notebook gera várias saídas no diretório especificado:
- Resultados da análise de mediação causal
- Gráfico resumo SHAP
- Visualizações (KDE, Violin, Coordenadas Paralelas, Hipergrafo)
- Estatísticas resumidas
- Relatório de insights integrado
O notebook está configurado para ser executado diretamente, com parâmetros e dados predefinidos. Para uso personalizado, substitua o conjunto de dados sintético por dados reais e ajuste os parâmetros conforme necessário.
Hélio Craveiro Pessoa Júnior