Несомненно, рандомизированное экспериментирование (при условии, что оно проводится правильно) - самый простой способ установить причинно-следственную связь (см. Мою предыдущую статью о сборнике учебных материалов по A / B-тестированию!). Однако с практической точки зрения бывают случаи, когда экспериментирование нецелесообразно:

  • Вы имеете дело с данными ретроспективного вмешательства, для которых нет контрольной или тестовой группы, возможно, из-за высокой стоимости экспериментов.
  • Вмешательство - это достаточно большое изменение, которое нельзя показать только половине целевой аудитории (например, выпуск основных продуктов, обновление пользовательского интерфейса и т. Д.)
  • Лечение наблюдается, а не назначается (например, сравнение между курильщиками и некурящими, уровень активности в социальных сетях), иначе говоря, предвзятость выбора
  • И более …

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

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

❤️ Особая благодарность Айрис и Джо за их вдохновение и обмен знаниями, а также Мэтту за обзор. Следуйте за мной на Medium.com, чтобы вести регулярные блоги на темы, связанные с технологиями и бизнесом! 📚 😊❤️

Подход №1: OLS с смешивающей переменной

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

Теория. Скорее всего, ответ - НЕТ. В приведенном выше случае мы пытаемся измерить влияние использования новой функции на общий уровень вовлеченности пользователей (левый причинно-следственный график на графике I ниже).

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

Пример кода: Предполагая, что у вас 10 000 MAU…

## Parameter setup
total_num_user = 10000
pre_engagement_level = rnorm(total_num_user)
new_feature_usage = .6 * pre_engagement_level + rnorm(total_num_user)
post_engagement_level = .4 * pre_engagement_level + .5 * new_feature_usage + rnorm(total_num_user)
## Model without the confounder
summary(lm(post_engagement_level~new_feature_usage))
## Model with the confounder
summary(lm(post_engagement_level~new_feature_usage+pre_engagement_level))

И первая регрессия приводит к смещению в сторону увеличения оценки коэффициента из-за положительного влияния фактора, влияющего на независимую и зависимую переменные.

Когда этот подход не работает:. Теперь вы можете задаться вопросом, всегда ли будет работать контроль искажающих факторов? НЕТ. Это работает, только если выполняются следующие предположения [1]:

  • а) группы лечения и группы без лечения сопоставимы (это означает, что нет дисбаланса или отсутствия полного совпадения)
  • б) наблюдаются все переменные, которые могут одновременно влиять на зависимую переменную и переменную лечения

Мы продолжим и поговорим о других методах, которые можно использовать, когда эти предположения не верны.

Подход № 2: соответствие / согласование оценки склонности

Теория. Когда группы лечения и группы без лечения несопоставимы, то есть когда распределения или диапазоны искажающих ковариат различаются по контрольной группе и группе лечения, оценки коэффициентов смещены [1]. Методы сопоставления обеспечивают сбалансированное распределение за счет определения пар точек данных в группах лечения и без лечения, которые находятся близко друг к другу, а смешанные коварианты определяют расстояние между парой. Эти методы позволяют получить меньший набор данных, в котором каждое наблюдение лечения совпадает с одним (или несколькими) наблюдениями без лечения, которые наиболее близки к нему.

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

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

Отраслевое применение. В качестве альтернативы A / B-тестированию этот метод также применялся исследователями технологических компаний. Например, LinkedIn опубликовала статью в 2016 году, в которой рассказывается об использовании квазиэкспериментальных методов в анализе внедрения мобильных приложений. Полная переработка пользовательского интерфейса мобильного приложения, а также проблемы с инфраструктурой сделали его невозможным для A / B-тестирования. С помощью исторических данных о выпусках они доказали, как методы оценки склонности снижают предвзятость принятия и могут использоваться для измерения воздействия основных выпусков продуктов [2].

Пример кода: R Matchit Package предоставляет множество способов выбора совпадающих пар с использованием различных определений расстояния, методов сопоставления и т. д., и мы проиллюстрируем это на следующий пример. В приведенном ниже примере кода мы используем образец данных обзора BRFSS 2015 года, доступных через библиотеку Университета Вирджинии. В этой выборке 5000 записей и 7 переменных, и мы заинтересованы в понимании влияния курения на хроническую обструктивную болезнь легких (ХОБЛ) после учета ковариаций расы, возраста, пола, веса и средних привычек употребления алкоголя.

## Read in data and identify matched pairs
library(MatchIt)
sample = read.csv("http://static.lib.virginia.edu/statlab/materials/data/brfss_2015_sample.csv")
match_result = matchit(SMOKE ~ RACE + AGE + SEX + WTLBS + AVEDRNK2, 
                       data = sample,
                       method = "nearest",
                       distancce = "logit")
par(family = "sans")
plot(match_result,  type = "hist", col = "#0099cc",lty="blank")
sample_match = match.data(match_result)
## Models with imbalanced and balanced data distribution
sample$SMOKE = factor(sample$SMOKE, labels = c("No", "Yes"))
sample_match$SMOKE = factor(sample_match$SMOKE, labels = c("No", "Yes"))
mod_matching1 = glm(COPD ~ SMOKE + AGE + RACE + SEX + WTLBS + AVEDRNK2, data = sample, family = "binomial")
mod_matching2 = glm(COPD ~ SMOKE + AGE + RACE + SEX + WTLBS + AVEDRNK2, data = sample_match, family = "binomial")
summary(mod_matching1)
summary(mod_matching2)

Подход № 3: инструментальная переменная

Теория: Когда предположение b) не выполняется, то есть когда есть смешанные переменные, которые нельзя наблюдать, использование инструментальной переменной (IV) может уменьшить смещение пропущенной переменной. Переменная Z считается инструментальной переменной, если: 1) Z коррелирует с X; 2) Z не коррелирует ни с какими ковариантами (включая члены ошибок), которые влияют на Y [3]. Эти условия подразумевают, что Z влияет на Y только через свое влияние на X. Таким образом, изменения Y, вызванные Z, не смешиваются и могут использоваться для оценки лечебного эффекта.

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

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

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

Подход №4: разница в различиях

Теория. Когда нет подходящих кандидатов в IV, нам нужен альтернативный способ учета ненаблюдаемых ковариат. Метод Различия в различиях (DiD) работает путем сравнения различий после лечения контрольной и экспериментальной групп с различиями до лечения, предполагая, что зависимые переменные двух групп следовали бы аналогичной тенденции, если бы никакого вмешательства не было. В отличие от Matching / PSM, которые пытаются идентифицировать пары точек данных, которые похожи друг на друга, оценка DiD принимает во внимание любую начальную неоднородность между двумя группами.

Ключевое предположение для метода DiD состоит в том, что зависимая переменная в контрольной и экспериментальной группах следует тем же тенденциям (предположение параллельного мира ). Это не означает, что они должны иметь одинаковое среднее значение или что в течение периода до лечения вообще нет тенденции [4]. См. Пример графика слева, где контрольная и тестовая группы имеют схожие тенденции в течение периода до лечения. Если предположение верно, различия после лечения в экспериментальной группе можно разложить на разницу, аналогичную наблюдаемой в контрольной группе, и разницу, вызванную самим лечением. DID обычно реализуется как член взаимодействия между фиктивными переменными времени и группы лечения в регрессионной модели.

И есть несколько разных способов подтвердить предположение о параллельном мире. Самый простой способ - сделать визуальный осмотр. В качестве альтернативы вы можете настроить взаимодействие лечебной переменной с временными фиктивными переменными, чтобы увидеть, является ли разница в различиях между двумя группами незначительной в течение периода до лечения [5].

Отраслевое применение. Подобно сопоставлению показателей склонности, этот метод предпочитают технические компании, которые хотят изучать поведение пользователей в неэкспериментальных условиях. Например, Facebook в своей статье 2016 года применяет подход DiD для изучения того, как меняется уровень вовлеченности участников до и после публикации в Facebook. Они обнаружили, что после публикации контента люди внутренне мотивированы чаще посещать сайт… [6]. Это еще один хороший пример, когда поведение публикации или ее отсутствия находится вне контроля исследователей и может быть проанализировано только с помощью методов причинного вывода.

Пример кода: Здесь мы рассмотрим, как использовать DiD для оценки воздействия EITC (налогового кредита на заработанный доход) 1993 года на уровень занятости женщин, имеющих хотя бы одного ребенка. . Благодарим [7] и [8] за исходный анализ, а приведенный ниже код - это просто упрощенная версия для демонстрации того, как работает DiD!

## Read in data and create dummy variables
library(dplyr)
library(ggplot2)
data_file = '../did.dat'
if (!file.exists(data_file)) {
    download.file(url = 'https://drive.google.com/uc?authuser=0&id=0B0iAUHM7ljQ1cUZvRWxjUmpfVXM&export=download', destfile = data_file)}
df = haven::read_dta(data_file)
df = df %>%
    mutate(time_dummy = ifelse(year >= 1994, 1, 0), 
           if_treatment = ifelse(children >= 1, 1, 0))
## Visualize the trend to validate the parallel world assumption
ggplot(df, aes(year, work, color = as.factor(if_treatment))) +
    stat_summary(geom = 'line') +
    geom_vline(xintercept = 1994)
## Two ways to estimate the DiD effect: shift in means & regression
var1 = mean( (df %>% filter(time_dummy==0 & if_treatment==0 ))$work)
var2 = mean( (df %>% filter(time_dummy==0 & if_treatment==1 ))$work)
var3 = mean( (df %>% filter(time_dummy==1 & if_treatment==0 ))$work)
var4 = mean( (df %>% filter(time_dummy==1 & if_treatment==1 ))$work)
(var4 - var3) - (var2 - var1)
mod_did1 = lm(work~time_dummy*if_treatment, data = df)
summary(mod_did1)

Подход # 5: байесовская модель

Несмотря на то, что DiD является популярным подходом к каузальному выводу, у него есть некоторые ограничения:

  • а) предполагается отсутствие временной эволюции воздействия; вместо этого мы просто анализируем изменения до и после
  • б) предполагается, что наблюдения независимы и одинаково распределены, поэтому не подходят для последовательно коррелированных точек данных.

Недавнее направление исследований, основанное на моделях пространства состояний, обобщает DiD для более гибких вариантов использования за счет использования полностью байесовской оценки временного ряда для эффекта и усреднения модели для наилучшего синтетического контроля [9]. Публикация Google и соответствующий пакет R CausalImpact демонстрируют как теорию, лежащую в основе, так и реализацию таких моделей пространства состояний, и рекомендуются для дальнейшего чтения.



Использованная литература:

[1] Эндрю Гельман и Дженнифер Хилл. « Анализ данных с использованием регрессии и многоуровневых / иерархических моделей » (2007 г.)

[2] Оценка мобильных приложений с помощью A / B- и квази-A / B-тестов. Https://dl.acm.org/citation.cfm?id=2939703

[3] Перл Дж. (2000). Причинно-следственная связь: модели, рассуждения и выводы. Нью-Йорк: Издательство Кембриджского университета.

[4] Лекционные заметки: Различие в различии, эмпирический метод http://finance.wharton.upenn.edu/~mrrobert/resources/Teaching/CorpFinPhD/Dif-In-Dif-Slides.pdf

[5] https://stats.stackexchange.com/questions/160359/difference-in-difference-method-how-to-test-for-assuming-of-common-trend-betw

[6] Изменения в вовлеченности до и после публикации в Facebook https://research.fb.com/publications/changes-in-engagement-before-and-after-posting-to-facebook/

[7] https://thetarzan.wordpress.com/2011/06/20/differences-in-differences-estimation-in-r-and-stata/

[8] https://dhicks.github.io/2018-10-10-did/

[9] Выведение причинно-следственных связей с использованием байесовских структурных моделей временных рядов https://research.google/pubs/pub41854/