用Octave计算随机变量的矩
广告
{{v.name}}
矩是随机变量的一类基础数字特征,用来描述随机变量分布的形态特征(如集中趋势、离散程度、偏度、峰度等),分为原点矩和中心矩两大类,离散型和连续型随机变量的计算方式分别对应求和与积分。
原点矩的定义公式(以原点 \( x=0 \) 为中心)
设 \(X\) 为随机变量,\(k\) 为正整数,若 \(E(|X|^k) < \infty\)(保证期望存在),则称 \(\mu_k = E(X^k)\) 为 \(X\) 的 \(k\) 阶原点矩。
物理意义:类比质点系到原点的“矩”,\(k\) 阶原点矩是 \(X\) 取值的 \(k\) 次幂的加权平均。
低阶原点矩的熟悉形式:
- 1阶原点矩:\(\mu_1=E(X)\) → 就是数学期望,描述分布的集中趋势;
- 2阶原点矩:\(\mu_2=E(X^2)\) → 计算方差的关键中间量。
中心矩的定义公式(以数学期望 \( E(X) \) 为中心)
设 \(X\) 为随机变量,\(k\) 为正整数,若 \(E(|X|^k) < \infty\)(保证期望存在),则称 \(\mu_k' = E[(X - E(X))^k]\) 为 \(X\) 的 \(k\) 阶中心矩。
物理意义:类比质点系到质心的“矩”,\(k\) 阶中心矩是 \(X\) 偏离其数学期望的 \(k\) 次幂的加权平均。
低阶中心矩的熟悉形式:
- 1阶中心矩:\(\nu_1=E[X-E(X)]=E(X)-E(X)=0\) → 恒为0;
- 2阶中心矩:\(\nu_2=E[(X-E(X))^2]=D(X)\) → 就是方差,描述分布的离散程度;
- 3阶中心矩:\(\nu_3=E[(X-E(X))^3]\) → 用于计算偏度,描述分布的不对称性;
- 4阶中心矩:\(\nu_4=E[(X-E(X))^4]\) → 用于计算峰度,描述分布的陡峭程度。
离散型随机变量的矩计算
设离散型随机变量 \(X\) 的分布律为 \(P(X=x_i)=p_i\)(\(i=1,2,\dots\)),则:
\(k\) 阶原点矩:\(\mu_k = E(X^k) = \sum_{i=1}^{\infty} x_i^k p_i\)
\(k\) 阶中心矩:\(\nu_k = E\left[(X-E(X))^k\right] = \sum_{i=1}^{\infty} \left(x_i - E(X)\right)^k p_i\)
例如:0-1分布的矩计算
设 \(X\sim B(1,p)\),分布律为 \(P(X=0)=1-p\),\(P(X=1)=p\)。
- 1阶原点矩(期望):\(\mu_1=0^1\cdot(1-p)+1^1\cdot p = p\)
- 2阶原点矩:\(\mu_2=0^2\cdot(1-p)+1^2\cdot p = p\)
- 2阶中心矩(方差):\(\nu_2=(0-p)^2(1-p)+(1-p)^2 p = p(1-p)\)
- 3阶中心矩:\(\nu_3=(0-p)^3(1-p)+(1-p)^3 p = p(1-p)(1-2p)\)
程序代码如下
function ret = get_origin_moment_discrete(x_list, px_list, rank_value)
    pkg load symbolic;
    syms x;
    n = length(x_list);
    ret = 0;
    for i = 1:n
        ret = ret + (x_list(i) ^ rank_value) * px_list(i);
    endfor
endfunction

function ret = get_central_moment_discrete(x_list, px_list, rank_value)
    pkg load symbolic;
    syms x;
    n = length(x_list);
    ret = 0;
    EX = get_origin_moment_discrete(x_list, px_list, 1);
    for i = 1:n
        ret = ret + (x_list(i) - EX) ^ rank_value * px_list(i);
    endfor
endfunction

>> p=sym('p');
>> get_origin_moment_discrete([0, 1], [1-p, p], 1)
ans = (sym) p
>> get_origin_moment_discrete([0, 1], [1-p, p], 2)
ans = (sym) p
>> get_central_moment_discrete([0, 1], [1-p, p], 2)
ans = (sym)

   2                    2
  p ⋅(1 - p) + p⋅(1 - p)
>> get_central_moment_discrete([0, 1], [1-p, p], 3)
ans = (sym)

     3                    3
  - p ⋅(1 - p) + p⋅(1 - p)
连续型随机变量的矩计算
设连续型随机变量 \(X\) 的概率密度函数为 \(f(x)\),则:
\(k\) 阶原点矩:\(\mu_k = E(X^k) = \int_{-\infty}^{+\infty} x^k f(x) dx\)
\(k\) 阶中心矩:\(\nu_k = E\left[(X-E(X))^k\right] = \int_{-\infty}^{+\infty} \left(x - E(X)\right)^k f(x) dx\)
例如:均匀分布 \(X\sim U(a,b)\) 的矩计算
\(X\) 的概率密度为 \(f(x)=\frac{1}{b-a}\)(\(a\le x\le b\))。
- 1阶原点矩(期望):\(\mu_1=\int_a^b x\cdot\frac{1}{b-a}dx = \frac{a+b}{2}\)
- 2阶原点矩:\(\mu_2=\int_a^b x^2\cdot\frac{1}{b-a}dx = \frac{a^2+ab+b^2}{3}\)
- 2阶中心矩(方差):\(\nu_2=\int_a^b \left(x-\frac{a+b}{2}\right)^2\cdot\frac{1}{b-a}dx = \frac{(b-a)^2}{12}\)
程序代码如下
function ret = get_origin_moment_continuous(f, x, rank_value, a, b)
    pkg load symbolic;
    try
        ret = double(int((x ^ rank_value) * f, x, a, b));
    catch
        ret = int((x ^ rank_value) * f, x, a, b);
    end_try_catch
endfunction

function ret = get_central_moment_continuous(f, x, rank_value, a, b)
    pkg load symbolic;
    EX = get_origin_moment_continuous(f, x, 1, a, b);
    try
        ret = double(int(((x - EX) ^ rank_value) * f, x, a, b));
    catch
        ret = int(((x - EX) ^ rank_value) * f, x, a, b);
    end_try_catch
endfunction

>> a = sym('a');
>> b = sym('b');
>> x = sym('x');
>> get_origin_moment_continuous((1 / (b-a)), x, 1, a, b)
ans = (sym)

      2           2
     a           b
  -------- - --------
  2⋅a - 2⋅b   2⋅a - 2⋅b
>> get_origin_moment_continuous((1 / (b-a)), x, 2, a, b)
ans = (sym)

      3           3
     a           b
  -------- - --------
  3⋅a - 3⋅b   3⋅a - 3⋅b
>> get_central_moment_continuous((1 / (b-a)), x, 2, a, b)
ans = (sym)

      3       2            ⎛   2           2⎞       3        2            ⎛   2           2⎞
     a       a ⋅(a + b)   a⋅⎝- a  - 2⋅a⋅b - b ⎠      b        b ⋅(a + b)   b⋅⎝- a  - 2⋅a⋅b - b ⎠
  -------- - --------- - --------------------- - -------- + -------- + ---------------------------
  3⋅a - 3⋅b   2⋅a - 2⋅b           4⋅a - 4⋅b         3⋅a - 3⋅b   2⋅a - 2⋅b          4⋅a - 4⋅b
友链