[R] comparing glm models - lower AIC but insignificant coefficients

Kjetil Brinchmann Halvorsen kjetil at acelerate.com
Tue May 24 00:18:29 CEST 2005


Constantinos Antoniou wrote:

> Hello,
>
> I am a new R user and I am trying to estimate some generalized linear  
> models (glm). I am trying to compare a model with a gaussian  
> distribution and an identity link function, and a poisson model with  
> a log link function. My problem is that while the gaussian model has  
> significantly lower (i.e. "better") AIC (Akaike Information  
> Criterion) most of the coefficients are not significant. On the other  
> hand, the poisson model has a higher (i.e. "worse") AIC, but almost  
> all the coefficients are extremely significant (expect for one that  
> still has p=0.07).
>
> Summary output of the two models follows... [sorry for the large  
> number of independent variables, but the issue is less pronounced  
> with fewer covariates].
>
> My question is two-fold:
> - AIC supposedly can be used to compare non-nested models (although  
> there are concerns and I have also seen a couple in this list's  
> archives). Is this a case where AIC is not a good measure to compare  
> the two models? If so, is there another measure (besides choosing the  
> model with the significant coefficients)? [These are time-series  
> data, so I am also looking at acf/pacf of the residuals].

The topic of using AIC to compare non-nested models have been discussed 
on the list, please search. But even
if AIC can be used to compare non-nested models, the AIC as calculated 
by R is not suited. The AIC
includes an arbitrary additive constant, as the log-likelihood does. And 
this additive constant
depend usually on constants in the density which are inconsequential for 
AIC, and may be omitted.

And even if they were included, it seem doubtfull to me that this would 
help for comparision of Poisson and normal
models, since the underlying measure is different! The experts can 
comment on that.

That said, I would tend to use Poisson if I had count data and a poisson 
model looks remotely sensible. That
will give a more interpretable model, which seems more important than 
purely data-analytic considerations.
And lasstly, if the poisson assumptions seems reasonable, there will be 
a non-constant variance, and if you use
a normal model you should use weighted least squares or tran sform the 
response (square root). If you try that, maybe you will
see that the normal model give lower p-values for the coefficients. Also 
make a plot of residuals versus
fitted value!

> - Could the very high significance of the coefficients in the poisson  
> model hint at some issue?

Maybe that the model fits better than the normal?

Kjetil

>
> Thanking you in advance,
>
> Costas
>
>
> +++++++++++++++++++++++
> POISSON - LOG LINK
> +++++++++++++++++++++++
>
>
> Call:
> glm(formula = TotalDeadInjured[3:48] ~ -1 + Month[3:48] + sin(pi *
>     Month[3:48]/6) + cos(pi * Month[3:48]/6) + sin(pi * Month[3:48]/ 
> 12) +
>     cos(pi * Month[3:48]/12) + ThousandCars[3:48] + monthcycle[3:48] +
>     TotalDeadInjured[1:46] + I((TotalDeadInjured[1:46])^2) +
>     I((TotalDeadInjured[1:46])^3), family = poisson(link = log))
>
> Deviance Residuals:
>     Min       1Q   Median       3Q      Max
> -3.6900  -1.1901  -0.1847   0.9477   4.3967
>
> Coefficients:
>                                 Estimate Std. Error z value Pr(>|z|)
> Month[3:48]                   -7.712e-02  5.530e-03 -13.947  < 2e-16 ***
> sin(pi * Month[3:48]/6)       -1.419e-01  2.759e-02  -5.144 2.68e-07 ***
> cos(pi * Month[3:48]/6)       -8.407e-02  1.799e-02  -4.672 2.99e-06 ***
> sin(pi * Month[3:48]/12)      -2.776e-02  1.558e-02  -1.782 0.074702 .
> cos(pi * Month[3:48]/12)       5.195e-02  1.608e-02   3.232 0.001231 **
> ThousandCars[3:48]             2.733e-02  2.255e-03  12.118  < 2e-16 ***
> monthcycle[3:48]               6.307e-02  6.546e-03   9.635  < 2e-16 ***
> TotalDeadInjured[1:46]        -2.925e-02  8.460e-03  -3.457 0.000546 ***
> I((TotalDeadInjured[1:46])^2)  1.218e-04  3.613e-05   3.370 0.000750 ***
> I((TotalDeadInjured[1:46])^3) -1.640e-07  4.961e-08  -3.306 0.000946 ***
> ---
> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
>
> (Dispersion parameter for poisson family taken to be 1)
>
>     Null deviance: 78694.70  on 46  degrees of freedom
> Residual deviance:   130.03  on 36  degrees of freedom
> AIC: 476.08
>
> Number of Fisher Scoring iterations: 4
>
> +++++++++++++++++++++++++
> GAUSSIAN
> ++++++++++++++++++++++++++
>
> Call:
> glm(formula = TotalDeadInjured[3:48] ~ -1 + Month[3:48] + sin(pi *
>     Month[3:48]/6) + cos(pi * Month[3:48]/6) + sin(pi * Month[3:48]/ 
> 12) +
>     cos(pi * Month[3:48]/12) + ThousandCars[3:48] + monthcycle[3:48] +
>     TotalDeadInjured[1:46] + I((TotalDeadInjured[1:46])^2) +
>     I((TotalDeadInjured[1:46])^3), family = gaussian(link = identity))
>
> Deviance Residuals:
>     Min       1Q   Median       3Q      Max
> -61.326  -12.012   -1.756   14.204   78.991
>
> Coefficients:
>                                 Estimate Std. Error t value Pr(>|t|)
> Month[3:48]                   -8.111e+00  2.115e+00  -3.835 0.000487 ***
> sin(pi * Month[3:48]/6)       -2.639e+01  1.095e+01  -2.409 0.021246 *
> cos(pi * Month[3:48]/6)       -1.700e+01  7.138e+00  -2.382 0.022629 *
> sin(pi * Month[3:48]/12)       2.392e-01  6.524e+00   0.037 0.970956
> cos(pi * Month[3:48]/12)       8.785e+00  6.317e+00   1.391 0.172835
> ThousandCars[3:48]             2.219e+00  8.604e-01   2.579 0.014146 *
> monthcycle[3:48]               5.364e+00  2.494e+00   2.151 0.038301 *
> TotalDeadInjured[1:46]        -4.974e+00  3.263e+00  -1.524 0.136171
> I((TotalDeadInjured[1:46])^2)  2.154e-02  1.410e-02   1.527 0.135382
> I((TotalDeadInjured[1:46])^3) -2.999e-05  1.959e-05  -1.530 0.134637
> ---
> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
>
> (Dispersion parameter for gaussian family taken to be 831.6357)
>
>     Null deviance: 1927714  on 46  degrees of freedom
> Residual deviance:   29939  on 36  degrees of freedom
> AIC: 450.54
>
> Number of Fisher Scoring iterations: 2
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
>
>
>


-- 

Kjetil Halvorsen.

Peace is the most effective weapon of mass construction.
               --  Mahdi Elmandjra




-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.




More information about the R-help mailing list