Как я могу получить всю ковариационную матрицу из coeftest () модели панели - PullRequest
0 голосов
/ 29 апреля 2020

Я запускаю регрессии панели, используя пакет plm, например:

library("plm")
Data <- data.frame(id = c(rep("a",50), rep("b", 50)),
               y = rnorm(100),
               x = c(rnorm(50), rnorm(50, sd = 5)),
               z = c(rnorm(50), rnorm(50, sd = 3)))

panelmodel <- plm(y ~ x + z, 
                  data = Data, 
                  effect = "individual", 
                  model = "within", 
                  index = "id")

Я хочу настроить стандартные ошибки для кластеризации, которые я могу сделать с помощью пакета lmtest, например:

library("lmtest")
coeftest(panelmodel, 
     vcov = vcovHC(panelmodel, 
                   type = "sss"), # I need this exact type of standard errors
     cluster = "id")

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

vcovHC(panelmodel, type = "sss")

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

Пакет multiwayvcov, к сожалению, не работает с объектами plm, поэтому один из них отсутствует.

1 Ответ

1 голос
/ 29 апреля 2020

См. Документацию: ?plm::vcovHC.plm: vcovHC(panelmodel, type = "sss") - это уже то, что вы ищете, оно совпадает с vcovHC(panelmodel, type = "sss", cluster = "group").

Аргумент cluster, который вы передаете coeftest() (и not to vcovHC()) не оценивается, поскольку является неизвестным аргументом функции и функции, которой она передана (по крайней мере, для вашего примера). Вы можете проверить, сравнив результаты этих трех команд, они все одинаковы:

coeftest(panelmodel, vcov. = vcovHC(panelmodel, type = "sss"))
coeftest(panelmodel, vcov. = vcovHC(panelmodel, type = "sss"), cluster = "id")
coeftest(panelmodel, vcov. = vcovHC(panelmodel, type = "sss"), cluster = "nonsense")
...