我在R中运行过2个线性模型
model_1_regression <- lm(model_1$ff4f_actual_excess_return_month1 ~ model_1$Rm.Rf +
model_1$SMB +
model_1$HML +
model_1$MOM,
na.action=na.exclude)
和
model_1_mom_1_regression <- lm(model_1_mom_1$ff4f_actual_excess_return_month1 ~ model_1_mom_1$Rm.Rf +
model_1_mom_1$SMB +
model_1_mom_1$HML +
model_1_mom_1$MOM +
model_1_mom_1$mom_to_add,
na.action=na.omit)
,我想进行似然比测试,以查看所添加的其他因素是否有意义。我该怎么做,如何解释显示的结果?
非常感谢
答案 0 :(得分:1)
要比较嵌套模型,可以使用不同的条件,包括LRT或ANOVA的p值,Adjusted-R 2 ,AIC,BIC等。 LRT和ANOVA在检测差异方面会产生相同的结果。简而言之,从这两个检验中获得低于所选显着性水平的p值,表明有足够的证据赞成拒绝假设这两个模型相同的零假设。我建议您搜索其他信息和理论。
您的代码包含不同的数据( model_1 和 model_1_mom_1 )和NA
处理( na.exclude 和 na .omit ),这使我质疑您的模型是否实际上是嵌套。请通过为两个函数提供相同的数据集和NA
处理选项,确保使用相同的数据拟合模型。然后,您可以使用anova
:
# refactored your code and supplied the same data & na.action
reduced_model <- lm(formula = ff4f_actual_excess_return_month1 ~
Rm.Rf +
SMB +
HML +
MOM,
data = df,
na.action=na.omit)
full_model <- lm(formula = ff4f_actual_excess_return_month1 ~
Rm.Rf +
SMB +
HML +
MOM +
mom_to_add,
data = df,
na.action=na.omit)
# based on f-test
anova(reduced_model, full_model)
# based on chi-square test
anova(reduced_model, full_model, test = "LRT")
请注意,R中还有其他用于运行LRT的函数,例如lrtest
,但它以略有不同的方式计算测试统计量。您可以根据自己的情况选择其中一种。请参考此处以获取更多信息:
https://stats.stackexchange.com/questions/155474/r-why-does-lrtest-not-match-anovatest-lrt