Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Causal Discovery

A descoberta causal recupera grafos de causa e efeito a partir de dados. Como funcionam o algoritmo PC e seus sucessores, quais são suas premissas e um exemplo executável.

A descoberta causal consiste em inferir, a partir dos dados, quais variáveis causam quais efeitos, gerando um grafo direcionado em que uma seta de X para Y significa que X influencia Y diretamente. O aprendizado de máquina padrão aprende associações que bastam para a modelagem preditiva. A descoberta causal pergunta quais dessas associações se manteriam diante de uma intervenção, como mudar a configuração de uma máquina ou a programação dos semáforos. Sua saída é um conjunto de estruturas causais candidatas, muitas vezes com algumas arestas sem direção definida, que especialistas do domínio e experimentos refinam em seguida.

O que torna a estrutura causal aprendível#

Os grafos causais geralmente são grafos acíclicos direcionados (DAGs), a mesma estrutura usada por uma rede bayesiana, interpretada causalmente: cada seta representa um efeito direto. Os algoritmos de descoberta se baseiam em três pressupostos padrão. Segundo a condição de Markov causal, quando as causas diretas de uma variável são conhecidas, ela é independente de todas as variáveis que não sejam efeitos dela. A condição de fidelidade afirma que toda independência nos dados decorre da estrutura do grafo, e não de efeitos que por acaso se anulam. A suficiência causal afirma que nenhuma variável não medida causa duas variáveis medidas.

Mesmo com os três pressupostos, os dados observacionais nem sempre permitem determinar a direção das arestas. A cadeia X → Y → Z, a cadeia invertida X ← Y ← Z e a bifurcação X ← Y → Z implicam todas o mesmo padrão de independência: X e Z tornam-se independentes quando Y é conhecido, pelo que nenhum volume de dados observacionais permite distingui-las. O colisor X → Y ← Z é diferente. X e Z são independentes por si só, mas tornam-se dependentes quando Y é conhecido, uma assinatura que determina a direção de ambas as setas.

Por isso, os algoritmos retornam uma classe de equivalência de Markov: um grafo parcialmente direcionado cujas arestas orientadas têm direção certa e cujas arestas não direcionadas podem apontar para qualquer lado. Essa mesma característica explica uma fonte clássica de viés do conjunto de dados: filtrar por um colisor ou ajustá-lo cria uma dependência entre suas causas que não existe na população completa.

Algoritmos de descoberta#

Três famílias abrangem a maioria dos métodos. Algoritmos baseados em restrições, como o PC, nomeado em homenagem a Peter Spirtes e Clark Glymour, que o publicaram em 1991, começam com um grafo não direcionado totalmente conectado, removem as arestas entre variáveis consideradas condicionalmente independentes e, então, orientam os colisores. O FCI amplia essa abordagem para contextos com confundidores ocultos. Algoritmos baseados em pontuação, como a busca gulosa por equivalência (GES), procuram nos grafos a melhor pontuação, por exemplo, o critério de informação bayesiano. O NOTEARS reformula a aciclicidade como uma restrição suave, para que a busca possa ser executada por otimização contínua com descida do gradiente. Métodos funcionais, como o LiNGAM, pressupõem relações lineares com ruído não gaussiano, o que permite identificar a direção de todas as arestas, mesmo entre apenas duas variáveis.

As bibliotecas de descoberta também aceitam ordenação temporal, restrições físicas e conhecimento especializado como regras de contexto que proíbem ou exigem arestas específicas. Isso reduz o espaço de busca e orienta arestas que os dados, sozinhos, não permitem direcionar. A biblioteca de código aberto causal-learn implementa as três famílias. Este exemplo gera dados a partir de um colisor conhecido e o recupera com PC:

import numpy as np
from causallearn.search.ConstraintBased.PC import pc

rng = np.random.default_rng(0)
n = 5000

# Verdade fundamental: a chuva e um evento no estádio causam congestionamento
rain = rng.normal(size=n)
event = rng.normal(size=n)
congestion = rain + event + rng.normal(scale=0.5, size=n)

# PC testa a independência condicional para recuperar o grafo usando apenas os dados
data = np.column_stack([rain, event, congestion])
result = pc(data, alpha=0.05, node_names=["rain", "event", "congestion"], show_progress=False)
print(result.G)

A saída lista duas arestas direcionadas, rain --> congestion e event --> congestion. PC orienta as duas porque rain e event são independentes, mas tornam-se dependentes quando congestion é conhecida. Se a realidade fosse uma cadeia de rain para congestion e depois para delays, as arestas retornariam sem direção.

Onde a descoberta causal é usada#

A biologia forneceu um marco inicial. Em 2005, Karen Sachs e colegas aprenderam uma rede de sinalização de proteínas com 11 proteínas e fosfolipídios a partir de medições de células individuais, recuperando a maioria das conexões conhecidas. Os autores confirmaram uma nova ligação prevista em experimentos laboratoriais de acompanhamento. Na ciência climática, métodos de séries temporais como o PCMCI, desenvolvido por Jakob Runge e implementado no pacote Tigramite, encontram ligações causais entre variáveis climáticas, considerando defasagens e autocorrelação, o que os torna adequados para a análise de séries temporais. O ecossistema PyWhy combina ferramentas de descoberta com o DoWhy para a etapa seguinte: estimar a magnitude de um efeito depois de fixar o grafo.

A visão computacional pode fornecer as variáveis. A contagem de objetos com o Ultralytics YOLO26 contabiliza os veículos e pedestres que cruzam uma linha ou região em vídeos de trânsito. As contagens registradas por intervalo de tempo podem ser combinadas com dados meteorológicos, programações de eventos e tempos dos semáforos antes da execução de um algoritmo de descoberta.

  • Aprendizado de representações causais: Aprende as próprias variáveis causais a partir de entradas brutas, como pixels, além do grafo que as conecta. A descoberta causal parte de variáveis que já foram medidas.
  • IA explicável (XAI): Explica quais entradas influenciaram a previsão de um modelo, sem afirmar que alterar uma entrada mudaria o resultado no mundo real.
  • Engenharia de atributos: Seleciona e cria entradas que melhoram a previsão, incluindo variáveis apenas correlacionadas com o alvo. Um grafo causal identifica as variáveis cuja mudança alteraria o alvo.

Explore solutions

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina