turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Mixture models using proc fmm: is there a way to f...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

11-16-2015 10:23 AM

Hi,

I have data with two modes or peaks. The first mode I model using a truncated normal distribution, whereas the second one I model using a normal distribution. The model converges fine. However, when I try to replace normal distribution by Weibull or Gamma, the model doesn't seem to get a correct result. Instead of modelling by weibull d'n the second mode, it models by it the first mode, while the second mode is modelled by a truncated normal distribution. Is there a way to somehow force the model to use truncated normal for the first mode and weibull for the second mode, as I only want to replace normal dist'n by Weibull. The code I'm using is:

proc fmm data=observations plot=density(bins=56);

model x = / dist=truncnormal(1.2,.);

model +/dist=weibull;

output out=output_file mean (component) var (component) mixweights(component) posterior(component) prob(component) predicted(component) pred(component) loglike(component);

run;

Thanks.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

11-16-2015 01:08 PM

You don't mention the sample size. For small data and components whose peaks nearly overlap, you might not have many options. The method just doesn't have enough power to distinguish two components that are close to each other unless the data size is large enough. The two things to try are

(1) use the PARMS option in the MODEL statement to provide guesses for the parameters.

(2) using the PARTIAL= option in the PROC FMM statement.to tell PROCFMM that an observation belongs to particular component

For a discussion of these topics, with examples, see "The power of finite mixture models."