Higher Moments of Normal Distribution
Join the DZone community and get the full member experience.Join For Free
Sometimes a little bit of Python beats a Google search.
Last week I needed to look up the moments of a normal distribution. The first two moments are common knowledge, the next two are easy to find, but I wasn’t able to find the higher moments.
Here is a little Sage code that produces a table of moments for the normal distribution. (Sage is a Python-based mathematical computing environment.) The code computes the expected value of Xn by taking the nth derivative of the moment generating function and setting its argument to zero.
var('m, s, t') mgf(t) = exp(m*t + t^2*s^2/2) for i in range(1, 11): derivative(mgf, t, i).subs(t=0)
Here's the output:
m m^2 + s^2 m^3 + 3*m*s^2 m^4 + 6*m^2*s^2 + 3*s^4 m^5 + 10*m^3*s^2 + 15*m*s^4 m^6 + 15*m^4*s^2 + 45*m^2*s^4 + 15*s^6 m^7 + 21*m^5*s^2 + 105*m^3*s^4 + 105*m*s^6 m^8 + 28*m^6*s^2 + 210*m^4*s^4 + 420*m^2*s^6 + 105*s^8 m^9 + 36*m^7*s^2 + 378*m^5*s^4 + 1260*m^3*s^6 + 945*m*s^8 m^10 + 45*m^8*s^2 + 630*m^6*s^4 + 3150*m^4*s^6 + 4725*m^2*s^8 + 945*s^10
Published at DZone with permission of John Cook, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.