From avraham.adler at gmail.com  Fri Apr 27 16:12:40 2018
From: avraham.adler at gmail.com (Avraham Adler)
Date: Fri, 27 Apr 2018 14:12:40 +0000
Subject: [Rd] predict.glm returns different results for the same model
In-Reply-To: <CABdHhvGNmn3ssrwnkqNOJAJYqYNJkjO6Du1B+7NvDZzC0Dgh6w@mail.gmail.com>
References: <CABdHhvGNmn3ssrwnkqNOJAJYqYNJkjO6Du1B+7NvDZzC0Dgh6w@mail.gmail.com>
Message-ID: <CAL6gwn+Xb7wMOPo1MJajmiFqcVfiWghThZskuuZDFDxj5zCZmQ@mail.gmail.com>

Can?t copy from my computer as gmail is blocked at work but if it helps,
the ?predvars? attribute if the terms object is not the same.

Avi

On Fri, Apr 27, 2018 at 9:25 AM Hadley Wickham <h.wickham at gmail.com> wrote:

> Hi all,
>
> Very surprising (to me!) and mystifying result from predict.glm(): the
> predictions vary depending on whether or not I use ns() or
> splines::ns(). Reprex follows:
>
> library(splines)
>
> set.seed(12345)
> dat <- data.frame(claim = rbinom(1000, 1, 0.5))
> mns <- c(3.4, 3.6)
> sds <- c(0.24, 0.35)
> dat$wind <- exp(rnorm(nrow(dat), mean = mns[dat$claim + 1], sd =
> sds[dat$claim + 1]))
> dat <- dat[order(dat$wind), ]
>
> m1 <- glm(claim ~ ns(wind, df = 5), data = dat, family = binomial)
> m2 <- glm(claim ~ splines::ns(wind, df = 5), data = dat, family = binomial)
>
> # The model coefficients are the same
> unname(coef(m1))
> #> [1]  0.5194712 -0.8687737 -0.6803954  4.0838947  2.3908674  4.1564128
> unname(coef(m2))
> #> [1]  0.5194712 -0.8687737 -0.6803954  4.0838947  2.3908674  4.1564128
>
> # But the predictions are not!
> newdf <- data.frame(wind = seq(min(dat$wind), max(dat$wind), length = 5))
> unname(predict(m1, newdata = newdf))
> #> [1] 0.51947119 0.03208719 2.82548847 3.90883496 4.06743266
> unname(predict(m2, newdata = newdf))
> #> [1]  0.5194712 -0.5666554 -0.1731268  2.8134844  3.9295814
>
> Is this a bug?
>
> (Motivating issue from this ggplot2 bug report:
> https://github.com/tidyverse/ggplot2/issues/2426)
>
> Thanks!
>
> Hadley
>
>
>
> --
> http://hadley.nz
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
-- 
Sent from Gmail Mobile

	[[alternative HTML version deleted]]



[Rd] predict.glm returns different results for the same model
Avraham Adler