(do) itЕсть два фундаментально разных способа отвечать на вопрос «почему?». Можно смотреть на данные как на следы и отмечать, что чаще всего встречается рядом с событием. А можно спросить жёстче: что изменится, если один элемент системы принудительно тронуть? В современной аналитике прямое наследие этого вопроса — каузально осмысленный what-if-анализ. Но пока эти два режима смешиваются, корреляция будет снова и снова переодеваться в причину.
Замахнувшись на эту экзистенциальную проблему, пришёл Перл и принёс оператор
do(X=x). Это не «оператор чего-то» в бытовом смысле, а формальная пометка: переменную X здесь не наблюдают, а навязывают системе. У узла мысленно отрезают обычные входящие причины, жёстко фиксируют значение и только потом смотрят, что станет с остальной сетью. Разница между вероятностями P(Y|X=x) и P(Y|do(X=x)) — это не две записи одного и того же, как может показаться утомлённому борьбой с блокировками читателю. Первая формула — про соседство. Вторая — про вмешательство и тот самый фундамент, без которого любой what-if-анализ превращается в тыкву.Этот сдвиг давно носит не философский, а сугубо рабочий характер сразу в нескольких дисциплинах. В биоинформатике красивые карты коэкспрессии генов ещё не отвечают на вопрос, кто в клетке действительно двигает процесс. Серьёзный разговор начинается там, где появляется вмешательство: knock-out, knock-down, CRISPRi. Поэтому обзор gene perturbation experiments хорошо ставит задачу в терминах интервенций, а работы вроде CINEMA-OT переводят анализ single-cell-экспериментов в плоскость строгого вывода об эффекте вмешательства.
Тот же язык работает в эпидемиологии, эконометрике и анализе рисков. Root Cause Analysis (RCA) здесь не исключение. Обычный postmortem слишком легко принимает последовательность событий за механизм, а первый покрасневший график получает титул корневой причины. Но если
do(retries=0) разрывает контур самодобивания системы, то retries — не декоративный симптом, а часть самого механизма. Именно поэтому CIRCA формулирует RCA не как поиск аномалий, а как задачу intervention recognition. А исследование IDI добавляет важную оговорку: counterfactual-оценки хрупки именно там, где инциденты редки и не похожи на обучающую выборку.Столкнувшись с тем, что анализ прошлых данных часто буксует, легко качнуться в другую крайность и перейти к прямым физическим тестам. Fault injection (хаос-инжиниринг, например), как и любой другой метод «тыкания системы палкой» в живой среде, кажется спасением. Но слабое место такого сугубо эмпирического подхода в том, что без строгой формальной рамки слишком легко выдать локальную эвристику за понимание механизма. Физическое вмешательство остаётся отличным способом валидации, но довольно слабым инструментом понимания. Эксперимент проверяет гипотезу и может подсказать новую, но сам по себе не заменяет модели.
Прежде чем вносить возмущения в систему, хорошо бы аналитически сформулировать вмешательство, доказать, что его эффект вообще можно идентифицировать по данным, и строго выразить
P(Y|do(X=x)). Или как сказал бы среднестатистический ситх: всё остальное — либо фольклор, либо просто очень дорогая форма любопытства.