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.
Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
How To Manage Vulnerabilities in Modern Cloud-Native Applications
What to Pay Attention to as Automation Upends the Developer Experience
Front-End: Cache Strategies You Should Know