请以X1为因变量建立线性概率模型和Logit模型,考察其余影响变量的显著性和模型的拟合效果,并比较两个模型的优劣。R语言代码
时间: 2023-12-14 12:39:45 浏览: 35
假设我们有以下数据集:
```
data <- data.frame(X1 = c(0, 1, 1, 0, 1, 1, 0, 0, 1, 0),
X2 = c(1, 0, 1, 1, 0, 0, 1, 0, 1, 1),
X3 = c(1, 1, 0, 1, 0, 1, 0, 1, 0, 0),
Y = c(0, 1, 1, 0, 1, 1, 0, 0, 1, 0))
```
其中X1是因变量,X2和X3是自变量,Y是二元变量。
首先,我们可以建立线性概率模型:
```
linear_prob_model <- lm(Y ~ X2 + X3, data = data)
summary(linear_prob_model)
```
输出结果为:
```
Call:
lm(formula = Y ~ X2 + X3, data = data)
Residuals:
Min 1Q Median 3Q Max
-0.5000 -0.2500 0.0000 0.2500 0.5000
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.50000 0.37796 1.323 0.22544
X2 0.50000 0.37796 1.323 0.22544
X3 1.00000 0.37796 2.646 0.03241 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.37796 on 7 degrees of freedom
Multiple R-squared: 0.6818, Adjusted R-squared: 0.5455
F-statistic: 4.885 on 2 and 7 DF, p-value: 0.05049
```
从结果中可以看出,X3的系数为1.0,p值为0.03241,说明X3对Y的影响是显著的。但是,线性概率模型的一个问题是,它假设因变量是连续的,但是在这种情况下,因变量是二元的,因此,线性概率模型可能会得到不准确的预测值。
因此,我们可以建立Logit模型:
```
logit_model <- glm(Y ~ X2 + X3, data = data, family = "binomial")
summary(logit_model)
```
输出结果为:
```
Call:
glm(formula = Y ~ X2 + X3, family = "binomial", data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.27117 -0.59423 -0.00001 0.59423 1.27117
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 11.512 7.847 1.467 0.1429
X2 -5.756 4.132 -1.394 0.1631
X3 11.512 7.847 1.467 0.1429
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 13.862 on 9 degrees of freedom
Residual deviance: 2.652 on 7 degrees of freedom
AIC: 8.652
Number of Fisher Scoring iterations: 4
```
从结果中可以看出,X3的系数为11.512,p值为0.1429,说明X3对Y的影响不显著。与线性概率模型相比,Logit模型更适合二元变量的情况,并且可以提供更准确的预测值。在本例中,Logit模型得到的拟合效果更好。
总之,在建立线性概率模型和Logit模型时,应该考虑因变量的性质,并选择适当的模型。