Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get the existing package running... #5

Open
gregmacfarlane opened this issue Apr 18, 2015 · 3 comments
Open

Get the existing package running... #5

gregmacfarlane opened this issue Apr 18, 2015 · 3 comments
Assignees

Comments

@gregmacfarlane
Copy link
Collaborator

...in an R way. See #3 for at least one bug that needs to be fixed. There will probably be others that will crop up as we move forward. As we do this, we should put more comments the code and make notes of the things that the user should work with, and the things that should happen behind the scenes.

Ideally, we could get this to the point where the user executes

my_model <- macml(formula, data, ...)

and my_model is an object of a particular class with methods for printing summaries, covariances, etc. This could be a while off, but it's how more people could use it.

See @hadley's style guide for R, http://adv-r.had.co.nz/Style.html

@sidharthanr
Copy link
Owner

Okay, some of these things can be made generic across models; for example, printing the summaries, covariances etc. We will work towards this.

I think calling the estimation MACML can be confusing. ( I have got this feedback from many people and I kind of understand where they are coming from).

CSRP.r stand for a Cross-sectional Random parameter Model uses Maximum Likelihood and not Composite Marginal Likelihood

PNRP.r is Panel Random Parameter model and does use Composite Marginal Likelihood method in estimation. ( I will add PNRP.r later when CSRP.r is stable)

Both of these uses the cdfmvna function, which stands for CDF MVN A - Cumalative Distribution Function of a Multivariate Normal Vector using Approximation (one proposed by Joe (1995)).

I think three must read papers for these codes are:

  1. Joe, H., 1995. Approximations to multivariate normal rectangle probabilities based on
    conditional expectations. Journal of the American Statistical Association 90(431), 957-964.
  2. Varin, Cristiano. "On composite marginal likelihoods." AStA Advances in Statistical Analysis 92.1 (2008): 1-28.
  3. Bhat, C.R. (2011), "The Maximum Approximate Composite Marginal Likelihood (MACML) Estimation of Multinomial Probit-Based Unordered Response Choice Models," Transportation Research Part B, Vol. 45, No. 7, pp. 923-939

We should include this information within the documentation/code.

@gregmacfarlane
Copy link
Collaborator Author

As I understand it, MACML is an estimator that provides consistent and efficient estimates of a wide variety of choice models in cases where traditional maximum likelihood techniques are slow or inconsistent. Is this right?

I guess I was thinking that this package would make it possible for people to access the MACML estimator in a convenient way. It seems that the difference between PNRP and CSRP is an issue of formula, and not of estimation technique, am I right? So we probably need to have an infrastructure to handle formula objects in a consistent and flexible way.

@sidharthanr
Copy link
Owner

CML estimator is consistenet but not efficient (Same is the case with MACML). It is fast and the reduction in efficiency is very marginal - at least based on empirical evidence as shown in this paper - Bhat, C.R., C. Varin, and N. Ferdous (2010), "A Comparison of the Maximum Simulated Likelihood and Composite Marginal Likelihood Estimation Approaches in the Context of the Multivariate Ordered Response Model.

Difference between CSRP and PNRP is
CSRP is estimated by Maximum Likelihood (objective function) + Approximation (for MVN CDF)
PNRP is estimated by Composite Marginal Likelihood (objective function) + Approximation (for MVN CDF).

So, there is no CML methodology in estimating CSRP.

@gregmacfarlane gregmacfarlane self-assigned this Sep 28, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants