## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(GlmSimulatoR) library(ggplot2) library(dplyr, warn.conflicts = FALSE) library(stats) set.seed(1) # Very right skewed. Skewness 2 gamma_rv <- rgamma(1000, shape = 1, scale = 1) temp <- tibble(gamma = gamma_rv) ggplot(temp, aes(x = gamma)) + geom_histogram(bins = 30) # Hump moves slightly more towards the middle. Skewness 1.154701 gamma_rv <- rgamma(1000, shape = 3, scale = 1) temp <- tibble(gamma = gamma_rv) ggplot(temp, aes(x = gamma)) + geom_histogram(bins = 30) # Nearly gaussian. Very slightly right skewed. Skewness .2 gamma_rv <- rgamma(1000, shape = 100, scale = 1) temp <- tibble(gamma = gamma_rv) ggplot(temp, aes(x = gamma)) + geom_histogram(bins = 30) ## ----echo=FALSE--------------------------------------------------------------- rm(gamma_rv, temp) ## ----------------------------------------------------------------------------- # Make data set.seed(1) simdata <- simulate_gamma( N = 10000, link = "inverse", weights = c(1, 2, 3), ancillary = .05 ) # Confirm Y ~ gamma ggplot(simdata, aes(x = Y)) + geom_histogram(bins = 30) glm <- glm(Y ~ X1 + X2 + X3, data = simdata, family = Gamma("inverse")) # Mean Squared Error mean((simdata$Y - predict(glm, newdata = simdata, type = "response"))^2)