Сравнение моделей Panel после кластеризации SE R
Я анализирую модели FE, RE и Pooled Ols для данных Panel (кантоны =26, T=6, N=156, сбалансированный набор). Все мои переменные в процентах.
Y = employment rate of canton refugees
x1 = percentage share of jobs in small Businesses
x2 = percentage share of jobs in large Businesses
Controls = % share of foreigners, cantonal GDP as a percentage to the country GDP, unemployment rate of natives
Я хочу скорректировать свои регрессионные модели для кластеризованной SE по группам (кантон = штат), потому что стандартные ошибки становятся заниженными, когда присутствует последовательная корреляция, что делает проверку гипотез неоднозначной.
Поскольку существует только одно наблюдение на кантон и год, кластеризация по годам и кантонам невозможна. Результаты были сгруппированы по кантонам, потому что предполагается, что эти кластеры независимы друг от друга на основе автономной природы кантонов из-за федералистской природы страны. Предполагается, что годичные кластеры зависят друг от друга в связи с характером запаздывающих эффектов в экономических теориях / механизмах.
1) Нужно ли доказывать, что последовательная корреляция присутствует или можно предположить, что последовательная корреляция присутствует, потому что вполне вероятно, что наблюдения одного и того же кантона во времени коррелируют. Если необходимо проверять последовательную корреляцию перед кластеризацией SE, какой код использовать?
Вот мой код:
Модель FE: fixedm6 <- plm (Y ~ X + X1 + элементы управления, данные = busdata, index = c ("кантон", "год"), модель = "в пределах", эффект = "twoways")
Модель FE с кластерной SE:
cfixedm6 <- coeftest(fixedm6, vcov=vcovHC(fixedm6, method = "arellano", type="HC3",cluster="group"))
Модель пула OLS:
m6pool <- plm(Y ~ X + X1 + X2, data=busdata, index=c("canton", "year"), model="pooling")
Объединенные OLS с кластерной SE:
cm6pool <- coeftest(m6pool, vcov=vcovHC(m6pool, type="HC3", cluster="group"))
F-тест без кластерной SE:
pFtest(fixedm6, m6pool)
p-value < 2.2e-16 ----> FE is better fit
когда я вставляю модели с кластеризованным SE:
pFtest(cfixedm6, cm6pool)
Error in UseMethod("pFtest") : no applicable method for 'pFtest' applied to an object of class "coeftest"
То же самое происходит с другими функциями lmtest (phtest для теста Хаусмана). RE модель:
randm6 <- plm(eY ~ X + X1 + X2, index=c("canton", "year"), data=busdata, model="random")
RE MOdel с кластерной SE:
crandm6 <- coeftest(randm6, vcov=vcovHC(randm6, method = "white1", type="HC3", cluster="group"))
Без кластерной SE:
phtest(fixedm6, randmo6)
с кластерной SE:
phtest(cfixedm6, crandmo6)
Ошибка в UseMethod("phtest"): нет применимого метода для "phtest", примененного к объекту класса "coeftest"
2) Нужно ли сначала сравнивать модели без кластеризованного SE, а затем на основе тестов Ftest/hausmann и т. Д., Найти лучшую модель и затем кластеризовать SE для модели?
Без кластеризации SE в моделях я легко могу использовать lmtests для сравнения значений моделей. Однако это кажется ложным, учитывая, что значения p будут искажены. Однако, как только я включил кластеризованный SE, я не знаю, как кодировать, чтобы сравнить и определить, какая модель лучше всего подходит.
Как мне нужно подойти к этому в R? Большинство онлайн-ресурсов обсуждают FE/RE и т. Д., А затем обсуждают кластерные SE, но никогда не сравнивают модели с кластерными SE. Что я делаю неправильно? Какой код R будет лучше здесь? Я использую неправильные пакеты?
С наилучшими пожеланиями, Гил