0
$\begingroup$

I have a dataset of ellipses and I am trying to perform regressions with different categorical variables to see what influences different ellipse parameters the most. As was suggested in the answer to this post, I used beta regressions for predictions about ellipse eccentricity (varies between 0-1), along with likelihood ratio tests with an intercept model, and eventually AIC rankings.

Now I am trying to execute a similar workflow with the areas of the ellipses, which are all values greater than 0. I was able to run these as glm gamma regressions, and the same code that worked with the likelihood ratio tests in the beta regressions produces an output for the gamma regressions, but I'm a little skeptical. All of the lrts for the gamma regressions have very small p-values, and I'm seeing nothing online about lrts for gamma regressions. So, I have these values, but I'm not sure if I can trust them. If I can't use lrt for a gamma regression, is there another method for me to compare an intercept only glm gamma to the fitted glm gamma model that's comparable to an ltr for a beta regression?

Here's an example of my model output using the model with the lowest (i.e., best) AIC score:

# Creating a null model
> gam0 <- glm(value ~ 1, data = SEAB_pivot, family = Gamma(link = "log"))
> s0 <- summary(gam0)
> s0

Call:
glm(formula = value ~ 1, family = Gamma(link = "log"), data = SEAB_pivot)

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.242489   0.001907   127.2   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for Gamma family taken to be 0.2617213)

    Null deviance: 22016  on 71999  degrees of freedom
Residual deviance: 22016  on 71999  degrees of freedom
AIC: 135579

Number of Fisher Scoring iterations: 5

# One of my data models
> gam_age_tiss <- glm(value ~ age*tissue, data = SEAB_pivot, family = Gamma(link = "log"))
> s1 <- summary(gam_age_tiss)
> s1

Call:
glm(formula = value ~ age * tissue, family = Gamma(link = "log"), 
    data = SEAB_pivot)

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)           0.248006   0.002545   97.43   <2e-16 ***
ageHY                -1.287488   0.004409 -292.03   <2e-16 ***
ageJU                -0.345954   0.004409  -78.47   <2e-16 ***
tissuefeathers        0.365432   0.003600  101.52   <2e-16 ***
ageHY:tissuefeathers  1.057399   0.006235  169.59   <2e-16 ***
ageJU:tissuefeathers -0.075761   0.006235  -12.15   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for Gamma family taken to be 0.1166247)

    Null deviance: 22016.1  on 71999  degrees of freedom
Residual deviance:  7987.2  on 71994  degrees of freedom
AIC: 60259

Number of Fisher Scoring iterations: 4


# Attempt at likelihood ratio test
> lrt_age_tiss <- lrtest(gam_age_tiss,gam0)
> lrt_age_tiss
Likelihood ratio test

Model 1: value ~ age * tissue
Model 2: value ~ 1
  #Df LogLik Df Chisq Pr(>Chisq)    
1   7 -30123                        
2   2 -67788 -5 75330  < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
$\endgroup$
2
  • $\begingroup$ All your predictors are extremely significant and the residual deviance is dramatically smaller than the null deviance. Why are you skeptical of a small p-value from the LRT? $\endgroup$
    – Roland
    Commented Feb 16 at 10:22
  • $\begingroup$ Just that this is my first gamma regression, and I haven't been able to find any other examples online where they've been used with LRT - I didn't know if this is because LRT is unsuitable for gamma regressions or because gamma regressions are just less commonly used in general. I also have four other data models, and all of the predictors for them are highly significant, which seemed unlikely to me, but if there aren't any reasons not to combine gamma regression with lrt then I'm happy to use the significant predictors. $\endgroup$ Commented Feb 16 at 20:56

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.