Programming the statistical procedures from SAS

Fit Statistics from FMM & Genmod

Reply
Regular Contributor
Posts: 204

Fit Statistics from FMM & Genmod

[ Edited ]

Dear Sir or Madam,

 

How are you?

 

This post is related to the other here that Generalized Poisson distribution is better than Negative Binomial with scale=Pearson due to lower Log likelihood, AIC, AICC and BIC. 

 

I further fitted other models i.e. the Zero-inflated Poisson/Negative Binomial and Poisson hurdle and the Fit Statistics shows ZINB and Generalised Poisson are similar in magnitude.

 

Can I please ask why are the Fit Statistics are not identical for ZINB from proc fmm and genmod for Zero-Inflated Negative Binomial? Did I have the code wrong?

 

Secondly, is ZINB the best due to lower Fit Statistics? But if so, overdispersion still presents.. Why is that? Could it be that there is no other (important) explanatory variables?

 

 Your insight is much appreciated.

 

 PROC FMM PROC GENMOD
 PoissonPoisson hurdleZIPZINBGeneralized PoissonZINBPoisson
        
Fit Statistics       
-2 Log Likelihood889.8735.6735.6714.1709.9  
AIC (smaller is better)899.8755.6755.6736.1721.9719.5241899.7862
AICC (smaller is better)899.8755.7755.7736.3721.9719.658899.8166
BIC (smaller is better)927.7811.5811.5797.6755.4781.0401927.748
Pearson Statistic4544.5244424442568.42280.3  
Effective Parameters 101011   
Effective Components 221   
Deviance                                    697.5241727.6564
Scaled Deviance                              697.5241727.6564
Pearson Chi-Square      2156.27244544.5249
Scaled Pearson X2       2156.27244544.5249
Log Likelihood                              -348.762-383.701
Full Log Likelihood                         -348.762-444.8931

 
proc genmod data=tmp order=formatted; title "Genmod: ZINB"; where occ>0; format raps raps.; class raps; model inv=raps / dist=zinb maxit=1000; zeromodel raps; output out=zinb predicted=pred pzero=pzero; ods output ParameterEstimates=zinbparms; ods output modelfit=fit; run; data fit; set fit(where=(criterion="Scaled Pearson X2")); format pvalue pvalue6.4; pvalue=1-probchi(value,df); run; proc print data=fit noobs; var criterion value df pvalue; run; /* Criterion Value DF pvalue Scaled Pearson X2 2156.2724 1973 0.0022 *p-value<0.05 indicating rejection of the null hypothesis of no overdispersion at 5% confidence levels; */ proc fmm data=tmp; title "FMM: ZINB"; where occamt>0; format raps raps.; class raps; model Inv = raps / dist=negbin; model Inv = / dist=constant; probmodel raps; run;

 

Ask a Question
Discussion stats
  • 0 replies
  • 99 views
  • 0 likes
  • 1 in conversation