predProbs: User-friendly predicted probability analysis

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/predProbs.r

Description

Easy generation and plotting of predicted probabilities from a fitted strategic model.

Usage

1
2
predProbs(model, x, xlim = c(min(x), max(x)), n = 100, ci = 0.95,
  type = c("outcome", "action"), makePlots = FALSE, report = TRUE, ...)

Arguments

model

a fitted model of class game.

x

character string giving the name of the variable to place "on the x-axis" while all others are held constant. Partial matches are accepted.

xlim

numeric, length 2: the range that x should be varied over (if x is continuous). Defaults to the observed range of x.

n

integer: the number of observations to generate (if x is continuous).

ci

numeric: width of the confidence interval to estimate around each predicted probability. Set to 0 to estimate no confidence intervals.

type

whether to generate predicted values for outcomes (the default) or actions

makePlots

logical: whether to automatically make the default plot for the returned object. See plot.predProbs.

report

logical: whether to print a status bar while obtaining the confidence intervals for the predicted probabilities.

...

used to set values for variables other than x in the profile of observations. See "Details" and "Examples".

Details

predProbs provides an easy way to analyze the estimated marginal effect of an independent variable on the probability of particular outcomes, using the estimates returned by a strategic model. The procedure is designed so that, for a preliminary analysis, the user can simply specify the fitted model and the independent variable of interest, and quickly obtain plots of predicted probabilities. However, it is flexible enough to allow for finely tuned analysis as well.

The procedure works by varying x, the variable of interest, across its observed range (or one specified by the user in xlim) while holding all other independent variables in the model fixed. The profile created by default is as follows (the same defaults as in the sim function in the Zelig package):

However, it is possible to override these defaults for any or all variables. For example, to set a variable named polity to its lower quartile, call predProbs with the argument polity = quantile(polity, 0.25). To set a factor variable to a particular level, provide the name of the level as a character string (in quotes). (Also see the examples below.)

Confidence intervals for each predicted point are generated by bootstrap. If model has a non-null boot.matrix element (i.e., a bootstrap was performed with the model fitting), then these results are used to make the confidence intervals. Otherwise, a parametric bootstrap sample is generated by sampling from a multivariate normal distribution around the parameter estimates. In this case, a warning is issued.

For information on plotting the predicted probabilities, see plot.predProbs. The plots are made with base graphics. If you prefer to use an alternative graphics package, all the information necessary to make the plots is included in the data frame returned.

Value

An object of class predProbs. This is a data frame containing each hypothetical observation's predicted probability, the upper and lower bounds of the confidence interval, and the value of each regressor.

Author(s)

Brenton Kenkel (brenton.kenkel@gmail.com). Code for escaping special regex characters was taken from the Hmisc package's function escapeRegex, written by Charles Dupont.

See Also

predict.game for somewhat more flexible (but fussier) generation of predicted probabilities.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
data("war1800")
f1 <- esc + war ~ s_wt_re1 + revis1 | 0 | regime1 | balanc + regime2
m1 <- egame12(f1, data = war1800, boot = 10)

pp1 <- predProbs(m1, x = "s_wt_re1", n = 5)
print(pp1)  ## Hypothetical observations and their predicted probs
plot(pp1, which = 2)  ## See ?plot.predProbs for more plot examples

## Changing the profile used
pp2 <- predProbs(m1, x = "s_wt_re1", n = 5, revis1 = 1, balanc = 0.7)
pp3 <- predProbs(m1, x = "s_wt_re1", n = 5, regime1 = "dem")
pp4 <- predProbs(m1, x = "s_wt_re1", n = 5, balanc = median(balanc))

## Variable names (other than `x`) must match exactly!
## Not run: 
    pp5 <- predProbs(m1, x = "s_wt_re1", bal = 0.7)  ## Error will result

## End(Not run)

## `x` can be a factor too
pp6 <- predProbs(m1, x = "regime1")

## Action probabilities
pp7 <- predProbs(m1, x = "regime1", type = "action")

games documentation built on May 2, 2019, 3:26 p.m.