Log-gamma

Indice dei contenuti

    La log-gamma è la funzione:

    \log\Gamma(x),

    cioè il logaritmo della funzione gamma. È fondamentale nel calcolo numerico perché \Gamma(x) cresce molto rapidamente e può superare presto l’intervallo rappresentabile da un computer.

    Per interi positivi:

    \log\Gamma(n+1)=\log(n!).

    Invece di calcolare prima n! e poi il logaritmo, si calcola direttamente la log-gamma.

    Perché è utile

    Molte formule di probabilità e statistica contengono prodotti, fattoriali o rapporti di gamma. Lavorare in scala logaritmica trasforma prodotti in somme e rapporti in differenze:

    \log\left( \dfrac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)} \right) = \log\Gamma(a)+\log\Gamma(b)-\log\Gamma(a+b).

    Questa forma è più stabile e riduce overflow, underflow e perdita di precisione.

    Il vantaggio non è solo numerico. Molte procedure di stima massimizzano log-verosimiglianze: passare al logaritmo conserva il punto di massimo, perché il logaritmo è crescente, ma rende le formule più maneggevoli.

    Fattoriali e coefficienti combinatori

    Per grandi interi, calcolare direttamente un fattoriale può essere impossibile. Con la log-gamma:

    \log(n!)=\log\Gamma(n+1).

    Un coefficiente binomiale può essere calcolato in forma logaritmica:

    \log\binom{n}{k} = \log\Gamma(n+1) -\log\Gamma(k+1) -\log\Gamma(n-k+1).

    Questa formula è essenziale in probabilità discreta, statistica computazionale e algoritmi che devono confrontare quantità combinatorie molto grandi.

    Collegamento con beta e distribuzioni

    La funzione beta soddisfa:

    B(a,b)= \dfrac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}.

    La sua forma logaritmica è:

    \log B(a,b)= \log\Gamma(a)+\log\Gamma(b)-\log\Gamma(a+b).

    Questa identità compare in distribuzioni beta, gamma, Dirichlet, chi-quadro e in molte log-verosimiglianze.

    Per esempio, nella densità beta la costante di normalizzazione contiene B(a,b). In scala logaritmica, il contributo diventa:

    -\log B(a,b).

    Espandendolo con log-gamma si evitano prodotti e divisioni tra quantità molto grandi.

    Uso nelle verosimiglianze

    Se una densità contiene una costante di normalizzazione con gamma, la log-verosimiglianza contiene log-gamma. Per una distribuzione gamma con forma \alpha e tasso \lambda, un termine tipico è:

    -\log\Gamma(\alpha).

    In stima statistica, ottimizzare la log-verosimiglianza è quasi sempre più stabile che ottimizzare direttamente il prodotto delle densità.

    Per un campione x_1,\ldots,x_n da una distribuzione gamma, una parte della log-verosimiglianza contiene:

    n\alpha\log\lambda -n\log\Gamma(\alpha) +(\alpha-1)\sum_{i=1}^n\log x_i -\lambda\sum_{i=1}^n x_i.

    Il termine \log\Gamma(\alpha) è quello che rende necessarie funzioni numeriche affidabili quando \alpha è stimato dai dati.

    Approssimazione asintotica

    Per argomenti grandi, la formula di Stirling fornisce:

    \log\Gamma(x) \simeq \left(x-\dfrac{1}{2}\right)\log x-x+\dfrac{1}{2}\log(2\pi).

    Le librerie numeriche usano approssimazioni più accurate, ma questa formula spiega perché la crescita è molto rapida e perché il logaritmo è la scala naturale.

    Una forma con più termini è:

    \log\Gamma(x) = \left(x-\dfrac{1}{2}\right)\log x-x+\dfrac{1}{2}\log(2\pi) +\dfrac{1}{12x} +O\left(\dfrac{1}{x^3}\right).

    Il termine di correzione migliora la precisione quando x è grande ma non enorme.

    Differenze di log-gamma

    Spesso non serve \log\Gamma(x) da sola, ma una differenza:

    \log\Gamma(x+a)-\log\Gamma(x+b).

    Per x grande, questa differenza può essere molto più piccola dei due termini separati. Calcolarla con funzioni dedicate o formule asintotiche evita cancellazioni numeriche e migliora la stabilità.

    Errori comuni

    Un errore frequente è calcolare \Gamma(x) e poi applicare il logaritmo. Per valori grandi questo può produrre overflow anche quando \log\Gamma(x) sarebbe perfettamente rappresentabile.

    Un secondo errore è confondere log-gamma con la derivata della log-gamma. La derivata si chiama funzione digamma e ha ruolo diverso, soprattutto nell’ottimizzazione di parametri.

    Un terzo errore è dimenticare il dominio reale: per x\gt0 la log-gamma reale è ben definita; per argomenti negativi non interi entrano in gioco segni, rami complessi e poli della gamma. Nei modelli probabilistici, i parametri che entrano nella gamma sono in genere positivi proprio per evitare questi problemi.

    Implementazione numerica

    Le librerie scientifiche forniscono quasi sempre una funzione dedicata, spesso chiamata lgamma, gammaln o loggamma. Usarla è preferibile a combinare manualmente gamma e logaritmo:

    \operatorname{lgamma}(x)\neq \log(\operatorname{gamma}(x))

    dal punto di vista numerico, anche se l’identità matematica è la stessa. La funzione dedicata evita overflow intermedi, gestisce approssimazioni per regioni diverse e spesso restituisce risultati accurati anche per argomenti grandi.

    Nei calcoli probabilistici, un pattern robusto è lavorare sempre in scala logaritmica e passare alla scala ordinaria solo alla fine, se necessario. Per normalizzare probabilità logaritmiche si usa spesso la tecnica log-sum-exp, che evita underflow quando molte probabilità sono piccolissime.

    Derivate

    Quando si ottimizzano parametri che entrano in \log\Gamma(x), compaiono le derivate:

    \dfrac{d}{dx}\log\Gamma(x)=\psi(x),

    dove \psi è la funzione digamma. La derivata seconda è la trigamma. Queste funzioni sono importanti per metodi di Newton, stima di massima verosimiglianza e modelli bayesiani.

    Uso con probabilità logaritmiche

    Quando una formula contiene molti fattori di probabilità, il prodotto può diventare numericamente nullo anche se il valore matematico non è zero. Per questo si sommano log-probabilità:

    \log L= \sum_{i=1}^n \log f(x_i;\theta).

    Se f contiene gamma, la log-gamma entra direttamente nella somma. Il risultato è più stabile e più leggibile: i contributi di normalizzazione, dati e parametri restano separati.

    Lettura dimensionale

    La log-gamma non ha una dimensione fisica autonoma: viene applicata a quantità adimensionali, come parametri di forma, conteggi generalizzati o combinazioni normalizzate. Se una formula sembra richiedere \log\Gamma di una grandezza con unità fisica, spesso manca una scala di riferimento o il modello è stato scritto in modo dimensionalmente incompleto.

    Voci correlate

    Pubblicato: