Chapter Contents |
Previous |
Next |
The MODECLUS Procedure |
The following statements produce Output 42.1.1:
options noovp ps=28 ls=95; title 'Modeclus Example with Univariate Distributions'; title2 'Uniform Distribution'; data uniform; drop n; true=1; do n=1 to 100; x=ranuni(123); output; end; axis1 label=(angle=90 rotate=0) minor=none order=(0 to 3 by 0.5); axis2 minor=none; symbol9 v=none i=splines; proc modeclus data=uniform m=1 k=10 20 40 60 out=out short; var x; proc gplot data=out; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _K_; run; /*********************************************/
proc modeclus data=uniform m=1 r=.05 .10 .20 .30 out=out short; var x; axis1 label=(angle=90 rotate=0) minor=none order=(0 to 2 by 0.5); proc gplot data=out; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _R_; run;Output 42.1.1: Cluster Analysis of Sample from a Uniform Distribution
|
|
The following statements produce Output 42.1.2:
title2 'Exponential Distribution'; data expon; drop n; do n=1 to 100; x=ranexp(123); true=exp(-x); output; end; axis1 label=(angle=90 rotate=0) minor=none order=(0 to 2 by 0.5); axis2 minor=none; proc modeclus data=expon m=1 k=10 20 40 out=out short; var x; proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _K_; run; /*********************************************/ proc modeclus data=expon m=1 r=.20 .40 .80 out=out short; var x; axis1 label=(angle=90 rotate=0) minor=none order=(0 to 1 by 0.5); proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _R_; run; /*********************************************/ title3 'Different Density-Estimation and Clustering Windows'; proc modeclus data=expon m=1 r=.20 ck=10 20 40 out=out short; var x; proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _CK_; run; /*********************************************/ title3 'Cascaded Density Estimates Using Arithmetic Means'; proc modeclus data=expon m=1 r=.20 cascade=1 2 4 am out=out short; var x; proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _R_ _CASCAD_; run;Output 42.1.2: Cluster Analysis of Sample from an Exponential Distribution
|
|
|
The following statements produce Output 42.1.3:
title2 'Normal Mixture Distribution'; data normix; drop n sigma; sigma=.125; do n=1 to 100; x=rannor(456)*sigma+mod(n,2)/2; true=exp(-.5*(x/sigma)**2)+exp(-.5*((x-.5)/sigma)**2); true=.5*true/(sigma*sqrt(2*3.1415926536)); output; end; axis1 label=(angle=90 rotate=0) minor=none order=(0 to 3 by 0.5); axis2 minor=none; proc modeclus data=normix m=1 k=10 20 40 60 out=out short; var x; proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2; plot2 true*x=9/vaxis=axis1 haxis=axis2; by _K_; run; /*********************************************/ proc modeclus data=normix m=1 r=.05 .10 .20 .30 out=out short; var x; proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2 ; plot2 true*x=9/vaxis=axis1 haxis=axis2 ; by _R_; run; /*********************************************/ title3 'Cascaded Density Estimates Using Arithmetic Means'; proc modeclus data=normix m=1 r=.05 cascade=1 2 4 am out=out short; var x; axis1 label=(angle=90 rotate=0) minor=none order=(0 to 2 by 0.5); proc gplot; plot density*x=cluster /frame cframe=ligr vzero nolegend vaxis=axis1 haxis=axis2 ; plot2 true*x=9/vaxis=axis1 haxis=axis2 ; by _R_ _CASCAD_; run;Output 42.1.3: Cluster Analysis of Sample from a Bimodal Mixture of Two Normal Distributions
|
|
|
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.