Learn R Programming

mixtools (version 2.0.0)

regmixMH: Metropolis-Hastings Algorithm for Mixtures of Regressions

Description

Return Metropolis-Hastings (M-H) algorithm output for mixtures of multiple regressions with arbitrarily many components.

Usage

regmixMH(y, x, lambda = NULL, beta = NULL, s = NULL, k = 2,
         addintercept = TRUE, mu = NULL, sig = NULL, lam.hyp = NULL,
         sampsize = 1000, omega = 0.01, thin = 1)

Value

regmixMH returns a list of class mixMCMC with items:

x

A nxp matrix of the predictors.

y

A vector of the responses.

theta

A (sampsize/thin) x q matrix of MCMC-sampled q-vectors, where q is the total number of parameters in beta, s, and lambda.

k

The number of components.

Arguments

y

An n-vector of response values.

x

An nxp matrix of predictors. See addintercept below.

lambda

Initial value of mixing proportions. Entries should sum to 1. This determines number of components. If NULL, then lambda is random from uniform Dirichlet and number of components is determined by beta.

beta

Initial value of beta parameters. Should be a pxk matrix, where p is the number of columns of x and k is number of components. If NULL, then beta has uniform standard normal entries. If both lambda and beta are NULL, then number of components is determined by s.

s

k-vector of standard deviations. If NULL, then \(1/\code{s}^2\) has random standard exponential entries. If lambda, beta, and s are NULL, then number of components determined by k.

k

Number of components. Ignored unless all of lambda, beta, and s are NULL.

addintercept

If TRUE, a column of ones is appended to the x matrix before the value of p is calculated.

mu

The prior hyperparameter of same size as beta; the means of beta components. If NULL, these are set to zero.

sig

The prior hyperparameter of same size as beta; the standard deviations of beta components. If NULL, these are all set to five times the overall standard deviation of y.

lam.hyp

The prior hyperparameter of length k for the mixing proportions (i.e., these are hyperparameters for the Dirichlet distribution). If NULL, these are generated from a standard uniform distribution and then scaled to sum to 1.

sampsize

Size of posterior sample returned.

omega

Multiplier of step size to control M-H acceptance rate. Values closer to zero result in higher acceptance rates, generally.

thin

Lag between parameter vectors that will be kept.

References

Hurn, M., Justel, A. and Robert, C. P. (2003) Estimating Mixtures of Regressions, Journal of Computational and Graphical Statistics 12(1), 55--79.

See Also

regcr

Examples

Run this code
## M-H algorithm for NOdata with acceptance rate about 40%.

data(NOdata)
attach(NOdata)
set.seed(100)
beta <- matrix(c(1.3, -0.1, 0.6, 0.1), 2, 2)
sigma <- c(.02, .05)
MH.out <- regmixMH(Equivalence, NO, beta = beta, s = sigma, 
                   sampsize = 2500, omega = .0013)
MH.out$theta[2400:2499,]

Run the code above in your browser using DataLab