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
Update: Here is a formula for the higher moments of the normal.
Related post: Sage Beginner’s Guide