无法通过逻辑回归得到预测的概率

时间:2016-02-02 14:19:39

标签: r

我用2种方式制作了带有logit链接的GLM模型。我想知道根据这些值获胜的机会,例如,对于这些数据的所有组合。如果我使用expand.grid,则win=1win=0height的同一组合我有weightage的机会。但如果我使用seq,我就不会拥有所有组合。

我还希望能够使用以下示例数据预测获胜的可能性:height=1.89weight=90age=18。我该怎么办?

set.seed(1)
mydat <- data.frame(
  win    = as.factor(sample(c(0, 1), 50, replace=TRUE)), 
  weight = runif(50, min=80, max=100),
  height = runif(50, min=1.75, max=1.9),
  age    = runif(50, min=18, max=30)
)
mod1 <- glm(win ~ weight + height + age, data=mydat,       
            family=binomial(link="logit"))

all.x <- expand.grid(height=unique(mydat$height), weight=unique(mydat$weight), 
                     age=unique(mydat$age),win=unique(mydat$win))


plotdat <- data.frame(weight=seq(from=80, to=100, length.out=200),
                      height=seq(from=1.75, to=1.9, length.out=200),
                      age=seq(from=18, to=30, length.out=200))

preddat1 <- predict(mod1, newdata=plotdat, se.fit=TRUE)
preddat2 <- predict(mod1, newdata=all.x, type="response")

dat1 <- data.frame(fit=preddat1$fit,prob=exp(preddat1$fit)/(1+exp(preddat1$fit)), 
            weight=plotdat$weight, height=plotdat$height,
            age=plotdat$age)
dat1 <- dat1[order(dat1[,2]),]

dat2 <- cbind(all.x,preddat2)
dat2 <- dat2[order(dat2[,5]),]

0 个答案:

没有答案