Построение функции плотности оценки склонности перед сопоставлением

Я выполняю оценку diff-in-diff и использую пакет MatchIt для сопоставления моей группы лечения и контрольной группы по их расстоянию до определенного места (сопоставление ближайшего соседа, модель logit, калибр = 0,25).

С фактическим соответствием все в порядке, однако я наткнулся на такой сюжет в статье, которую прочитал:

Функции плотности до и после

Я немного сбит с толку, как можно построить оценки склонности перед сопоставлением, поскольку сопоставление само дает оценки склонности? Так что, если кто-то знаком с подобными схемами построения графиков, я буду признателен за помощь. Вот мой код до сих пор, который дает функции плотности только после сопоставления для лечения (Near) и управления.

m.df <- matchit(Near ~ Distance_to_center, data = df, method = "nearest", distance = "logit", caliper =0.25)
mdf <- match.data(m.df,distance = "pscore")

df <- mdf

plot(density(df$pscore[df$Near==1]))
plot(density(df$pscore[df$Near==0]))

person uimahallihemmo    schedule 12.03.2018    source источник


Ответы (1)


Сопоставление не дает оценок склонности. Сначала оцениваются оценки склонности, затем matchit() соответствует единицам оценок склонностей.

Вы можете извлечь оценки склонности для всего образца из объекта matchit. Когда вы использовали match.data(), вы извлекали оценки склонности только для совпадающих данных. Оценки склонности для всей выборки хранятся в m.df$distance. Итак, чтобы вручную сгенерировать эти графики, вы можете использовать:

plot(density(m.df$distance[df$Near==1]))
plot(density(m.df$distance[df$Near==0]))

перед использованием match.data().

Вы также можете использовать пакет cobalt для автоматического создания этих графиков:

bal.plot(m.df, var.name = "distance", which = "both")

сгенерирует те же графики плотности в одной простой строке кода.

person Noah    schedule 19.05.2018