在教科书中提到我需要将Satellite数据转换为零和一(如果Y = 0,则Y = 0。但是,如果Y大于或等于1,则Y = 1),但是我不知道该怎么做。我想念什么吗?
这是我的代码:
library(icda)
data(horseshoecrabs)
crab=horseshoecrabs
head(crab)
??horeshoecrabs
probit=glm(Satellites ~ Weight, family=binomial(link="probit"), data=horseshoecrabs )
summary(probit)
该问题来自“分类数据分析简介”第二版问题3.8,以帮助解决问题。我的任务是报告以重量为预测因子的概率模型的拟合度。
答案 0 :(得分:1)
由于您使用的是Probit模型,因此您的响应必须为二进制(即,它必须为0或1)。 Satellites
不是二进制。
> horseshoecrabs$Satellites
[1] 8 0 9 0 4 0 0 0 0 0 0 0 11 0 14 8 1 1 0 5 4 3 1 2 3 0 3 5 0 0 4 0 0 8 5 0 0 6 0 6 3
[42] 5 6 5 9 4 6 4 3 3 5 5 6 4 5 15 3 3 0 0 0 5 3 5 1 8 10 0 0 3 7 1 0 6 0 0 3 4 0 5 0 0
[83] 0 4 0 3 0 0 0 0 5 0 0 0 0 1 0 1 1 1 1 1 1 4 1 1 1 1 2 4 3 6 0 2 2 0 12 0 5 6 6 2 0
[124] 2 3 0 3 4 2 6 6 0 4 10 7 0 5 5 6 6 7 3 3 0 0 8 4 4 10 9 4 0 0 0 0 4 0 2 0 4 4 3 8 0
[165] 7 0 0 2 3 4 0 0 0
一个带有二进制数据的概率的示例是考虑以下编码:让我们引入一个新的二进制变量Satellites.binary
并考虑Yes = 1和No =0。如果至少有一颗卫星存在(即卫星> 0),我们将认为观测成功,并将值编码为1。如果卫星确实存在,则将值编码为0。
# Consider Satellite to be Yes if Satellite > 0 and No if Satellite = 0
# Code Yes = 1, No = 0
Satellites.binary = ifelse(horseshoecrabs$Satellites > 0, 1, 0)
> Satellites.binary
[1] 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
[63] 1 1 1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1
[125] 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0
现在有了这个变量,我们可以构建一个概率模型
probit = glm(Satellites.binary ~ horseshoecrabs$Weight, family=binomial(link="probit"))
> summary(probit)
Call:
glm(formula = Satellites.binary ~ horseshoecrabs$Weight, family = binomial(link = "probit"))
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1436 -1.0774 0.5336 0.9196 1.6216
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.2383 0.5116 -4.375 1.22e-05 ***
horseshoecrabs$Weight 1.0990 0.2151 5.108 3.25e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 225.76 on 172 degrees of freedom
Residual deviance: 195.46 on 171 degrees of freedom
AIC: 199.46
Number of Fisher Scoring iterations: 4
注意:如前所述,这只是一个示例,对于您来说可能不是正确的模型。创建该文件的目的是为了演示如何使用概率模型。