Description Usage Arguments Details Value Note Author(s) References See Also Examples
Calculating the (predictive) deviance of the model.
1 2 |
object |
Object of class |
newdata |
Data to estimate the (predictive) deviance. |
use_penalty |
If the deviance should be penalized according to the smoothing penalties. |
... |
Currently not used |
Calculates the model deviance of the object for the given data. To get the same value as for object$deviance
you need to set use_penalty = TRUE
. This is due to the fact that the deviance element of the object is the penalized deviance used for step halving.
Estimated deviance
To get numeric stability the fitted values are truncated (min_mu_k
) to achieve numeric stability.
Elmar Spiegel
Spiegel, Elmar, Thomas Kneib and Fabian Otto-Sobotka. Generalized additive models with flexible response functions. Statistics and Computing (2017). https://doi.org/10.1007/s11222-017-9799-6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | set.seed(1)
n <- 1000
x1 <- runif(n)
x2 <- runif(n)
x3 <- runif(n)
eta_orig <- -1 + 2*sin(6*x1) + exp(x2) + x3
pi_orig <- pgamma(eta_orig, shape=2, rate=sqrt(2))
y <- rbinom(n,size=1,prob=pi_orig)
Data <- data.frame(y,x1,x2,x3)
formula <- y ~ s(x1,k=20,bs="ps") + s(x2,k=20,bs="ps") + x3
# Fix smoothing parameters to save computational time.
control2 <- list("fix_smooth" = TRUE, "quietly" = TRUE, "sm_par_vec" =
c("lambda" = 100, "s(x1)" = 2000, "s(x2)" = 9000))
set.seed(2)
model_2 <- flexgam(formula=formula, data=Data, type="FlexGAM2",
family=binomial(link=logit), control = control2)
(deviance <- deviance(model_2, newdata=Data))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.