Description Usage Arguments Details Value References Examples

View source: R/importance_sampling.R

This function samples from the posterior distribution using importance sampling, assuming a multivariate (truncated) normal prior distribution and a MNL likelihood.

1 2 | ```
ImpsampMNL(n.draws, prior.mean, prior.covar, des, n.alts, y,
alt.cte = NULL, lower = NULL, upper = NULL)
``` |

`n.draws` |
Numeric value indicating the number of draws. |

`prior.mean` |
Numeric vector indicating the mean of the multivariate normal distribution (prior). |

`prior.covar` |
Covariance matrix of the prior distribution. |

`des` |
A design matrix in which each row is a profile. If alternative
specific constants are present, those should be included as the first
column(s) of the design. Can be generated with |

`n.alts` |
Numeric value indicating the number of alternatives per choice set. |

`y` |
A binary response vector. |

`alt.cte` |
A binary vector indicating for each alternative whether an
alternative specific constant is desired. The default is |

`lower` |
Numeric vector of lower truncation points, the default
is |

`upper` |
Numeric vector of upper truncation points, the default
is |

For the proposal distribution a t-distribution with degrees of freedom equal
to the number of parameters is used. The posterior mode is estimated using
`optim`

, and the covariance matrix is calculated as the negative
inverse of the generalized Fisher information matrix. See reference for more
information.

From this distribution a lattice grid of draws is generated.

If truncation is present, incorrect draws are rejected and new ones are
generated untill `n.draws`

is reached. The covariance matrix is in this case
still calculated as if no truncation was present.

`sample` |
Numeric vector with the (unweigthted) draws from the posterior distribution. |

`weights` |
Numeric vector with the associated weights of the draws. |

`max` |
Numeric vector with the estimated mode of the posterior distribution. |

`covar` |
Matrix representing the estimated variance covariance matrix. |

juidefix

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ```
## Example 1: sample from posterior, no constraints, no alternative specific constants
# choice design
design <- example_design
# Respons.
truePar <- c(0.7, 0.6, 0.5, -0.5, -0.7, 1.7) # some values
set.seed(123)
resp <- RespondMNL(par = truePar, des = design, n.alts = 2)
#prior
pm <- c(1, 1, 1, -1, -1, 1) # mean vector
pc <- diag(1, ncol(design)) # covariance matrix
# draws from posterior.
ImpsampMNL(n.draws = 100, prior.mean = pm, prior.covar = pc,
des = design, n.alts = 2, y = resp)
## example 2: sample from posterior with constraints
# and alternative specific constants
# choice design.
design <- example_design2
# Respons.
truePar <- c(0.2, 0.8, 0.7, 0.6, 0.5, -0.5, -0.7, 1.7) # some values
set.seed(123)
resp <- RespondMNL(par = truePar, des = design, n.alts = 3)
# prior
pm <- c(1, 1, 1, 1, 1, -1, -1, 1) # mean vector
pc <- diag(1, ncol(design)) # covariance matrix
low = c(-Inf, -Inf, 0, 0, 0, -Inf, -Inf, 0)
up = c(Inf, Inf, Inf, Inf, Inf, 0, 0, Inf)
# draws from posterior.
ImpsampMNL(n.draws = 100, prior.mean = pm, prior.covar = pc, des = design,
n.alts = 3, y = resp, lower = low, upper = up, alt.cte = c(1, 1, 0))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.