Causal Discovery
Khám phá quan hệ nhân quả khôi phục các đồ thị nhân quả từ dữ liệu. Cách thuật toán PC và các thuật toán kế thừa hoạt động, những giả định của chúng và một ví dụ có thể chạy.
Khám phá quan hệ nhân quả là nhiệm vụ suy luận từ dữ liệu xem biến nào gây ra biến nào, tạo ra đồ thị có hướng trong đó mũi tên từ X đến Y nghĩa là X ảnh hưởng trực tiếp đến Y. Machine learning tiêu chuẩn học các mối liên hệ đủ tốt cho mô hình hóa dự đoán. Khám phá quan hệ nhân quả đặt câu hỏi mối liên hệ nào vẫn giữ nguyên khi có can thiệp, chẳng hạn thay đổi cài đặt máy hoặc lịch đèn tín hiệu giao thông. Kết quả là tập hợp các cấu trúc nhân quả tiềm năng, thường có một số cạnh chưa định hướng, để chuyên gia miền và các thí nghiệm tiếp tục hoàn thiện.
Điều kiện để học được cấu trúc nhân quả#
Đồ thị nhân quả thường là đồ thị có hướng không chu trình (DAG), cùng cấu trúc mà mạng Bayes sử dụng, nhưng được diễn giải theo quan hệ nhân quả: mỗi mũi tên biểu thị một tác động trực tiếp. Các thuật toán khám phá dựa trên ba giả định tiêu chuẩn. Theo điều kiện Markov nhân quả, khi đã biết các nguyên nhân trực tiếp của một biến, biến đó độc lập với mọi biến không phải là hệ quả của nó. Giả định trung thực cho rằng mọi quan hệ độc lập trong dữ liệu đều bắt nguồn từ cấu trúc đồ thị, chứ không phải do các tác động tình cờ triệt tiêu lẫn nhau. Tính đầy đủ nhân quả giả định rằng không có biến chưa đo lường nào gây ra hai biến đã đo lường.
Ngay cả khi đáp ứng cả ba giả định, dữ liệu quan sát không phải lúc nào cũng cho biết chiều của cạnh. Chuỗi X → Y → Z, chuỗi đảo chiều X ← Y ← Z và cấu trúc phân nhánh X ← Y → Z đều hàm ý cùng một dạng độc lập: X và Z trở nên độc lập khi đã biết Y; do đó, không lượng dữ liệu quan sát nào có thể phân biệt chúng. Cấu trúc collider X → Y ← Z thì khác. X và Z vốn độc lập, nhưng trở nên phụ thuộc khi đã biết Y; đây là dấu hiệu xác định hướng của cả hai mũi tên.
Do đó, các thuật toán trả về một lớp tương đương Markov: đồ thị định hướng một phần, trong đó các cạnh đã định hướng là chắc chắn còn các cạnh không định hướng có thể quay theo cả hai chiều. Cùng đặc điểm này giải thích một nguồn kinh điển gây ra thiên lệch bộ dữ liệu: lọc hoặc điều chỉnh theo một collider tạo ra sự phụ thuộc giữa các nguyên nhân của collider, dù sự phụ thuộc đó không tồn tại trong toàn bộ quần thể.
Các thuật toán khám phá#
Ba nhóm phương pháp bao quát phần lớn thuật toán. Các thuật toán dựa trên ràng buộc như PC—được đặt theo tên Peter Spirtes và Clark Glymour, những người công bố thuật toán này năm 1991—bắt đầu từ đồ thị vô hướng liên thông đầy đủ, xóa các cạnh giữa những biến được kiểm định là độc lập có điều kiện, rồi định hướng các collider. FCI mở rộng cách tiếp cận này sang các bối cảnh có yếu tố gây nhiễu ẩn. Các thuật toán dựa trên điểm số như tìm kiếm tương đương tham lam (GES) tìm kiếm đồ thị có điểm số tốt nhất, chẳng hạn theo tiêu chí thông tin Bayes; NOTEARS diễn đạt tính không chu trình thành một ràng buộc trơn để quá trình tìm kiếm có thể chạy như tối ưu hóa liên tục bằng gradient descent. Các phương pháp hàm như LiNGAM giả định quan hệ tuyến tính với nhiễu không Gaussian, nhờ vậy có thể xác định hướng của mọi cạnh, kể cả giữa chỉ hai biến.
Các thư viện khám phá cũng chấp nhận thứ tự thời gian, ràng buộc vật lý và kiến thức chuyên gia làm quy tắc nền để cấm hoặc yêu cầu những cạnh cụ thể; nhờ đó, không gian tìm kiếm thu hẹp và các cạnh mà chỉ dữ liệu không thể định hướng sẽ được xác định. Thư viện mã nguồn mở causal-learn triển khai cả ba nhóm phương pháp. Ví dụ này tạo dữ liệu từ một collider đã biết rồi khôi phục collider đó bằng PC:
import numpy as np
from causallearn.search.ConstraintBased.PC import pc
rng = np.random.default_rng(0)
n = 5000
# Sự thật cơ sở: mưa và một sự kiện tại sân vận động đều gây ùn tắc
rain = rng.normal(size=n)
event = rng.normal(size=n)
congestion = rain + event + rng.normal(scale=0.5, size=n)
# PC kiểm tra tính độc lập có điều kiện để khôi phục đồ thị chỉ từ dữ liệu
data = np.column_stack([rain, event, congestion])
result = pc(data, alpha=0.05, node_names=["rain", "event", "congestion"], show_progress=False)
print(result.G)Kết quả liệt kê hai cạnh có hướng: rain --> congestion và event --> congestion. PC định hướng cả hai vì rain và event độc lập nhưng trở nên phụ thuộc khi đã biết congestion. Nếu cấu trúc thực là một chuỗi từ rain đến congestion rồi đến delays, các cạnh sẽ được trả về dưới dạng vô hướng.
Ứng dụng của khám phá nhân quả#
Sinh học cung cấp một cột mốc ban đầu. Năm 2005, Karen Sachs và các cộng sự học được mạng lưới tín hiệu protein gồm 11 protein và phospholipid từ các phép đo đơn bào, khôi phục phần lớn các kết nối đã biết; các tác giả xác nhận một liên kết mới được dự đoán bằng thí nghiệm tiếp theo trong phòng lab. Trong khoa học khí hậu, các phương pháp chuỗi thời gian như PCMCI, do Jakob Runge phát triển và triển khai trong gói Tigramite, tìm các liên kết nhân quả giữa những biến khí hậu đồng thời xử lý độ trễ và tự tương quan, rất phù hợp với phân tích chuỗi thời gian. Hệ sinh thái PyWhy kết hợp công cụ khám phá với DoWhy cho bước tiếp theo: ước tính độ lớn của tác động sau khi cố định đồ thị.
Thị giác máy tính có thể cung cấp các biến. Đếm đối tượng bằng Ultralytics YOLO26 thống kê phương tiện và người đi bộ đi qua một đường hoặc vùng trong video giao thông; sau đó, có thể kết hợp số lượng ghi nhận theo từng khoảng thời gian với thời tiết, lịch sự kiện và thời điểm đổi đèn trước khi chạy thuật toán khám phá.
Khám phá quan hệ nhân quả và các thuật ngữ liên quan#
- Học biểu diễn nhân quả: Học chính các biến nhân quả từ đầu vào thô như pixel, cùng với đồ thị quan hệ giữa chúng. Khám phá quan hệ nhân quả bắt đầu từ các biến đã được đo lường.
- AI có thể giải thích (XAI): Giải thích đầu vào nào chi phối dự đoán của model, nhưng không khẳng định rằng thay đổi đầu vào sẽ làm thay đổi kết quả trong thế giới thực.
- Feature engineering: Chọn và tạo đầu vào nhằm cải thiện khả năng dự đoán, bao gồm cả những biến chỉ tương quan với mục tiêu. Đồ thị nhân quả xác định các biến mà nếu thay đổi sẽ làm thay đổi mục tiêu.










