BookmarkSubscribeRSS Feed
Pariz
Fluorite | Level 6

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.

1 REPLY 1
Rick_SAS
SAS Super FREQ

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."

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1613 views
  • 0 likes
  • 2 in conversation