/*-----------------------------------------------------------------
S A S S A M P L E L I B R A R Y
NAME: fmmex04
TITLE: Documentation Example 4 for PROC FMM
Multinomial Cluster Model
PRODUCT: STAT
SYSTEM: ALL
KEYS: Multinomial overdispersion
Information Criteria
PROCS: FMM
DATA: Housing satisfaction data, Wilson (1989).
SUPPORT: Dave Kessler
REF: Brier, S.S. (1980), Analysis of contingency tables
under cluster sampling, Biometrika, 67, 591-596
REF: Wilson J.R., (1989), Chi-square tests for
overdispersion with multiparameter estimates,
Journal of the Royal Statistical Society Series C
(Applied Statistics), 38, 3, 441-453
REF: Morel, J.G. and Nagaraj, N.K. [sic] (1993),
A Finite Mixture Distribution for Modeling
Multinomial Extra Variation, Biometrika, 80,
363-371
MISC:
-----------------------------------------------------------------*/
data housing;
label us = 'Unsatisfied'
s = 'Satisfied'
vs = 'Very Satisfied';
input type $ us s vs @@;
datalines;
rural 3 2 0 rural 3 2 0 rural 0 5 0 rural 3 2 0 rural 0 5 0
rural 4 1 0 rural 3 2 0 rural 2 3 0 rural 4 0 1 rural 0 4 1
rural 2 3 0 rural 4 1 0 rural 4 1 0 rural 1 2 2 rural 4 1 0
rural 1 3 1 rural 4 1 0 rural 5 0 0
urban 0 4 1 urban 0 5 0 urban 0 3 2 urban 3 2 0 urban 2 3 0
urban 1 3 1 urban 4 1 0 urban 4 0 1 urban 0 3 2 urban 1 2 2
urban 0 5 0 urban 3 2 0 urban 2 3 0 urban 2 2 1 urban 4 0 1
urban 0 4 1 urban 4 1 0
;
proc fmm data=housing;
class type;
model us s vs = Type / dist=multinomial;
output out=Pred pred;
run;
data Pred; set Pred;
Pred_1 = Pred_1 / (us + s + vs);
Pred_2 = Pred_2 / (us + s + vs);
Pred_3 = Pred_3 / (us + s + vs);
run;
proc sort data=Pred nodupkey;
by type;
proc print data=pred noobs;
var type pred:;
run;
proc fmm data=housing;
class type;
model us s vs = Type / dist=multinomcluster;
output out=Pred pred;
probmodel Type;
run;
data Pred; set Pred;
Pred_1 = Pred_1 / (us + s + vs);
Pred_2 = Pred_2 / (us + s + vs);
Pred_3 = Pred_3 / (us + s + vs);
run;
proc sort data=Pred nodupkey;
by type;
proc print data=pred noobs;
var type pred:;
run;