MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


for fitting empirical data to power-law I am aware of the work by Clauset et al. ( and how to use maximum likelihood estimation. There exists also a simple maximum likelihood estimator for exponential distributions.

My data seems to be power-law with exponential cutoff after some time. Is there a closed estimator (e.g. maximum likelihood) to estimate the power law exponent, exponential rate, and the point where the distribution cuts off into exponential?

Or do I have to determine the cutoff point myself and then use two separate estimators, one for power-law and one for exponential?

Thanks, Chris

share|cite|improve this question

In the case of a power law, $ P(x; \alpha, x_{min}) = \frac{\alpha - 1}{x_{min}} \left( \frac{x}{x_{min}} \right)^{-\alpha}$, the maximum likelihood estimator (MLE) for $\alpha$ is indeed simple if given the value for $x_{min}$, namely $\hat{\alpha} = 1 + n \cdot \left( \sum_{i=1}^n \ln{(x_i/x_{min})}\right)^{-1}$. However, there is no simple expression for estimating $x_{min}$ as the likelihood is increasing in $x_{min}$, corresponding to throwing out more and more of the data, so another method is needed (Clauset et al. maximize the similarity between the observed data above $x_{min}$ and the fitted distribution by using KS statistic).

In the case of a power law with an exponential cut-off, $P(x; \alpha, \lambda, x_{min}) = \frac{\lambda^{1-\alpha}}{\Gamma(1-\alpha,\lambda x_{min})} x^{-\alpha} e^{-\lambda x}$, finding exact expressions is much harder (the derivatives of the log-likelihood involves, among other things, a Meijer G-function and a closed form for the solution seems unlikely). The estimators of $\lambda$ and $\alpha$ are coupled (due to the normalization constant) so mikitov's idea of finding them sequentially does not work, unfortunately.

We therefore have to use numerical methods. The log-likelihood is $\mathcal{L}/n = (1-\alpha)\ln{\lambda} - \ln{\Gamma(1-\alpha,x_{min}\lambda)} - \alpha\sum_{i=1}^n\ln{x_i} - \lambda\sum_{i=1}^nx_i$. Mathematica's NMaximize seems to do a fairly good job of finding the MLEs:

Clear[\[Lambda], \[Alpha], xmin] NMaximize[{Length[xs] Log[\[Lambda]^(1 - \[Alpha])/Re@Gamma[1 - \[Alpha], xmin \[Lambda]]] - \[Alpha] Total[Log[xs]] - \[Lambda] Total[xs],\[Alpha] >= 1, \[Alpha] <= 3, \[Lambda] >= 0, xmin > 0, xmin <= Min[xs]}, {\[Alpha], \[Lambda], k}]

where xs is data with $x_{min} = \min x_i$. This would have to be combined with a KS statistic maximization for $x_{min}$ similar to that for the regular power laws.

share|cite|improve this answer

Power-law + cut-off seems to correspond to a pdf like $f(x; \alpha, \lambda) = Cx^{-\alpha}e^{-\lambda x}$

Thus, you should find the maximum likelihood estimator of both $\alpha , \lambda$. This can be done sequentially (i. e. once you find the ML estimator of $\alpha$ then you insert it in the likelihood function and find $\hat{\lambda}_{ML}$).

They do not seem very difficult to obtain, see Kay book first volume for maybe some help. If there is no closed form solution use numerical methods (see )

share|cite|improve this answer
No valid answer? – mikitov Sep 7 '11 at 14:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.