Литературный обзор

Что такое причинно-следственный вывод?

Причинный вывод — это процесс ответов на вопросы типа «почему». это означает определение причин, по которым переменная существует или каким-то образом манипулируется. Эта связь намного сильнее, чем корреляция. Корреляции — это просто коэволюция переменных в течение длительного периода времени. Но в случае причинности одной коэволюции недостаточно.

Возьмем следующий пример: школа хочет повысить оценки своих учеников на экзаменах. А поскольку мы живем в век технологий, планшетным компьютером хотят обеспечить каждого школьника. Теперь, просто взглянув на оценки учеников с планшетами и без них, мы можем увидеть увеличение. Но это не значит, что это вызвано таблетками, которые дали ученику.

Есть еще одна переменная, которую мы здесь не рассматриваем. И это означает, что школы, которые могут позволить себе купить планшет каждому из своих учеников, достаточно сильны в финансовом отношении, чтобы обеспечить все необходимое оборудование и нанять лучших учителей. Это называется смешанной переменной. Третья переменная, влияющая на первые две переменные, — оценки учащихся и наличие у них планшетов. Для того, чтобы сделать этот эксперимент законным, мы должны сохранить это и все смешанные переменные постоянными.

Методологии

Вообще говоря, мы можем классифицировать методологии, связанные с причинно-следственными выводами, на три категории:

  • Эксперимент/Полевые исследования/Рандомизированные контролируемые испытания: Активно разделите испытуемых на контрольную и лечебную группы случайным образом, чтобы оценить причинно-следственную связь между лечением и интересующим исходом. Случайность является ключом к обеспечению надежных результатов.
  • Квазиэксперимент: причинно-следственный вывод на основе данных наблюдений. Поскольку в данных есть преднамеренная или непреднамеренная случайность, исследователям необходимо тщательно выбирать методологии с конкретными предположениями.
  • Естественный эксперимент: эмпирические исследования, которые подвергают испытуемых экспериментальной и контрольной группам с использованием естественных событий, таких как розыгрыш лотереи, рождение месяца, иммиграционное законодательство и т. д. Поскольку случайность в основном исходит от естественных событий, которые уже произошло, исследователи могут анализировать причинно-следственную связь с данными наблюдений.

Обзор источника данных и форматов

Предоставленные данные получены от исследователя диагностики и прогнозирования рака молочной железы с помощью линейного программирования. Я скачал набор данных с Kaggle. Характеристики в столбцах вычисляются на основе оцифрованного изображения тонкоигольной аспирации (ТАБ) массы молочной железы. Они описывают характеристики ядер клеток, присутствующих на изображении.

Информация об атрибутах:

1. Идентификационный номер

2. Диагноз (М = злокачественный, В = доброкачественный)

Для каждого клеточного ядра вычисляются десять вещественных признаков:

а. радиус (среднее расстояние от центра до точек на периметре)

б. текстура (стандартное отклонение значений шкалы серого)

в. периметр

д. область

е. гладкость (локальное изменение длины радиуса)

ф. компактность (периметр²/площадь — 1,0)

г. вогнутость (выраженность вогнутых участков контура)

час вогнутые точки (количество вогнутых частей контура)

я. симметрия

Дж. фрактальная размерность («приближение береговой линии» — 1)

Среднее значение, стандартная ошибка и «наихудшее» или наибольшее (среднее значение трех самых больших значений) этих признаков были рассчитаны для каждого изображения, в результате чего было получено 30 признаков. Например, поле 3 — это средний радиус, поле 13 — юго-восточный радиус, поле 23 — наихудший радиус. Все значения признаков записываются с четырьмя значащими цифрами.

Данные имели столбец с нулевыми значениями. У него также есть столбец идентификатора, который не дает ценной информации для решения проблемы. По этой причине я удалил эти две колонки. После этого в данных не было нулевых значений. Следующее, что я сделал, это посмотрел на распределение диагноза в наборе данных.

Затем был двумерный и многомерный анализ различных переменных. Для двумерного анализа я использовал парные графики. Но, поскольку количество столбцов было слишком большим, мне пришлось создавать графики группами. Для многофакторного анализа я рассчитал корреляцию переменных.

Но поскольку нас не интересует, какая переменная с какой коррелирует, я удалил по одной для каждой пары коррелирующих переменных, у которых индекс корреляции был больше 90. Еще одна причина сделать это — уменьшить количество столбцов для вычислительной эффективности. Кроме того, сохраняя одну из коррелированных переменных, я гарантирую, что не потеряю много информации.

Это тепловая карта корреляции для оставшихся переменных.

До сих пор я удалил столбцы, которые не вносят большого вклада в анализ, и у меня осталось 16 столбцов из исходных 32. С этого момента я буду использовать эту версию набора данных.

Методы, используемые для выполнения причинно-следственного вывода

Общие рамки для причинно-следственных выводов включают причинно-следственную модель (компонент-причина), структурно-причинную модель Перла (причинно-следственная диаграмма + вычисление), моделирование структурными уравнениями и причинно-следственную модель Рубина (потенциальный результат), которые часто используются в таких областях, как как социальные науки и эпидемиология.

Причинно-следственная модель используется в эпидемиологии для выяснения причин различных заболеваний. Как следует из названия, он использует круговые диаграммы. Каждый кусок пирога будет представлять собой различные причины, способствующие событию или теоретическому причинному механизму. Это называется достаточной причиной. Эти срезы состоят из составляющих факторов, также известных как составные причины. Компонентная причина, появляющаяся на каждом круге, называется необходимой причиной, поскольку без нее не может произойти результат.

Структурная причинно-следственная модель Перла использует причинно-следственную диаграмму для визуализации причинно-следственных связей. Эта диаграмма представляет собой направленный ациклический граф, вершинами которого являются события (причины/следствия), а их причинно-следственные связи изображаются ребрами с направлениями. Этот график можно сначала построить, используя знания в области обсуждаемых явлений. Существуют также алгоритмы построения диаграмм из имеющихся данных.

В этом проекте я использовал причинно-следственный график, чтобы визуализировать причинно-следственную связь между указанными выше переменными в данных. Я использовал библиотеку Causalnex, чтобы изучить структуру графа по данным. Если бы можно было найти эксперта в этом вопросе, я мог бы построить график вручную, основываясь на мнении экспертов. Но так как его пока нет, я сгенерировал его на основе данных.

Сначала я разделил данные на набор для обучения и тестирования. Затем я использовал версии обучающего набора, чтобы изучить структуру причинно-следственного графа. Я начал со всех столбцов, чтобы получить базовый график. Затем я использовал срезы обучающих данных, чтобы проверить стабильность базового графика. Идея заключалась в том, чтобы использовать постепенно увеличивающиеся порции тренировочных данных, затем строить график с использованием порций и, наконец, проверять его сходство с базовым графиком. Это рассчитывается как индекс Жаккара или пересечение по объединению (IoU) ребер графа. Ниже приведен базовый причинно-следственный график.

Размеры порций, которые я использовал, были 40% и 70%. И при расчете IoU между каждым я получил следующее.

Приведенные выше значения не так хороши. Мое мнение, что столбцов слишком много. Итак, следующий шаг — оставить только те столбцы, которые имели прямое отношение к столбцу «диагноз» во всех трех причинно-следственных диаграммах, показанных ниже.

Графики, сгенерированные только с указанными выше столбцами, были более четкими, и у них было лучшее значение IoU между собой. Но есть еще возможности для улучшения. Ниже приведен новый базовый уровень, созданный с использованием приведенных выше столбцов.

Следующим шагом было обучение модели байесовской сети с использованием этих графиков. Но перед этим я провел дискритизацию своих колонок с помощью автоматического дискритизатора, доступного в библиотеке causalnex. Это автоматически создает ячейки, в которые попадает каждое значение в столбце, и возвращает только индекс ячейки. Для лучшего объяснения читайте этот блог.

После обучения байесовских моделей на этих новых графиках меньшего размера я оценил их производительность на тестовом наборе данных, созданном ранее. Метрические результаты были очень близки. Это подтверждает наш предыдущий тезис о стабильности графиков.

Заключение

Этот проект был моим первым знакомством с миром причинности. И поэтому у меня могут быть не все концепции. Не стесняйтесь, напишите мне комментарий о чем-нибудь, что не ясно. Я буду обновлять блог, если мое понимание изменится. Весь код вы можете найти в моем github.