Von Weber's Blog

No models are correct, but some are more elegant than others.

Edgeworth Expansion

许多时候,我们感兴趣的随机变量 $X$ 具有复杂的结构,我们无法或者很难得到它的精确分布密度PDF或分布函数CDF,对于 $X$ 的研究比如求概率 $P(X \in A)$ 就变得不那么直接。多数情况下,$X$ 可以表示为一些独立甚至同分布随机变量的和(均值)。对于平凡的问题,我们可以利用中心极限定理CLT将 $X$ 的分布近似为正态分布。然而对于一些问题比如

此时正态分布的近似就很差。而Edgeworth展开作为中心极限定理的自然延伸,从一定程度上改善了近似的效果

Tchebycheff–Hermite Polynomials

设 $\phi(z)$ 是标准正态分布 $N(0,1)$ 的密度函数,由归纳法容易证明,存在多项式 $ \{H(z) \}_k$ 成立
$${ d^k \over dz^k} \phi (z) = (-1)^k H_k(z) \phi (z) $$
其中 $\{ H_k(z): k \in \Bbb{N} \}$ 称为Tchebycheff–Hermite多项式。对上式求导,得到
$${d \over dx} [ H_k(z)\phi(z) ]=-H_{k+1}(z)\phi(z) $$
由此可以递推出 $H_k(z)$,前几项为
$$\begin{align}
H_0(z) &=1 & H_3(z)&= z^3 − 3z \\
H_1 (z) &= z & H_4 (z) &= z^4 − 6z^2 + 3 \\
H_2 (z) &= z^2 − 1 & H_5 (z) &= z^5 − 10z^3 + 15z
\end{align}$$

$\{ H_k(z): k \in \Bbb{N} \}$ 是正交多项式,在如下的加权內积意义下
$$<H_i(z), H_j(z)> = \int_{\Bbb{R} }H_i (z) H_j (z)\phi (z)dz=
\begin{cases}
0 & \text{if }i\neq j \\
i! & \text{if } i=j
\end{cases}$$

Inverse Fourier Transform

设 $X \sim g(x)$ 具有特征函数 $h(u)$,则 $h(u)$ 具有逆变换
$$g(x)={1 \over 2\pi } \int_{\Bbb{R}} e^{-iux} h(u)du$$
特别地,由Fourier变换的性质,成立
$$\begin{align}
{1 \over 2\pi } \int_{\Bbb{R}} e^{-iux} e^{-u^2/2} (iu)^k du
&= {(-1)^k \over 2 \pi} {d^k \over dx^k} \int_{\Bbb{R}} e^{-iux} e^{-u^2/2}du \\
&= (-1)^k {d^k \over dx^k} \phi(x) \\
&= H_k(x)\phi(x)
\end{align}$$
也就是说若 $X$ 具有特征函数 $e^{-u^2/2} (iu)^k$,则 $X$ 具有密度函数 $H_k(x)\phi(x)$。

Edgeworth Expansion 的推导

设 $X_i$ 有均值0方差1,有有限四阶矩,记 $\gamma=E X_j^3, \tau=E X_j^4$。现在考虑正规化均值 $S_n = \sqrt{n} \bar X$ 的特征函数。
$$h_{S_n} (u)=E \exp \{ ( iu/ \sqrt{n} ) \sum X_j \} =[ h_X(u/\sqrt{n}) ]^n$$
对 $\exp \{ iuX/\sqrt{n} \}$ 作泰勒展开得到
$$h_X \left( {u \over \sqrt{n}} \right) = E e^ { iu {X \over \sqrt{n}} }
= \left( 1- {u^2 \over 2n} \right) +
{(iu)^3 \gamma \over 6n \sqrt{n} } +
{(iu)^4 \tau \over 24n^2 } +
o \left( {1 \over n^2} \right)$$
两边取n次幂,再由二项展开式和
$$ \left( 1+ {a \over n} \right) ^{n-k} =
e^a \left( 1- {a(a+k) \over 2n} \right) +
o \left( {1 \over n} \right)$$
得到
$$h_{S_n}(u) = e^{-u^2/2} \left[ 1 +
{(iu)^3 \gamma \over 6 \sqrt{n} } +
{(iu)^4 ( \tau -3) \over 24n } +
{(iu)^6 \gamma^2 \over 72n} \right] +
o \left( {1 \over n} \right)$$
最后由上述关于特征函数和密度函数的逆变换,得到 $S_n$ 的密度函数为
$$\begin{align}
g_{S_n}(x) &= {1 \over 2\pi } \int_{\Bbb{R}} e^{-iux} h_{S_n}(u) du \\
&= \phi(x) \left( 1+
{1 \over \sqrt{n}} {\gamma H_3(x) \over 6} +
{1 \over n} \left[ {(\tau-3) H_4(x) \over 24} +
{\gamma^2 H_6(x) \over 72} \right] \right) +
o \left( {1 \over n} \right)
\end{align}$$
两边求积分,利用上面 $H_k(x) \phi(x)$ 的递推关系得到 $S_n$ 分布函数的近似
$$G_{S_n}(x)=
\Phi(x) - \phi(x) \left(
{1 \over \sqrt{n}} {\gamma H_2(x) \over 6} +
{1 \over n} \left[ {(\tau-3) H_3(x) \over 24} +
{\gamma^2 H_5(x) \over 72} \right] \right) +
o \left( {1 \over n} \right)
$$
包含上述 $1/\sqrt{n}$ 和 $ 1/n$ 的近似,分别叫做Edgeworth一阶/二阶展开。

此外值得一提的是

指数分布的和

设 $X_i \sim \text{Exp}(1),i=1,…,5$ 则 $\mu = \sigma^2=1, E(X_i-\mu)^3/\sigma^3 = 2, E(X_i-\mu)^4/\sigma^4 = 6$。现在考虑 $X_i$ 的正规化和 $S_n = \sqrt{n} (\bar X -\mu)$ 的分布,由于 $\sum X_i \sim \Gamma(5,1)$,我们可以准确知道 $S_n$ 的分布。下面的代码和图1展示了正态分布和Edgeworth近似的效果。

n = 5
b1 = 2
b2 = 6
H3 = function(x) (x ^ 3 - 3 * x)
H4 = function(x) (x ^ 4 - 6 * x ^ 2 + 3)
H6 = function(x) (x ^ 6 - 15 * x ^ 4 + 45 * x ^ 2 - 15)

f1 = function(x) {
  dnorm(x) * (1 + b1 * H3(x) / 6 / sqrt(n))
}

f2 = function(x) {
  f1(x) + (b2 * H4(x) / 24 / n + b1 ^ 2 * H6(x) / 72 / n) * dnorm(x)
}
x = seq(-3, 3, 0.01)
fn_true = dgamma((x + sqrt(n)) * sqrt(n), n, 1) * sqrt(n)
fn_E0 = dnorm(x)
fn_E1 = f1(x)
fn_E2 = f2(x)
label = c('Exact',
          'Normal',
          'First-order Edgeworth',
          'Second-order Edgeworth')
data = data.frame(
  density = c(fn_true, fn_E0, fn_E1, fn_E2),
  x = rep(x, 4),
  estimate = rep(label, each = length(x))
)
ggplot(data, aes(x, density, color = estimate)) +
  scale_colour_manual(breaks = label,
                      values = c('#000000', '#1b9e77',  '#d95f02', '#7570b3')) +
  theme(legend.position = c(0.85, 0.82)) +
  geom_line()

图1. 指数分布和的Edgeworth近似
图1. 指数分布和的Edgeworth近似

由上图可以看出

下面的表格展示了一些区间概率的估计,印证了上面的论断

$(a,b)$ 正态分布 一阶Edgeworth近似 二阶Edgeworth近似 精确值
$(-\infty,-2.0)$ 0.023 -0.001 -0.007 0.000
$(-\infty,-1.8)$ 0.036 0.010 0.000 0.003
$(-\infty,-1.6)$ 0.055 0.029 0.017 0.015
$(-0.2,0.2)$ 0.158 0.158 0.156 0.156
$(-1.0,1.0)$ 0.682 0.682 0.698 0.700
$(1.8,\infty)$ 0.036 0.062 0.053 0.054
$(2.0,\infty)$ 0.023 0.047 0.041 0.041
⬅️ Go back