Learn R Programming

growfunctions (version 0.11)

informative_plot: Plot credible intervals for parameters to compare ignoring with weighting an informative sample

Description

Uses as input the output object from the gpdpgrow() and gmrfdpgrow() functions.

Usage

informative_plot(objects = NULL, objects_labels = c("ignore", "weight"),
  map = NULL, units_name = NULL, model = "gp", true_star = NULL,
  map_true = NULL)

Arguments

objects
A list of objects, either all outputs from gpdpgrow(), or all from gmrfdpgrow(). objects includes a model estimated under ignoring the informativeness of the sampling design and another that employs weighting to account for the informativen
objects_labels
A character vector of length equal to objects that provides labels for each entry in objects. Allowed entries in objects_labels are c("ignore","weight","iid"), where "ignore" denotes a model that igno
map
A list matrices, where each entry is produced from cluster_plot(object)$map. It is comprised of unit labels and cluster assignments for each object in objects. The length of map must be equal to the length of
units_name
The label in each "map" matrix for the observation units. Will be the same as the units_name entry for the previously run, cluster_plot() function.
model
A scalar character input indicating the estimation model for all of the entries in objects. Allowable values for model are c("gp","gmrf"). Defaults to model = "gp".
true_star
An optional, P x M matrix, of true parameter location values, where P denotes the number of parameters per cluster and M denotes the number of clusters. For example, in model = "gp" with a single, ration
map_true
An optional data.frame object with n rows, the size of the informative sample used for c("ignore","weight") objects that maps the units_name to a true cluster. map_true must have 2 column

Value

  • A list object containing the plot of estimated functions, faceted by cluster, and the associated data.frame object.
  • p.compareA ggplot2 plot object
  • dat.compareA data.frame object used to generate p.compare.

See Also

gpdpgrow, gmrfdpgrow

Examples

Run this code
library(growfunctions)
## use gen_informative_sample() to generate an
## N X T population drawn from a dependent GP
## By default, 3 clusters are used to generate
## the population.
## A single stage stratified random sample of size n
## is drawn from the population using I = 4 strata.
## The resulting sample is informative in that the
## distribution for this sample is
## different from the population from which
## it was drawn because the strata inclusion
## probabilities are proportional to a feature
## of the response, y (in the case, the variance.
## The stratified random sample over-samples
## large variance strata).
## (The user may also select a 2-stage
## sample with the first stage
## sampling "blocks" of the population and
## the second stage sampling strata within blocks).
dat_sim        <- gen_informative_sample(N= 10000,
                                n = 500, T = 10,
                                noise_to_signal = 0.1)

y_obs                       <- dat_sim$y_obs
T                           <- ncol(y_obs)

an informative sampling design that inputs inclusion
probabilities, ipr
res_gp_w            <- gpdpgrow(y = y_obs,
                               ipr = dat_sim$map_obs$incl_prob,
                               n.iter = 10, n.burn = 4,
                               n.thin = 1, n.tune = 0)
and fit vs. data for experimental units
fit_plots_w         <- cluster_plot( object = res_gp_w,
                           units_name = "establishment",
                           units_label = dat_sim$map_obs$establishment,
                           single_unit = FALSE, credible = TRUE )

## estimate parameters ignoring sampling design
res_gp_i            <- gpdpgrow(y = y_obs,
                               n.iter = 10, n.burn = 4,
                               n.thin = 1, n.tune = 0)
## plots of estimated functions, faceted by cluster and fit vs.
## data for experimental units
fit_plots_i         <- cluster_plot( object = res_gp_i,
                                    units_name = "establishment",
                                    units_label = dat_sim$map_obs$establishment,
                                    single_unit = FALSE, credible = TRUE )

## We also draw an iid (non-informative, exchangeable)
## sample from the same population to
## compare estimation results to our weighted
## (w) and unweighted/ignoring (i) models

## estimate parameters under an iid sampling design
res_gp_iid          <- gpdpgrow(y = dat_sim$y_iid,
                               n.iter = 10, n.burn = 4,
                               n.thin = 1, n.tune = 0)
## plots of estimated functions, faceted by cluster and
## fit vs. data for experimental units
fit_plots_iid       <- cluster_plot( object = res_gp_iid,
                           units_name = "establishment",
                           units_label = dat_sim$map_iid$establishment,
                           single_unit = FALSE, credible = TRUE )

## compare estimations of covariance parameter credible
## intervals when ignoring informativeness vs.
## weighting to account for informativeness
objects                  <- map <- vector("list",3)
objects[[1]]             <- res_gp_i
objects[[2]]             <- res_gp_iid
objects[[3]]             <- res_gp_w
map[[1]]                 <- fit_plots_i$map
map[[2]]                 <- fit_plots_iid$map
map[[3]]                 <- fit_plots_w$map
objects_labels           <- c("ignore","iid","weight")

parms_plots_compare      <- informative_plot( objects = objects,
                                objects_labels = objects_labels,
                                map = map, units_name = "establishment",
                                model = "gp",
                                true_star = dat_sim$theta_star,
                                map_true = dat_sim$map_obs)

Run the code above in your browser using DataLab