The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
cvGEE calculates cross-validated versions of the logarithmic, quadratic and spherical scoring rules based on generalized estimating equations.
The package presumes that the GEE has been solved using the
geeglm()
function of the geepack.
For family = gaussian()
only the quadratic rule is
available calculated as the squared prediction error; lower values
indicate a better predictive ability.
For family = binomial()
and dichotomous outcome data
the probabilities for the two categories are calculated from the
Bernoulli probability mass function. For
family = binomial()
and binomial data the probabilities for
each possible response are calculated from a beta-binomial distribution
with variance set equal to the variance from the corresponding
quasi-likelihood behind the GEE. Likewise for
family = poisson()
the probabilities for the number of
events up to a particular maximum (set using the max_count
argument) are calculated using the negative binomial distribution with
variance set equal to the variance from the corresponding
quasi-likelihood behind the GEE. For these families all three scoring
rules are available, with higher values in each rule indicating better
predictive ability.
We compare a linear and a nonlinear GEE for the dichotomized version of the serum bilirubin biomarker from the PBC dataset:
library("geepack")
library("cvGEE")
library("splines")
library("lattice")
$serBilirD <- as.numeric(pbc2$serBilir > 1.2)
pbc2
<- geeglm(serBilirD ~ year * drug,
gm1 family = binomial(), data = pbc2, id = id,
corstr = "exchangeable")
<- geeglm(serBilirD ~ ns(year, 3, Boundary.knots = c(0, 10)) * drug,
gm2 family = binomial(), data = pbc2, id = id,
corstr = "exchangeable")
<- cv_gee(gm1, return_data = TRUE)
plot_data $linear <- plot_data$.score
plot_data$non_linear <- unlist(cv_gee(gm2))
plot_data
xyplot(linear + non_linear ~ year | .rule, data = plot_data,
type = "smooth", auto.key = TRUE, layout = c(3, 1),
scales = list(y = list(relation = "free")),
xlab = "Follow-up time (years)", ylab = "Scoring Rules")
The development version of the package can be installed from GitHub using the devtools package:
::install_github("drizopoulos/cvGEE") devtools
and with vignettes
::install_github("drizopoulos/cvGEE", build_vignettes = TRUE) devtools
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.