R语言中的lrtest()
时间: 2023-07-10 17:40:04 浏览: 174
`lrtest()`函数是R语言中lmtest包中的一个函数,它用于比较两个嵌套的线性回归模型,并进行likelihood ratio test。它的语法如下:
```r
lrtest(model1, model2)
```
其中,`model1`和`model2`是两个嵌套的线性回归模型。通常,`model1`是一个简单的模型,而`model2`是一个包含`model1`和其他变量的复杂模型。
`lrtest()`函数将计算两个模型的最大似然值,并比较两个模型的最大似然差异,然后使用卡方检验确定这些差异是否显著。如果差异显著,则可以拒绝简单模型(`model1`)并接受复杂模型(`model2`)。
下面是一个使用`lrtest()`函数的例子:
```r
# 导入数据
data(mtcars)
# 构建两个嵌套的模型
model1 <- lm(mpg ~ cyl + disp + hp, data = mtcars)
model2 <- lm(mpg ~ cyl + disp + hp + wt, data = mtcars)
# 比较两个模型
library(lmtest)
lrtest(model1, model2)
```
这将输出以下结果:
```r
Likelihood ratio test
Model 1: mpg ~ cyl + disp + hp
Model 2: mpg ~ cyl + disp + hp + wt
#Df LogLik Df Chisq Pr(>Chisq)
1 4 -78.013
2 5 -76.392 1 3.2425 0.07172 .
```
可以看到,`lrtest()`函数输出了两个模型的log-likelihood值,以及一个卡方检验的结果。在这个例子中,p值为0.07172,这意味着差异不是特别显著。因此,我们可以接受简单模型(`model1`),并认为在这个例子中,增加`wt`这个变量并没有显著提高模型的拟合能力。
阅读全文