Re: moment generating function for gaussian and lognormal

• To: mathgroup at smc.vnet.net
• Subject: [mg95871] Re: [mg95806] moment generating function for gaussian and lognormal
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Thu, 29 Jan 2009 05:51:57 -0500 (EST)
• Reply-to: hanlonr at cox.net

```mgfNormal[t_] = CharacteristicFunction[
NormalDistribution[m, s], -I*t]

E^(m*t + (s^2*t^2)/2)

momentNormal[n_] = Assuming[{n > -1},
ExpectedValue[x^n, NormalDistribution[m, s], x]]

(2^(n/2 - 1)*s^(n - 1)*(((-1)^n + 1)*s*Gamma[(n + 1)/2]*
Hypergeometric1F1[(n + 1)/2, 1/2, m^2/(2*s^2)] -
Sqrt[2]*m*((-1)^n - 1)*Gamma[n/2 + 1]*
Hypergeometric1F1[n/2 + 1, 3/2, m^2/(2*s^2)]))/
(E^(m^2/(2*s^2))*Sqrt[Pi])

This simplifies for n even

Simplify[momentNormal[2 n], Element[n, Integers]]

(2^n*s^(2*n)*Gamma[n + 1/2]*Hypergeometric1F1[n + 1/2, 1/2,
m^2/(2*s^2)])/(E^(m^2/(2*s^2))*Sqrt[Pi])

or n odd

Simplify[momentNormal[2 n + 1], Element[n, Integers]]

(m*2^(n + 1)*s^(2*n)*Gamma[n + 3/2]*Hypergeometric1F1[
n + 3/2, 3/2, m^2/(2*s^2)])/(E^(m^2/(2*s^2))*Sqrt[Pi])

checking the moments with the mgf

And @@ Table[Simplify[
momentNormal[n] == (D[mgfNormal[t], {t, n}] /. t -> 0)], {n, 0, 10}]

True

For the LogNormal the moments have a simple form

momentLogNormal[n_] = Assuming[{n > -1},
ExpectedValue[x^n, LogNormalDistribution[m, s], x]]

E^(m*n + (n^2*s^2)/2)

And @@ {momentLogNormal[1] == Mean[LogNormalDistribution[m, s]],
momentLogNormal[2] - momentLogNormal[1]^2 ==
Variance[LogNormalDistribution[m, s]]} // Simplify

True

Bob Hanlon

---- "tarpanelli at libero.it" <tarpanelli at libero.it> wrote:

=============
Hello,
does anyone has a Mathematica module able to define a moment generating
function for gaussian and lognormal distribution and compute the relative
moments,