R код для проверки разности коэффициентов регрессоров от одной панели регрессии - PullRequest
1 голос
/ 17 марта 2020

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

На основе R-кода для проверки различия коэффициентов регрессоров от одной регрессии я попытался вычислить критерий отношения правдоподобия. В связанном обсуждении они используют простое линейное уравнение. Если я использую те же команды в R, что и описанные в ответе, я получаю результаты, основанные на распределении, и я не понимаю, могу ли я интерпретировать это или нет.

В я сделал следующее:

linearHypothesis(reg.pannel.recession.fe, "Exp_Fri=0.311576")

, где reg.pannel.recession.fe - панель регрессии за период 2007-2009, Exp_Fri - коэффициент этой регрессии I хочу сравнить, 0.311576 - это расчетный коэффициент за период 2010-2017 гг.

Я получаю следующие результаты, используя linearHypothesis():

Results Likelihood ratio test

Как я могу это интерпретировать? Должен ли я использовать другую функцию, как это объектов? Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 18 марта 2020

Вы получаете F-тест в этом примере, потому что, как указано в виньетке:

Метод для объектов "lm" вызывает метод по умолчанию, но он меняет тест по умолчанию на "F" [ ...]

Вы также можете установить тест на F, но в основном линейная гипотеза работает всякий раз, когда стандартная ошибка коэффициента может быть оценена из матрицы дисперсии-ковариации, как также сказано в виньетке:

Метод по умолчанию будет работать с любым объектом модели, для которого вектор коэффициентов может быть получен с помощью 'coef', а матрица коэффициентов-ковариаций - с помощью 'vcov' (в противном случае аргумент 'vcov.' Должен устанавливается явно)

Итак, используя пример из пакета:

library(plm)

data(Grunfeld)
wi <- plm(inv ~ value + capital,
data = Grunfeld, model = "within", effect = "twoways")

linearHypothesis(wi,"capital=0.3",test="F")
Linear hypothesis test

Hypothesis:
capital = 0.3

Model 1: restricted model
Model 2: inv ~ value + capital

  Res.Df Df      F  Pr(>F)  
1    170                    
2    169  1 6.4986 0.01169 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

linearHypothesis(wi,"capital=0.3")
Linear hypothesis test

Hypothesis:
capital = 0.3

Model 1: restricted model
Model 2: inv ~ value + capital

  Res.Df Df  Chisq Pr(>Chisq)  
1    170                       
2    169  1 6.4986     0.0108 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

И вы также можете использовать t.test:

tested_value = 0.3
BETA = coefficients(wi)["capital"]
SE = coefficients(summary(wi))["capital",2]
tstat =  (BETA- tested_value)/SE
pvalue = as.numeric(2*pt(-tstat,wi$df.residual))
pvalue
[1] 0.01168515
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...