Bootcov в rms-пакете не работает, когда переменная кластера включена в регрессию как фиксированный эффект - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь использовать bootcov, чтобы получить кластерные стандартные ошибки для регрессионного анализа данных панели.В анализ я включаю переменную кластера как фиксированный эффект для решения проблем на уровне кластера.Однако включение переменной кластера в качестве фиксированного эффекта приводит к выдаче bootcov ошибки («Предупреждающее сообщение: ... соответствует ошибке в 200 повторных выборках. Возможно, попытайтесь увеличить maxit»).Я предполагаю, что это потому, что матрица коэффициентов варьируется в зависимости от того, какие кластеры выбраны ( вот аналогичная проблема и решение в Stata ).

Кто-нибудь знает способ обойти эту проблему?Если нет, я могу попробовать вручную отредактировать функцию.К сожалению, я не могу использовать параметр кластера в robcov, потому что мой анализ на самом деле требует функцию Glm, а не функцию ols.Кроме того, я хочу придерживаться пакета rms, потому что мой анализ включает ограниченные кубические сплайны, которые rms упрощают визуализацию и тестирование через ANOVA (хотя я открыт для других предложений).

Спасибо за помощь.Я скопировал пример ниже.

#load package 
library(rms)

#make df
x <- rnorm(1000)
y <- sample(c(1:100),1000, replace=TRUE)
z <- factor(rep(1:50, 20))
df <- data.frame(y,x,z)

#set datadist
dd <- datadist(df)
options(datadist='dd')

#works when cluster variable isn't included as fixed effect in regression
reg  <- ols(x ~ y, df, x=TRUE, y=TRUE)
reg_clus <- bootcov(reg, df$z)
summary(reg_clus)

#doesn't work when cluster variable included as fixed effect in regression
reg2  <- ols(x ~ y + z, df, x=TRUE, y=TRUE)
reg_clus2 <- bootcov(reg2, df$z)
summary(reg_clus2)
...