bootstrap_pals: Nonparametric bootstrap for PALS estimates and projections

View source: R/bootstrap.R

bootstrap_palsR Documentation

Nonparametric bootstrap for PALS estimates and projections

Description

Quantifies uncertainty in PALS parameter estimates and in projected actor locations by resampling events with replacement and re-estimating the model on each bootstrap replicate, following Kim, Liu and Desmarais (2023). Each replicate yields a parameter vector and (optionally) a set of Projected Actor Locations; the collection of replicate PAL sets can be treated as multiple imputations and pooled with Rubin's Rules (see pool_rubin()).

Usage

bootstrap_pals(
  events,
  R = 50,
  model = c("four", "one"),
  predict_time = NULL,
  actors = NULL,
  seed = NULL,
  ...
)

Arguments

events

A pal_events object.

R

Number of bootstrap replicates (default 50; the paper uses 10).

model

"four" or "one" (passed to estimate_pals).

predict_time

Optional Date (or vector of Dates). When supplied, every replicate also projects all actors at these times, so the spread of projected coordinates across replicates is available for confidence regions and pooling.

actors

For projection, which actors to project (default: all in events).

seed

Optional integer seed; replicate r uses seed + r so the whole run is reproducible.

...

Further arguments passed to estimate_pals (e.g. aggregate, alter_weight, method, control).

Details

Resampling is over rows of events (the nonparametric event bootstrap). Duplicated events are kept as ordinary repeated events. Replicates whose optimizer fails to converge are retained but flagged via the convergence column of estimates.

Value

An object of class pals_boot with components:

estimates

An R-row data.frame of replicate parameter estimates.

estimate

The point estimate on the full sample (an estimate_pals fit).

projections

If predict_time was given, a data.frame of projected lon/lat for every actor-time-replicate combination; otherwise NULL.

R, model, call

Bookkeeping.

Methods: print(), summary() (bootstrap SEs / percentile intervals), and coef() (the full-sample point estimate).

See Also

estimate_pals(), pool_rubin().

Examples

ev <- simulate_conflict_events(n_actors = 8, n_events = 200, seed = 1)
bt <- bootstrap_pals(ev, R = 10, model = "one", seed = 1)
summary(bt)


palsr documentation built on July 1, 2026, 5:07 p.m.