動差母函數如何生成動差
動差母函數 M_X(t) = E[e^(tX)] 的名字來自它最重要的一項工作:生成動差。一個一個算 E[X]、E[X^2]、E[X^3],每次都要重做一個積分或求和。動差母函數承諾更好的方式——把所有動差一次存進一個函數,然後只要一次微分就能釣出任何單一動差。
機制如下,而它就是微積分。把指數展成冪級數:e^(tX) = 1 + tX + (tX)^2/2! + (tX)^3/3! + ...。對每一項取期望值(因期望值是線性的而合法),得到 M_X(t) = 1 + t E[X] + t^2 E[X^2]/2! + t^3 E[X^3]/3! + ...。第 k 階動差就坐在 t^k/k! 的係數裡。要把它取出,對 M_X(t) 恰好微分 k 次再令 t = 0;除了你要的那一項,其他每一項不是消失就是被微分掉,留下 E[X^k] = M_X^(k)(0)。在零的一次導數給均值,兩次給 E[X^2],而 Var(X) = M_X''(0) - (M_X'(0))^2。
這就是為什麼動差母函數是動差的主力:不必做各自的積分,每個只做一次微分,而且常常你連積分都不必算——只要查出或導出某已知分布的動差母函數,再微分即可。誠實的條件是動差母函數必須在 t = 0 周圍某個開區間內存在(為有限);唯有如此它才夠平滑,使這些導數存在且展開式有效。對於 E[e^(tX)] 爆掉的重尾變數,整套機制無法使用,這時你改用特徵函數。
對 X ~ 常態(mu, sigma^2),M_X(t) = e^(mu t + sigma^2 t^2 / 2)。則 M_X'(t) = (mu + sigma^2 t) e^(mu t + sigma^2 t^2/2),故 M_X'(0) = mu = E[X]。在 0 的二階導數給出 M_X''(0) = sigma^2 + mu^2 = E[X^2],因此 Var(X) = (sigma^2 + mu^2) - mu^2 = sigma^2——正是那些參數,完全沒有手算積分。
對 M_X(t) 微分 k 次再令 t = 0,即可讀出第 k 階動差 E[X^k]。
從動差母函數讀出動差,只有在動差母函數於 0 周圍某開區間內為有限時才行得通。若對每個 t != 0 都有 E[e^(tX)] 發散(重尾),就沒有可在 0 取的導數。