llnhlogit {bayesm}R Documentation

Evaluate Log Likelihood for non-homothetic Logit Model

Description

llnhlogit evaluates log-likelihood for the Non-homothetic Logit model.

Usage

llnhlogit(theta, choice, lnprices, Xexpend)

Arguments

theta

parameter vector (see details section)

choice

nx1n x 1 vector of choice (1,...,p)

lnprices

nxpn x p array of log-prices

Xexpend

nxdn x d array of vars predicting expenditure

Details

Non-homothetic logit model, Pr(i)=exp(tauvi)/sumjexp(tauvj)Pr(i) = exp(tau v_i) / sum_j exp(tau v_j)

vi=alphaiekappaStariuilnpiv_i = alpha_i - e^{kappaStar_i}u^i - lnp_i
tau is the scale parameter of extreme value error distribution.
uiu^i solves ui=psii(ui)E/piu^i = psi_i(u^i)E/p_i.
ln(psii(U))=alphaiekappaStariUln(psi_i(U)) = alpha_i - e^{kappaStar_i}U.
ln(E)=gammaXexpendln(E) = gamma'Xexpend.

Structure of theta vector:
alpha: px1p x 1 vector of utility intercepts.
kappaStar: px1p x 1 vector of utility rotation parms expressed on natural log scale.
gamma: kx1k x 1 – expenditure variable coefs.
tau: 1x11 x 1 – logit scale parameter.

Value

Value of log-likelihood (sum of log prob of observed multinomial outcomes).

Warning

This routine is a utility routine that does not check the input arguments for proper dimensions and type.

Author(s)

Peter Rossi, Anderson School, UCLA, perossichi@gmail.com.

References

For further discussion, see Chapter 4, Bayesian Statistics and Marketing by Rossi, Allenby, and McCulloch.

See Also

simnhlogit

Examples

N=1000; p=3; k=1
theta = c(rep(1,p), seq(from=-1,to=1,length=p), rep(2,k), 0.5)
lnprices = matrix(runif(N*p), ncol=p)
Xexpend = matrix(runif(N*k), ncol=k)
simdata = simnhlogit(theta, lnprices, Xexpend)

## evaluate likelihood at true theta
llstar = llnhlogit(theta, simdata$y, simdata$lnprices, simdata$Xexpend)

[Package bayesm version 3.1-6 Index]