COMMENT 2-component model. COMMENT To run this model with #M2 fixed at 1/3, substitute 1/3 for 1/2 in the COMPUTE #M2 statement. COMMENT To run a model on Avg2, substitute Avg2 in the COMPUTE #DV and CNLR statements. MODEL PROGRAM B01 = 0.1 G01 = -2.5 Q = 0.0 . COMPUTE #DV = Avg1 . COMMENT Composition submodel. COMPUTE #C = EXP(Q)/(1+EXP(Q)) . COMMENT Location submodel. COMPUTE #M1 = EXP(B01)/(1+EXP(B01)) . COMPUTE #M2 = 1/2 . COMPUTE #MU = #C*#M1 + (1-#C)*#M2 . COMMENT Dispersion submodel. COMPUTE PHI1 = EXP(-G01) . COMPUTE PRED_ = #MU . COMPUTE RESID_ = #DV - PRED_ . COMPUTE #D = .01 . COMPUTE LL = LN(MAX(0.001, #C*PDF.BETA(#DV, #M1*PHI1, MAX(0.001, PHI1 - #M1*PHI1))+(1-#C)* PDF.UNIFORM(#DV, #M2-#D, #M2+#D))) . COMPUTE LOSS_ = -LL . CNLR Avg1 /OUTFILE='C:\SPSSFNLR.TMP' /PRED PRED_ /LOSS LOSS_ /CRITERIA STEPLIMIT 2 ISTEP 1E+20 . COMMENT 3-component model. COMMENT To run a model on Avg2, substitute Avg2 in the COMPUTE #DV and CNLR statements. MODEL PROGRAM B01 = 0.1 G01 = -2.5 Q1 = -0.5 Q2 = 0.5 . COMPUTE #DV = Avg1 . COMMENT Composition submodel. COMPUTE #C1 = EXP(Q1)/(1+EXP(Q1)+EXP(Q2)) . COMPUTE #C2 = EXP(Q2)/(1+EXP(Q1)+EXP(Q2)) . COMMENT Location submodel. COMPUTE #M1 = EXP(B01)/(1+EXP(B01)) . COMPUTE #MU = #C1*#M1 + #C2/2 + (1-#C1-#C2)/3 . COMPUTE #M2 = 1/2 . COMPUTE #M3 = 1/3 . COMMENT Dispersion submodel. COMPUTE PHI1 = EXP(-G01) . COMPUTE PRED_ = #MU . COMPUTE RESID_ = #DV - PRED_ . COMPUTE #D = .01 . COMPUTE LL = LN(MAX(0.001, #C1*PDF.BETA(#DV, #M1*PHI1, MAX(0.001, PHI1 - #M1*PHI1))+ #C2*PDF.UNIFORM(#DV, #M2-#D, #M2+#D) + (1-#C1-#C2) *PDF.UNIFORM(#DV, #M3-#D, #M3+#D))) . COMPUTE LOSS_ = -LL . CNLR Avg1 /OUTFILE='C:\SPSSFNLR.TMP' /PRED PRED_ /LOSS LOSS_ /CRITERIA STEPLIMIT 2 ISTEP 1E+20 .