[R-sig-ME] Multi-level qualitative (fixed-effects) factors

Peter Francis peterfrancis at me.com
Tue Aug 3 10:53:20 CEST 2010


Sorry to everyone,

I guess i should rephrase this completely as i think i am not getting across what i want to ( my fault, i apologise for the spam!).

I am trying to discover which traits correlate with threatened or not (binary response- i do have different levele of threat but am unsure how to model continuos response variables in GLMM - quasi poisson?)

I shall work through a quick example and would appreciate it if you could tell me if my conclusions are justified.

Lets just say for ease i am have two models -  i can send str(traits) etc if required - 

> model1 <-lmer(threatornot~1+(1|a/b) + habit, family=binomial)
> 
> Generalized linear mixed model fit by the Laplace approximation 
> Formula: threatornot ~ 1 + (1 | a/b) + habit 
>  AIC  BIC logLik deviance
> 1406 1436 -696.9     1394
> Random effects:
> Groups       Name        Variance   Std.Dev.  
> family:order (Intercept) 6.9892e-01 8.3602e-01
> order        (Intercept) 4.2292e-14 2.0565e-07
> Number of obs: 1116, groups: family:order, 43; order, 9
> 
> Fixed effects:
>            Estimate Std. Error z value Pr(>|z|)   
> (Intercept) -0.04803    0.19174  -0.250  0.80219   
> habit2       1.10627    0.41607   2.659  0.00784 **
> habit3       0.92578    0.78141   1.185  0.23611   
> habit4       0.14383    0.38477   0.374  0.70856   
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 


This shows that with habit the model has a AIC value of 1406 and habit2 has the significant effect on the threat status of a species?

Now model 2
> model2 <-lmer(threatornot~1+(1|a/b) + habit + breedingsystem, family=binomial)
> Generalized linear mixed model fit by the Laplace approximation 
> Formula: threatornot ~ 1 + (1 | a/b) + habit + breedingsystem 
>  AIC  BIC logLik deviance
> 1408 1449 -696.2     1392
> Random effects:
> Groups       Name        Variance Std.Dev.
> family:order (Intercept) 0.67836  0.82363 
> order        (Intercept) 0.00000  0.00000 
> Number of obs: 1116, groups: family:order, 43; order, 9
> 
> Fixed effects:
>                Estimate Std. Error z value Pr(>|z|)   
> (Intercept)      0.17398    0.39138   0.444  0.65665   
> habit2           1.15687    0.41943   2.758  0.00581 **
> habit3           0.92017    0.78158   1.177  0.23907   
> habit4          -0.01673    0.43150  -0.039  0.96907   
> breedingsystem2 -0.18615    0.37849  -0.492  0.62285   
> breedingsystem3 -0.42513    0.40652  -1.046  0.29567   
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 


This shows that adding breeding system to the model doesn't fit the data any better (the AIC is higher), therefore breedingsystem has no significant effect on the threat status of a species

Under this simple example i can conclude that the habit of a species is significant in determining how threatened the species is and in particular species from habit2 are more threatened than those not from habit2.

Are these inferences justified or am i missing something?

Thanks




On 3 Aug 2010, at 08:50, Andrew Dolman wrote:

I don't get it. How can you fit the model with just 1 of three levels
of factor "habitat" and have the same number of observations as when
you run the model with all three? (It must have at least 2 levels to
fit anyway) Also, in the first example you have 4 levels of habitat.

Are they different levels of habitat resolution? e.g.

Aquatic - non aquatic
Aquatic - Terrestrial - Epiphytic
Aquatic - Terrestrial - Epiphytic - Up elephant's noses


Please read the posting guide and include proper examples of what you
are doing and what the data look like.


andydolman at gmail.com



On 3 August 2010 08:48, Peter Francis <peterfrancis at me.com> wrote:
> Hi David and Ben, thanks for your help -
> 
> I was worried this would make little sense!
> 
> I have set out my candidate models
> 
> A+B+C+D
> B+C+D
> A+C+D
> etc etc
> 
> And am running through them in lmer. Factor A for instance is Habit, which takes 3 forms - aquatic, terrestrial or epiphyte.
> 
> When i run the model with A as a factor i get the breakdown of the individual levels habitat 1, habitat 2 and habitat 3 and a corresponding AIC score. However if i just run it with habitat 3 - aquatic - i get a lower AIC score, therefore the model fits the data better?
> 
> I am unsure how to, without splitting my factors into their constituent levels at the beginning - A1+A2+A3 + B1 + B2 etc, arrive at the model with the lowest AIC?
> 
> Thanks
> 
> Peter
> 
> On 3 Aug 2010, at 00:16, David Duffy wrote:
> 
> On Mon, 2 Aug 2010, Peter Francis wrote:
> 
>> I have many multi level factors i.e habit - aquatic, terrestrial, epiphyte etc
>> 
>> I ran the model with habit as a factor
>> 
>>> model111 <-lmer(threatornot~1+(1|a/b) + habit, family=binomial)
>> 
>>> Generalized linear mixed model fit by the Laplace approximation
>>> Formula: threatornot ~ 1 + (1 | order/family) + habit
>>> AIC  BIC logLik deviance
>>> 1406 1436 -696.9     1394
>>> Random effects:
>>> Groups       Name        Variance   Std.Dev.
>>> family:order (Intercept) 6.9892e-01 8.3602e-01
>>> order        (Intercept) 4.2292e-14 2.0565e-07
>>> Number of obs: 1116, groups: family:order, 43; order, 9
>>> 
>>> Fixed effects:
>>>           Estimate Std. Error z value Pr(>|z|)
>>> (Intercept) -0.04803    0.19174  -0.250  0.80219
>>> habit2       1.10627    0.41607   2.659  0.00784 **
>>> habit3       0.92578    0.78141   1.185  0.23611
>>> habit4       0.14383    0.38477   0.374  0.70856
>> 
>> ---
>> Which had a AIC of 1406
>> 
>> I then re-ran the model with only aquatic and got a lower AIC value - which i guess is to be expected as aquatic is highly significant and aquatic species are more prone to threat ( my response).
>> 
>> 
>>>> model112 <-lmer(threatornot~1+(1|a/b) + aquatic, family=binomial)
>>>> model112
>>> Generalized linear mixed model fit by the Laplace approximation
>>> Formula: threatornot ~ 1 + (1 | order/family) + aquatic
>>> AIC  BIC logLik deviance
>>> 1395 1415 -693.4     1387
>>> Random effects:
>>> Groups       Name        Variance Std.Dev.
>>> family:order (Intercept) 0.60007  0.77464
>>> order        (Intercept) 0.00000  0.00000
>>> Number of obs: 1116, groups: family:order, 43; order, 9
>>> 
>>> Fixed effects:
>>>           Estimate Std. Error z value Pr(>|z|)
>>> (Intercept)   0.1572     0.1827   0.860 0.389613
>>> aquatic      -0.6683     0.1737  -3.847 0.000119 ***
>> 
>> My question is - when i developed the candidate models i thought using multilevel factors would be OK and i would be able to tease out the individual levels. If i split the factors into levels from the beginning then i am left with a huge amount of candidate models? This would not be a problem in stepwise regression as i could just remove the habit with the least significant P Value.
>> 
>> If i remove habits i "feel" are unimportant from the beginning i feel i would be limiting the model too much.
>> 
>> I hope this makes sense!
> 
> I don't understand at all, I'm afraid.  Is aquatic the same as habit=2, or something?  If so, there is something funny about the model fits.
> 
> If family and order are "nuisance" variables, then a stepwise approach is quite reasonable (if you are someone who thinks stepwise regression is reasonable, of course ;)).
> 
> Just 2c, David Duffy.
> 
> --
> | David Duffy (MBBS PhD)                                         ,-_|\
> | email: davidD at qimr.edu.au  ph: INT+61+7+3362-0217 fax: -0101  /     *
> | Epidemiology Unit, Queensland Institute of Medical Research   \_,-._/
> | 300 Herston Rd, Brisbane, Queensland 4029, Australia  GPG 4D0B994A v
> 
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> 




More information about the R-sig-mixed-models mailing list