Вопрос , упомянутый в комментариях @ Helix123, делает не совсем то, что вам нужно (и при этом речь не идет о проверке, что все коэффициенты равны нулю), но этосвязанные с.В частности, если вы хотите проверить только то, что фиксированные эффекты равны нулю, вы можете найти ответы там.
В вашем случае, однако, в дополнение к гипотезе о фиксированных эффектах мы также проверяем, все другие коэффициенты принимают некоторое ненулевое значение.Вот почему это создает проблемы.
Если вы хотите проверить, скажем, что I(beta_HML * HML)
имеет нулевой коэффициент, тогда ограниченная модель, предоставленная для pFtest
(см. Принятый ответ в связанном вопросе), будетreg2
как в
form <- R_excess ~ -1 + I(beta_MKT_RF * MKT_RF) + I(beta_SMB * SMB)
reg2 <- plm(form, data = nlspd, model = "pooling") # Note "pooling", which sets fixed effects to zero
Если вы хотите проверить, что коэффициент этой переменной равен 1, то вы можете использовать reg3
в
form <- R_excess - I(beta_HML * HML) ~ -1 + I(beta_MKT_RF * MKT_RF) + I(beta_SMB * SMB)
reg3 <- plm(form, data = nlspd, model = "pooling") # Note "pooling", which sets fixed effects to zero
Поскольку ваша гипотеза оИз всех трех оставшихся коэффициентов нам на самом деле нечего оценивать справа.Бывает, что plm
это не нравится и выдает ошибку empty model
.
Если бы мы использовали lm
, был бы другой вариант, скажем, offset(beta_MKT_RF * MKT_RF)
в формуле, которыйустановит коэффициент на 1, и он не будет оценен.Однако plm
не допускает offset
.
Тем не менее, кажется, что более простой вариант - использовать lm
, как предложено в связанном вопросе.В частности,
data("Produc", package = "plm")
mU <- lm(log(gsp) ~ -1 + log(emp) + factor(state), data = Produc)
mR <- lm(log(gsp) ~ -1 + offset(log(emp)), data = Produc)
library(lmtest)
lrtest(mR, mU)
# Likelihood ratio test
#
# Model 1: log(gsp) ~ -1 + offset(log(emp))
# Model 2: log(gsp) ~ -1 + log(emp) + factor(state)
# #Df LogLik Df Chisq Pr(>Chisq)
# 1 1 -2187.9
# 2 50 1467.3 49 7310.4 < 2.2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
, так что mU
содержит фиксированные эффекты и неограниченно оценивает эффект log(emp)
, тогда как mR
не содержит фиксированных эффектов и фиксирует эффект от log(emp)
до 1.
Вы не предоставили свои данные, но они должны быть близки к
mU <- lm(R_excess ~ -1 + I(beta_MKT_RF * MKT_RF) + I(beta_HML * HML) +
I(beta_SMB * SMB) + factor(var), data = nlspd)
mR <- lm(R_excess ~ -1 + offset(beta_MKT_RF * MKT_RF) + offset(beta_HML * HML) +
offset(beta_SMB * SMB), data = nlspd)
lrtest(mR, mU)
, где var
- переменная размера поперечного сечения.