Сравнение моделей 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 будет лучше здесь? Я использую неправильные пакеты?

С наилучшими пожеланиями, Гил

0 ответов

Другие вопросы по тегам