Skip to content

saneagent/app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Este notebook apresenta uma análise avançada de intervenções para ansiedade, utilizando algoritmos de descoberta causal, especificamente o algoritmo FCI (Fast Causal Inference) da biblioteca causallearn. O objetivo principal é identificar relações causais entre estratégias de intervenção, níveis de ansiedade pré-intervenção e resultados pós-intervenção, proporcionando uma compreensão mais profunda sobre a eficácia das intervenções.

Fluxo de Trabalho

  1. Carregamento e Validação de Dados: Carrega dados sintéticos de intervenções de ansiedade, validando sua estrutura, conteúdo e tipos de dados. Trata erros potenciais de forma elegante.

  2. Pré-processamento de Dados: Realiza codificação one-hot da coluna de grupos e escala características numéricas.

  3. Descoberta de Estrutura Causal: Aplica o algoritmo FCI da biblioteca causallearn para inferir o grafo causal, gerenciando erros potenciais e fornecendo saída informativa.

  4. Análise de Valores SHAP: Quantifica a importância das características na previsão da ansiedade pós-intervenção.

  5. Visualização de Dados: Gera gráficos KDE, Violin, Coordenadas Paralelas e Hipergrafos.

  6. Resumo Estatístico: Executa análise bootstrap e gera estatísticas resumidas.

  7. Relatório de Insights via LLM: Sintetiza descobertas usando Grok, Claude e Grok-Enhanced para explicabilidade, gerenciando potenciais erros de API de LLM (simulados no notebook).

Requisitos

O notebook requer as seguintes bibliotecas:

  • causal-learn
  • shap
  • transformers
  • plotly
  • pandas
  • matplotlib
  • seaborn
  • networkx
  • scikit-learn
  • scipy
  • numpy

Estrutura de Funções

  • create_output_directory: Cria diretório de saída para armazenar resultados
  • load_data_from_synthetic_string: Carrega dados de uma string CSV
  • validate_dataframe: Verifica a validade do DataFrame quanto a colunas, tipos de dados e valores
  • analyze_text_with_llm: Função placeholder para análise LLM (simulada nesta versão)
  • scale_data: Escalona dados usando MinMaxScaler
  • discover_causal_structure: Descobre estrutura causal usando algoritmo FCI
  • calculate_shap_values: Calcula e visualiza valores SHAP
  • create_kde_plot: Cria gráfico de estimativa de densidade kernel
  • create_violin_plot: Cria gráfico de violino
  • create_parallel_coordinates_plot: Cria gráfico de coordenadas paralelas
  • visualize_hypergraph: Visualiza hipergrafo das relações
  • perform_bootstrap: Realiza análise bootstrap
  • save_summary: Salva estatísticas resumidas
  • generate_insights_report: Gera relatório combinando insights de diferentes LLMs

Dados

O notebook utiliza um conjunto de dados sintético embutido no código, representando participantes em diferentes grupos de intervenção (Grupo A, Grupo B e Controle) com medidas de ansiedade pré e pós-intervenção.

Saídas

As saídas são salvas no diretório especificado e incluem:

  • Gráfico causal em formato PNG
  • Gráficos SHAP, KDE, violino, coordenadas paralelas e hipergrafo
  • Estatísticas resumidas em formato texto
  • Relatório de insights combinando análises de diferentes LLMs

Uso do Algoritmo FCI

O notebook utiliza o algoritmo FCI para descoberta causal, que é especialmente útil quando existem variáveis latentes não observadas. A implementação requer codificação adequada de variáveis categóricas antes da descoberta causal.

Simulação de LLMs

Para fins de demonstração, o notebook simula chamadas de API a modelos LLM (Grok, Claude e Grok-Enhanced) para gerar insights e interpretações dos resultados. Em um ambiente de produção, essas chamadas seriam substituídas por integrações reais com as respectivas APIs.

Visualizações Aprimoradas

O notebook utiliza uma paleta de cores neon para tornar as visualizações mais distintas e claras, com ênfase no contraste em fundos escuros para melhor legibilidade.

Considerações de Segurança

As chaves de API são representadas como placeholders e deveriam ser gerenciadas de forma segura em um ambiente de produção, preferencialmente através de variáveis de ambiente ou serviços de gestão de segredos.

Autor

Hélio Craveiro Pessoa Júnior

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •