Предупреждение о хи-квадрат в оценке веса склонности - PullRequest
0 голосов
/ 21 мая 2018

Я использую функцию оценки веса склонности ps() пакета twang для выравнивания двух групп участников программы активного рынка труда (ALMP), которые различаются по ряду причин.Одним из различий является уровень образования, который ради этого вопроса я перекодировал на два уровня: одно значение для тех, кто получил хотя бы начальное образование, другое для тех, кто получил самое начальное образование.

Когда я включаюэта переменная как фактор:

 ALMP$Education_f2 = factor(ALMP$Education_f2, levels = c(„at.least.primary“, „at.most.primary“), ordered = TRUE)

R начинает жаловаться во время итерации, что Chi-squared approximation may be incorrect.

Когда я включаю переменную образования как целое число

ALMP$Education_int = as.integer(ALMP$Education_int)

R не выдает никаких предупреждений.

Гриффин и др. Говорят здесь , что twangПакет может обрабатывать категориальные переменные:

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

Если это правда, то почему R жалуется?И это то, о чем мне следует беспокоиться?

Я также прочитал здесь , что, как правило, квадрат хи жалуется, если в каких-либо категориях имеется менее 5 наблюдений.Это не мой случай, так как, если я запускаю кросс-таблицу (2x2) по образованию и типу программы, минимальная доля участников в одной подгруппе составляет 2810 (8% всех случаев).

Конечно, яможно просто сохранить переменную образования как целое число (0/1), но я задаю этот вопрос, потому что, если возможно, я хотел бы уточнить переменную и включить ее более чем в два уровня (например, без образования, начальное, среднее,третичный), где, очевидно, целочисленная переменная больше не будет работать.

У меня всего около 35 тысяч наблюдений во фрейме данных, и я использую 3.4.2.версия R (x64) в Windows 7 Professional (x64).

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

Большое спасибо заранее.

1 Ответ

0 голосов
/ 01 июня 2018

Я думаю, что нашел проблему.Я использую R Studio, и это связано с тем, пишу ли я свой код в R Markdown или R Script.

Проблема возникает только тогда, когда я передаю фактор-переменную в функцию ps в RУценка, например:

library(twang)
data("lalonde") 

lalonde$college = ifelse(lalonde$educ<13, 0, 1)
lalonde$college_f = factor(lalonde$college, ordered = TRUE)

ps.lalonde_f = ps(treat ~ age + college_f + black + hispan + nodegree + married + re74 + re75,
                  data = lalonde, 
                  n.tree = 1000,
                  interaction.depth = 2, 
                  shrinkage = 0.01,
                  perm.test.iters = 0,
                  stop.method = c("es.mean", "ks.max"),
                  estimand = "ATT",
                  verbose = FALSE)

Когда я заменяю аргумент college_f на числовой college в функции ps (), я больше не получаю предупреждений хи-квадрат.Кроме того, если я просто передам приведенный выше код в сценарий R, предупреждение также не появится.

(я использую R-Studio версии 1.1.442.)

...