- Вопрос или проблема
- Разница между каузальной инверсией (CI) и анализом чувствительности (SA).
- Ручное против автоматического построения графа
- Рекомендуемая литература
- Ссылки
- Ответ или решение
- Различия между причинной инференцией и анализом чувствительности
- Ручное против автоматического построения графа
- Возможности и рекомендации
- Рекомендации по чтению
Вопрос или проблема
Недавно я открыл для себя концепцию “каузальной инверсии” и пытаюсь понять, правильно ли я ухватил ее суть. Если я правильно понимаю, это связано с поиском факторов, влияющих на результат, при этом мы можем количественно оценить важность каждой переменной. В этом смысле, чем это отличается от анализа чувствительности?
Есть еще один момент, который я не смог полностью понять на примерах, которые я видел. С инструментом DoWhy в Python, похоже, возможно построить граф отношений между данными. Нужно ли нам самим задавать структуру графа, или это алгоритм, который определяет ее автоматически?
Предполагая, что алгоритм автоматически определяет граф, можем ли мы использовать этот граф в качестве руководства для построения каскадной модели машинного обучения?
Спасибо за акцент на этом.
Ваш пост содержит 2 вопроса, поэтому я постараюсь ответить на оба:
Разница между каузальной инверсией (CI) и анализом чувствительности (SA).
Анализ чувствительности (SA) можно описать следующим образом (Наик & Киран, 2021):
“популярный подход к выбору признаков, используемый для идентификации важных признаков в наборе данных. В анализе чувствительности каждый входной признак изменяется поочередно, и рассматривается реакция модели машинного обучения для определения ранга признака.”
Это определение показывает, что SA предоставляет вам ранжированный список важных признаков в ваших данных, что дает хорошее представление о том, какие признаки использовать / на что сосредоточиться (это также можно сделать после инженерии признаков / преобразований, чтобы проверить, будут ли они полезны).
С другой стороны, цель каузальной инверсии (CI) требует от вас идентификации каузального графа из ваших данных, который затем можно использовать в вашей модели для A) прогнозирования и B) запроса модели для получения инсайтов, которые традиционные методы машинного обучения не могут предоставить, таких как интервенции.
Этот каузальный граф, который вам нужно построить, объясняет причины и следствия между признаками и целевой переменной, а также между самими признаками. Например, предположим, что у нас есть 2 признака X и Z и целевая переменная Y. Это показывает, что X непосредственно влияет на целевую переменную, но также косвенно влияет на целевую переменную через признак Z. Именно такая информация принимается во внимание CI, чего SA не делает.
Ручное против автоматического построения графа
Вы можете делать как ручное, так и автоматическое построение графа или сочетание обоих!
Ручное построение графа предполагает, что у вас достаточно знаний о ваших данных / области, чтобы создать каузальный граф самостоятельно (какие признаки влияют друг на друга и какие влияют на целевую переменную + отношение этого влияния, например, направление отношения и тип). Цель состоит в том, чтобы в конечном итоге получить DAG (Ориентированный ациклический граф) без циклов между вашими признаками и их связями.
Однако не всегда есть такие знания под рукой, поэтому вы можете использовать автоматическое построение графа, чтобы начать. Чтобы уточнить пространство поиска, вы можете провести анализ чувствительности, чтобы выделить самые важные признаки и сначала сосредоточиться на них для построения своего каузального графа.
Выходные данные алгоритмов автоматического построения графов редко бывают идеальными, поэтому здесь и возникает сочетание обоих методов: вы вручную исправляете автоматически созданный граф, используя свои знания о данных, что позволит вам корректировать отношения между признаками (исправлять направление или взаимосвязь между ними). А в конце процесса, надеюсь, у вас будет DAG, который вы сможете передать своей модели вместе с данными!
Рекомендуемая литература
Я рекомендую прочитать следующее:
-
“Книга Почему” Джудеи Перла для введения в каузальную инверсию
-
White Papers от causaLens для некоторых реальных кейсов и более продвинутых концепций из Knowledge Hub causaLens.
Надеюсь, это поможет.
Ссылки
Наик, Д.Л., Кирен, Р. Новый метод выбора признаков на основе чувствительности. J Big Data 8, 128 (2021). https://doi.org/10.1186/s40537-021-00515-w
Ответ или решение
Чтобы более полно ответить на ваш вопрос о различиях между причинной инференцией (CI) и анализом чувствительности (SA) в контексте создания точных предсказаний с использованием машинного обучения, а также разобраться в построении графов взаимосвязей, давайте рассмотрим каждую из этих концепций более подробно.
Различия между причинной инференцией и анализом чувствительности
Анализ чувствительности (SA) можно описать как метод выбора признаков, который используется для определения значимости различных признаков в наборе данных. В рамках SA каждый входной признак изменяется по одному разу, и затем исследуется, как это изменение влияет на результат модели машинного обучения. Это позволяет получить ранговый список важных признаков, что дает хорошие представления о том, на что стоит обратить внимание при построении модели.
С другой стороны, цель причинной инференции заключается в том, чтобы выявить причинно-следственные связи между переменными. CI требует создания причинного графа из ваших данных, который может быть использован для A) прогнозирования и B) запросов к модели на получение инсайтов, таких как стратегии вмешательства. Причинный граф иллюстрирует, как одни переменные влияют на другие и на результирующую переменную. Например, если у нас есть два признака X и Z, которые влияют на целевую переменную Y, CI позволяет выявлять как прямые, так и косвенные влияния.
Таким образом, в то время как SA помогает определить, какие признаки наиболее важны для модели, CI предоставляет более глубокое понимание взаимозависимостей и эффектов, что может быть крайне полезным при принятии решений на основе модели.
Ручное против автоматического построения графа
Что касается построения графа взаимосвязей, вы можете использовать как ручные, так и автоматические методы, либо их комбинацию. Ручное построение графа подразумевает, что у вас есть достаточно знаний о вашем наборе данных и домене для того, чтобы создать причинный граф самостоятельно, определяя, какие признаки влияют друг на друга и на целевую переменную, а также направление и тип этих влияний. В результате вы должны получить ориентированный ациклический граф (DAG), в котором нет циклов.
Тем не менее, не всегда возможно собрать необходимые знания для создания графа, поэтому вы можете начать с автоматического построения графа. Для упрощения поиска полезно выполнить анализ чувствительности, чтобы выделить наиболее важные признаки и сосредоточиться на них при первом построении графа. Вывод автоматического построения графов редко бывает идеальным, и здесь может пригодиться комбинация методов: вручную корректируя автоматический граф, основываясь на уже имеющихся знаниях о данных.
Возможности и рекомендации
Граф взаимосвязей, полученный в результате этих методов, можно использовать для создания каскадной модели машинного обучения, где вы можете последовательно применять различные модели, основываясь на выявленных взаимосвязях и прямых/косвенных влияниях. Это позволяет вам не только улучшить точность прогнозов, но и получать более полезную интерпретацию результатов.
Рекомендации по чтению
Для более глубокого понимания причинной инференции я рекомендую ознакомиться с следующими источниками:
- “Книга о причинах” (The Book of Why) Джудеа Перла — вводное пособие по причинной инференции.
- CausaLens White Papers — реальные кейсы и более продвинутые концепции.
Я надеюсь, что этот ответ проясняет разницу между причинной инференцией и анализом чувствительности, а также дает представление о том, как построить граф взаимосвязей для использования в моделях машинного обучения.