the generalized gamma distribution is a generalization of the two-parameter gamma distribution: https://en.wikipedia.org/wiki/Generalized_gamma_distribution

However I cannot find an implementation in R (or python) that let's me use this in a GLM framework, so something like

`glm(y ~ x, family(GenGamma))`

.

I could only find a distribution definition in the flexsurv package, but only for a survival usage.

Is there a way to use the generalized gamma in a GLM setting?

**UPDATE:**

method 1. suggested by @Glen_b works quite well:

`library(flexsurv) df <- data.frame(y = runif(100, 1, 10), x1 = rnorm(100)) flexsurvreg(Surv(y) ~ x1, data = df, dist = "gengamma") `

**Contents**hide

#### Best Answer

There are several reasonably clear options.

You can use the survival model. Treat the response values as all-uncensored survival times. I've used this strategy to fit Weibull models for example; it often works quite well.

There's an example here that shows doing it with a Weibull model for non-survival data. [There's a second example here of using it to simply fit a Weibull distribution in a case where the usual

`fitdistr`

approach was having trouble.]Those two examples should be sufficient to convey the general idea, and apply it to the generalized gamma.

If you know the "power" parameter ($p$ in the Wikipedia link) you can transform the data to a Gamma and use GLM.

If $p$ is unknown, you can use the fact that conditional on $p$ you can fit a GLM (and then ML estimation of the scale parameter for that, such as via the relevant function in MASS – which is using a similar idea) to get a profile likelihood for $p$, to obtain an overall MLE for $p$ and the gamma parameters.

Alternatively you can try to use direct optimization of the likelihood.