方差分析、简单线性回归与信息论初步

方差分析

Analysis of Variance (ANOVA)

析因设计/析因分析

Factorial design/Factorial analysis

  • 多个因素会影响实验结果吗?
    • 独立性检验(列联表、Pearson 卡方检验)
  • 不同因素对实验结果的影响如何?是否存在 1+1>21+1>2 的 化学反应?
    • 析因设计、析因分析

单因素方差分析

one-way/single-factor analysis of variance

单个因素的各个水平对实验结果的影响(是否一样?最好?最坏?)

模型假设:

  • mm 个水平,每个水平 nin_i 次试验
  • 正态性:水平 ii 对结果的「效应」(effect)为 μi\mu_i,每次试验有噪声 ϵijN(0,σi2)\epsilon_{ij} \sim \mathcal{N}(0, \sigma_i^2),于是 XijN(μi,σi2)X_{ij} \sim \mathcal{N}(\mu_i, \sigma_i^2)
  • 方差齐性:σ12==σm2=σ2\sigma_1^2 = \dots = \sigma_m^2 = \sigma^2
  • 独立性:噪声之间相互独立

现实中不同实验对象特质不同,明显影响实验结果。

  • 可以使用更大的样本量,随机分组,使得每一组整体看起来都差不多。

分析方差

定义

总离差平方和(total sum of squares)

SST=i,j(XijXˉ)2SS_T = \sum_{i, j} (X_{ij} - \bar{X}_{\odot \odot})^2

组内离差平方和(sum of squares within)/误差平方和

SSW=i,j(XijXˉi)2SS_W = \sum_{i, j} (X_{ij} - \bar{X}_{i \odot})^2

组间离差平方和(sum of squares between)/效应平方和

SSB=ini(XˉiXˉ)2SS_B = \sum_{i} n_i (\bar{X}_{i \odot} - \bar{X}_{\odot \odot})^2

组间离差平方和

直觉上应该有效应 μiXˉi\mu_i \approx \bar{X}_{i \odot},若效应有差距,则 SSBSS_B 会较大。事实上确实有

E[SSB]=E[iniXˉi2nXˉ2]=ini[Var[Xˉi]+E[Xˉi]2]n[Var[Xˉ]+E[Xˉ]2]=ini[σ2ni+μi2]n[σ2n+μˉ2]=(m1)σ2+ini(μiμˉ)2\begin{aligned} \mathbb{E}[SS_B] &= \mathbb{E}\left[\sum_i n_i \bar{X}_{i \odot}^2 - n \bar{X}_{\odot \odot}^2\right]\\ &= \sum_i n_i \left[ \operatorname{Var} [\bar{X}_{i \odot}] + \mathbb{E}[\bar{X}_{i \odot}]^2 \right] - n \left[ \operatorname{Var} [\bar{X}_{\odot \odot}] + \mathbb{E}[\bar{X}_{\odot \odot}]^2 \right]\\ &= \sum_i n_i \left[ \dfrac{\sigma^2}{n_i} + \mu_i^2 \right] - n \left[ \dfrac{\sigma^2}{n} + \bar{\mu}^2 \right]\\ &= (m-1) \sigma^2 + \sum_i n_i (\mu_i - \bar{\mu})^2 \end{aligned}

若效应相同 μi=μˉ\mu_i = \bar{\mu},则 SSBm1\dfrac{SS_B}{m - 1} 是方差的无偏估计,且 SSBσ2χ2(m1)\dfrac{SS_B}{\sigma^2} \sim \chi^2(m - 1)(具体可参见上章有关卡方分布的内容)。

组内离差平方和

j(XijXˉi)2σ2χ2(ni1)\sum_{j} \dfrac{(X_{ij} - \bar{X}_{i \odot})^2}{\sigma^2}\sim \chi^2(n_i - 1) 且相互独立,于是 SSWσ2χ2(nm)\dfrac{SS_W}{\sigma^2} \sim \chi^2(n - m)

SSBσ2χ2(m1)\dfrac{SS_B}{\sigma^2}\sim \chi^2(m - 1),若要使用 F 检验,还需额外验证 SSB,SSWSS_B, SS_W 相互独立(具体可参见上章的相关内容)。

若效应相同 μi=μˉ\mu_i = \bar{\mu},则 SSB/(m1)SSW/(nm)F(m1,nm)\dfrac{SS_B / (m - 1)}{SS_W / (n - m)} \sim F(m - 1, n - m)

方差来源 平方和 自由度 均方(MS) FF 比率
因素 SSBSS_B m1m - 1 MSB=SSBm1MS_B = \dfrac{SS_B}{m - 1} F=MSBMSWF = \dfrac{MS_B}{MS_W}
误差 SSWSS_W nmn - m MSW=SSWnmMS_W = \dfrac{SS_W}{n - m}
总和 SSTSS_T n1n - 1 -

快捷计算*

Ti=jXij,T=iTiT_i = \sum_{j} X_{ij}, T = \sum_i T_i,则有

{SST=i,jXij2T2nSSB=iTi2niT2nSSW=SSTSSB\left\lbrace\begin{aligned} SS_T &= \sum_{i, j} X_{ij}^2 - \dfrac{T^2}{n}\\ SS_B &= \sum_i \dfrac{T_i^2}{n_i} - \dfrac{T^2}{n}\\ SS_W &= SS_T - SS_B \end{aligned}\right.

最后一个证明有

SST=i,j(XijXˉ)2=i,j(XijXˉi+XˉiXˉ)2=i,j(XijXˉi)2+i,j(XˉiXˉ)2+2i,j(XijXˉi)(XˉiXˉ)=SSW+SSB+2i,j(XijXˉi)(XˉiXˉ)=SSW+SSB+2i(XˉiXˉ)j(XijXˉi)=SSW+SSB+2i(XˉiXˉ)×0=SSW+SSB\begin{aligned} SS_T &= \sum_{i, j} (X_{ij} - \bar{X}_{\odot \odot})^2\\ &= \sum_{i, j} (X_{ij} - \bar{X}_{i \odot} + \bar{X}_{i \odot} - \bar{X}_{\odot \odot})^2\\ &= \sum_{i, j} (X_{ij} - \bar{X}_{i \odot})^2 + \sum_{i, j} (\bar{X}_{i \odot} - \bar{X}_{\odot \odot})^2 + 2 \sum_{i, j} (X_{ij} - \bar{X}_{i \odot})(\bar{X}_{i \odot} - \bar{X}_{\odot \odot})\\ &= SS_W + SS_B + 2 \sum_{i, j} (X_{ij} - \bar{X}_{i \odot})(\bar{X}_{i \odot} - \bar{X}_{\odot \odot})\\ &= SS_W + SS_B + 2 \sum_i (\bar{X}_{i \odot} - \bar{X}_{\odot \odot}) \sum_j (X_{ij} - \bar{X}_{i \odot})\\ &= SS_W + SS_B + 2 \sum_i (\bar{X}_{i \odot} - \bar{X}_{\odot \odot}) \times 0\\ &= SS_W + SS_B \end{aligned}

参数估计

若效应不同,估计效应 μi\mu_i

采用最大似然估计

L(μ1,,μm,σ2)=(12πσ2)nexp(imjni(Xijμi)22σ2)L(\mu_1, \dots, \mu_m, \sigma^2) = \left( \dfrac{1}{\sqrt{2\pi\sigma^2}} \right)^n \exp\left( -\sum_{i\le m}\sum_{j \le n_i} \dfrac{(X_{ij} - \mu_i)^2}{2 \sigma^2} \right)

估计方差

无关因素,组内离差平方和 SSWσ2χ2(nm)\dfrac{SS_W}{\sigma^2} \sim \chi^2(n - m)

估计两个水平下的总体 N(μi,σ2),N(μj,σ2)\mathcal{N}(\mu_i, \sigma^2),\, \mathcal{N}(\mu_{j}, \sigma^2) 的效应差 μiμj\mu_i - \mu_{j}

  • E[XˉiXˉj]=μiμj\mathbb{E}[\bar{X}_{i \odot} - \bar{X}_{j \odot}] = \mu_i - \mu_{j}
  • Var[XˉiXˉj]=σ2(1ni=1nj)\operatorname{Var} [\bar{X}_{i \odot} - \bar{X}_{j \odot}] = \sigma^2\left(\frac{1}{n_i} = \frac{1}{n_{j}}\right)

于是有

(XˉiXˉj)(μiμj)σ1ni+1nj/SSWσ2/(nm)=(XˉiXˉj)(μiμj)SSW(1ni+1nj)/(nm)t(nm)\dfrac{(\bar{X}_{i \odot} - \bar{X}_{j \odot}) - (\mu_i - \mu_{j})}{\sigma \sqrt{\frac{1}{n_i} + \frac{1}{n_{j}}}} \bigg/ \sqrt{\dfrac{SS_W}{\sigma^2} / (n - m)} = \dfrac{(\bar{X}_{i \odot} - \bar{X}_{j \odot}) - (\mu_i - \mu_{j})}{\sqrt{SS_W(\frac{1}{n_i} + \frac{1}{n_{j}}) / (n - m)}} \sim t(n - m)

双因素方差分析

two-way analysis of variance

两个因素的各个水平对实验结果的影响(是否一样?最好?最坏?)

模型假设:

  • a,ba, b 个水平,每个水平组合一次试验
  • 线性:Xij=μ+αi+βj+ϵijX_{ij} = \mu + \alpha_i + \beta_{j} + \epsilon_{ij}
  • 正态性:每次试验噪声 ϵijN(0,σi2)\epsilon_{ij} \sim \mathcal{N}(0, \sigma_i^2)
  • 方差齐性:σ12==σm2=σ2\sigma_1^2 = \dots = \sigma_{m}^2 = \sigma^2
  • 独立性:噪声之间相互独立

分析方差

定义

总离差平方和

SST=i,j(XijXˉ)2SS_T = \sum_{i, j} (X_{ij} - \bar{X}_{\odot \odot})^2

因素 A 的效应平方和

SSA=bia(XˉiXˉ)2SS_A = b \sum_{i \le a} (\bar{X}_{i \odot} - \bar{X}_{\odot \odot})^2

因素 B 的效应平方和

SSB=ajb(XˉjXˉ)2SS_B = a \sum_{j \le b} (\bar{X}_{\odot j} - \bar{X}_{\odot \odot})^2

误差平方和

SSE=i,j(XijXˉiXˉj+Xˉ)2SS_E = \sum_{i, j} (X_{ij} - \bar{X}_{i \odot} - \bar{X}_{\odot j} + \bar{X}_{\odot \odot})^2

假设检验

直觉上因素各水平的效应都相同的话有 αi=0\alpha_i = 0βi=0\beta_i = 0,效应平方和不会大:

  • 若因素 A 效应相同 αi=0\alpha_i = 0SSAσ2χ(α1)\dfrac{SS_A}{\sigma^2}\sim \chi(\alpha - 1),否则 E[SSA/(a1)]>σ2\mathbb{E}\left[ SS_A / (a - 1) \right] > \sigma^2
  • 若因素 B 效应相同 βi=0\beta_i = 0SSBσ2χ(β1)\dfrac{SS_B}{\sigma^2}\sim \chi(\beta - 1),否则 E[SSB/(b1)]>σ2\mathbb{E}\left[ SS_B / (b - 1) \right] > \sigma^2

无关因素,误差平方和 SSEσ2χ2((a1)(b1))\dfrac{SS_E}{\sigma^2} \sim \chi^2((a - 1)(b - 1))

  • 检验因素 A

FA=SSA/(a1)SSE/((a1)(b1))F_A = \dfrac{SS_A / (a - 1)}{SS_E / ((a - 1)(b - 1))}

  • 检验因素 B

FB=SSB/(b1)SSE/((a1)(b1))F_B = \dfrac{SS_B / (b - 1)}{SS_E / ((a - 1)(b - 1))}

方差分析表

方差来源 平方和 自由度 均方(MS) FF 比率
因素 A SSASS_A a1a - 1 MSA=SSAa1MS_A = \dfrac{SS_A}{a - 1} F=MSAMSEF = \dfrac{MS_A}{MS_E}
因素 B SSBSS_B b1b - 1 MSB=SSBb1MS_B = \dfrac{SS_B}{b - 1} F=MSBMSEF = \dfrac{MS_B}{MS_E}
误差 SSESS_E (a1)(b1)(a - 1)(b - 1) MSE=SSE(a1)(b1)MS_E = \dfrac{SS_E}{(a - 1)(b - 1)} -
总和 SSTSS_T ab1ab - 1 - -

双因素方差分析和交互作用(interaction)

模型假设:

  • a,ba, b 个水平,每个水平组合 cc 次试验
  • 线性:Xij=μ+αi+βj+γij+ϵijX_{ij} = \mu + \alpha_i + \beta_{j} + \textcolor{ff0099}{\gamma_{ij}} + \epsilon_{ij}γij\gamma_{ij} 为交互作用效应
  • 正态性:每次试验噪声 ϵijN(0,σi2)\epsilon_{ij} \sim \mathcal{N}(0, \sigma_i^2)
  • 方差齐性:σ12==σm2=σ2\sigma_1^2 = \dots = \sigma_{m}^2 = \sigma^2
  • 独立性:噪声之间相互独立

分析方差

定义

总离差平方和

SST=i,j,k(XijkXˉ)2SS_T = \sum_{i, j, k} (X_{ijk} - \bar{X}_{\odot \odot \odot})^2

因素 A 的效应平方和

SSA=bci(XˉiXˉ)2SS_A = b c \sum_{i} (\bar{X}_{i \odot \odot} - \bar{X}_{\odot \odot \odot})^2

因素 B 的效应平方和

SSB=acj(XˉjXˉ)2SS_B = a c \sum_{j} (\bar{X}_{\odot j \odot} - \bar{X}_{\odot \odot \odot})^2

交互作用的效应平方和

SSAB=ci,j(XˉijXˉiXˉj+Xˉ)2SS_{AB} = c \sum_{i, j} (\bar{X}_{ij \odot} - \bar{X}_{i \odot \odot} - \bar{X}_{\odot j \odot} + \bar{X}_{\odot \odot \odot})^2

误差平方和

SSE=i,j,k(XijkXˉij)2SS_E = \sum_{i, j, k} (X_{ijk} - \bar{X}_{ij \odot})^2

假设检验

直觉上若交互作用不存在,则 XˉijXˉi+XˉjXˉ\bar{X}_{ij \odot} \approx \bar{X}_{i \odot \odot}+ \bar{X}_{\odot j \odot} - \bar{X}_{\odot \odot \odot}γij0\gamma_{ij} \approx 0,效应平方和不会大。

若没有交互作用,γij=0\gamma_{ij} = 0,有 SSABσ2χ2((a1)(b1))\dfrac{SS_{AB}}{\sigma^2} \sim \chi^2((a - 1)(b - 1)),否则 E[SSAB(a1)(b1)]>σ2\mathbb{E}\left[ \frac{SS_{AB}}{(a - 1)(b - 1)} \right] > \sigma^2

无关因素,误差平方和 SSEσ2χ2(ab(c1))\dfrac{SS_E}{\sigma^2} \sim \chi^2(ab (c - 1))

检验交互作用

FAB=SSAB/((a1)(b1))SSE/(ab(c1))F((a1)(b1),ab(c1))F_{AB} = \dfrac{SS_{AB} / ((a - 1)(b - 1))}{SS_E / (ab (c - 1))} \sim F((a - 1)(b - 1), ab(c - 1))

方差分析表

方差来源 平方和 自由度 均方(MS) FF 比率
因素 A SSASS_A a1a - 1 MSA=SSAa1MS_A = \dfrac{SS_A}{a - 1} F=MSAMSEF = \dfrac{MS_A}{MS_E}
因素 B SSBSS_B b1b - 1 MSB=SSBb1MS_B = \dfrac{SS_B}{b - 1} F=MSBMSEF = \dfrac{MS_B}{MS_E}
交互作用 SSABSS_{AB} (a1)(b1)(a - 1)(b - 1) MSAB=SSAB(a1)(b1)MS_{AB} = \dfrac{SS_{AB}}{(a - 1)(b - 1)} F=MSABMSEF = \dfrac{MS_{AB}}{MS_E}
误差 SSESS_E ab(c1)ab(c - 1) MSE=SSEab(c1)MS_E = \dfrac{SS_E}{ab(c - 1)} -
总和 SSTSS_T abc1abc - 1 - -

快捷计算*

  • Tij=kXijkT_{ij} = \sum_{k} X_{ijk}
  • Ti=jTijT_{i \odot} = \sum_{j} T_{ij}
  • Tj=iTijT_{\odot j} = \sum_{i} T_{ij}
  • T=i,jTijT = \sum_{i, j} T_{ij}

则有

{SST=i,j,kXijk2T2abcSSA=iTi2acT2abcSSB=jTj2bcT2abcSSAB=i,jTij2cT2abcSASBSSE=SSTSSASSBSSAB\left\lbrace\begin{aligned} SS_T &= \sum_{i, j, k} X_{ijk}^2 - \dfrac{T^2}{abc}\\ SS_A &= \sum_{i} \dfrac{T_{i \odot}^2}{ac} - \dfrac{T^2}{abc}\\ SS_B &= \sum_{j} \dfrac{T_{\odot j}^2}{bc} - \dfrac{T^2}{abc}\\ SS_{AB} &= \sum_{i, j} \dfrac{T_{ij}^2}{c} - \dfrac{T^2}{abc} - S_A - S_B\\ SS_E &= SS_T - SS_A - SS_B - SS_{AB} \end{aligned}\right.

回归

由于其他笔记,例如《机器学习》已涉及相关内容,这里就不完整记录了。

线性回归

模型假设:

  • 规律符合线性
  • 噪声正态性、齐性、独立性:ϵiN(0,σ2)\epsilon_i \sim \mathcal{N}(0, \sigma^2)

参数估计

简单线性回归 Yi=a+bXi+ϵiY_i = a + b X_i + \epsilon_i

模型有多好?如何选择 a,ba, b

最大似然估计(LME):

L(a,b,σ2)=(12πσ2)nexp(12σ2i(yiabxi))L(a, b, \sigma^2) = \left( \dfrac{1}{\sqrt{2 \pi \sigma^2}} \right)^n \exp\left( -\dfrac{1}{2 \sigma^2} \sum_i (y_i - a - b x_i) \right)

即最小化 i(yiabxi)2\sum_i (y_i - a - b x_i)^2,这也就是「最小二乘法」(least squares)。

相当于求驻点

{2i(yiabxi)=02i(yiabxi)xi=0\left\lbrace\begin{aligned} 2 \sum_i (y_i - a - b x_i) &= 0\\ 2 \sum_i (y_i - a - b x_i) x_i &= 0 \end{aligned}\right.

解得

{iyi=na+bixiixiyi=aixi+bixi2\left\lbrace\begin{aligned} \sum_i y_i = n a + b \sum_i x_i\\ \sum_i x_i y_i = a \sum_i x_i + b \sum_i x_i^2 \end{aligned}\right.

剩下的解方程组即可。

估计方差

估计 y^i=a^+b^xi\hat{y}_i = \hat{a} + \hat{b} x_i 会有偏差。

  • 残差(residual):ei=y^iyie_i = \hat{y}_i - y_i
  • 残差平方和 Q=iei2Q = \sum_i e_i^2

  • Qσ2χ2(n2)\dfrac{Q}{\sigma^2} \sim \chi^2(n - 2)
  • E[Qn2]=σ2\mathbb{E}\left[ \dfrac{Q}{n - 2} \right] = \sigma^2

点预测与预测区间

简单线性回归 Y=a+bX+ϵY = a + b X + \epsilon,给定 XX 预测 YY 误差永远存在,精确估计不现实。

  • 预测关于 X1,,XnX_1, \dots, X_nY1,,YnY_1, \dots, Y_n 的平均值,大数定理保证了 nn 越大估计越精确
  • 预测区间:给定 XX,预测 YY 可能的范围

控制问题:给定 YY1α1 - \alpha 概率处于范围 [yL,yU][y_L, y_U],则 XX 应该是多少?

其他话题

拟合优度

判定系数(coefficient of determination)R[0,1]R \in [0, 1]

SST=i(yiyˉ)2=i(y^iyˉ)2+i(yiy^i)2=SSR+SSE\begin{aligned} SS_T &= \sum_i (y_i - \bar{y})^2\\ &= \sum_i (\hat{y}_i - \bar{y})^2 + \sum_i (y_i - \hat{y}_i)^2\\ &= SS_R + SS_E \end{aligned}

于是有

R2=SSRSSTR^2 = \dfrac{SS_R}{SS_T}

线性回归的方差分析

方差来源 平方和 自由度 均方(MS) FF 比率
回归 SSRSS_R 1 MSR=SSRMS_R = SS_R F=MSRMSEF = \dfrac{MS_R}{MS_E}
残差 SSESS_E n2n - 2 MSE=SSEn2MS_E = \dfrac{SS_E}{n - 2}
总和 SSTSS_T n1n - 1 - -

异常值(离群值,outlier)

少数离群值对均方误差贡献极大,普通最小二乘对此非常敏感。

非线性回归

见《机器学习》相关笔记,此处略。

  • 对数线性回归
  • Logistic 回归
  • 支持向量回归
  • 岭回归

过拟合

见《机器学习》相关笔记,此处略。

多元线性回归

yi=β0+β1xi1++βpxip+ϵi=xiβ+ϵiy_i = \beta_0 + \beta_1 x_{i 1}+ \dots + \beta_p x_{i p} + \epsilon_i = \mathbf{x}_i^\intercal \bm{\beta} + \epsilon_i

y=[y1yn],X=[x1xn]=[1x11x1p1xn1xnp],β=[β0βp],ϵ=[ϵ1ϵn]\mathbf{y} = \begin{bmatrix} y_1 \\ \vdots \\ y_n \end{bmatrix},\, \mathbf{X} = \begin{bmatrix} \mathbf{x}_1^\intercal \\ \vdots \\ \mathbf{x}_n^\intercal \end{bmatrix} = \begin{bmatrix} 1 & x_{11} & \dots & x_{1 p}\\ \vdots & \vdots & \ddots & \vdots\\ 1 & x_{n1} & \dots & x_{n p} \end{bmatrix},\, \bm{\beta} = \begin{bmatrix} \beta_0 \\ \vdots \\ \beta_p \end{bmatrix},\, \bm{\epsilon} = \begin{bmatrix} \epsilon_1 \\ \vdots \\ \epsilon_n \end{bmatrix}

则有

y=Xβ+ϵ\mathbf{y} = \mathbf{X} \bm{\beta} + \bm{\epsilon}

则参数

β^=arg minβyXβ2(XX)1Xy\hat{\bm{\beta}} = \argmin_{\bm{\beta}} \left\lVert \mathbf{y} - \mathbf{X} \bm{\beta} \right\rVert_2 \approx (\mathbf{X}^\intercal \mathbf{X})^{-1} \mathbf{X}^\intercal \mathbf{y}

高维空间最优化问题,较为复杂。

信息论初步

信息熵

信息熵(entropy)刻画变量「有多随机」

H(X)=xp(x)log21p(x)H(X) = \sum_x p(x) \log_2 \dfrac{1}{p(x)}

底数不一定是 22

这个定义是从公理导出的*:

  • 对称性:H(p1,p2,)=H(p2,p1,)H(p_1, p_2, \dots) = H(p_2, p_1, \dots)
  • 最大熵:H(p1,,pn)H(1n,,1n)=lognH(p_1, \dots, p_n) \le H\left(\frac{1}{n}, \dots, \frac{1}{n}\right) = \log n
  • 连续性
  • 递归性:H(p1,p2,,pn)=H(p1+p2,,pn)+(p1+p2)H(p1p1+p2,p2p1+p2)H(p_1, p_2, \dots, p_n) = H(p_1 + p_2, \dots, p_n) + (p_1 + p_2) H\left(\frac{p_1}{p_1 + p_2}, \frac{p_2}{p_1 + p_2}\right)

信息熵简单的性质:

  • 非负性:对任意随机变量 XX 都有 H(X)0H(X) \ge 0
  • 可加性:若 X,YX, Y 相互独立,则联合分布 H(X,Y)=H(X)+H(Y)H(X, Y) = H(X) + H(Y)

第一个显然,第二个有

H(X,Y)=x,yp(x,y)log2p(x,y)=x,yp(x)p(y)(log2p(x)+log2p(y))=(yp(y))xp(x)log2p(x)(xp(x))yp(y)log2p(y)=xp(x)log2p(x)yp(y)log2p(y)=H(X)+H(Y)\begin{aligned} H(X, Y) &= - \sum_{x, y} p(x, y) \log_2 p(x, y)\\ &= - \sum_{x, y} p(x) p(y) (\log_2 p(x) + \log_2 p(y))\\ &= - \left( \sum_y p(y) \right) \sum_x p(x) \log_2 p(x) - \left( \sum_x p(x) \right) \sum_y p(y) \log_2 p(y)\\ &= - \sum_x p(x) \log_2 p(x) - \sum_y p(y) \log_2 p(y)\\ &= H(X) + H(Y) \end{aligned}

nq[0,n]nq \in [0, n] 是整数,则

2nH(q)n+1(nnq)2nH(q)\dfrac{2^{n H(q)}}{n + 1} \le \dbinom{n}{nq} \le 2^{n H(q)}

证明

上界由二项式定理有

1=(q+(1q))n=k=0n(nk)qk(1q)nk(nnq)qnq(1q)nnq\begin{aligned} 1 &= (q + (1 - q))^n\\ &= \sum_{k=0}^{n} \dbinom{n}{k} q^{k} (1 - q)^{n - k}\\ &\ge \dbinom{n}{nq} q^{nq} (1 - q)^{n - nq}\\ \end{aligned}

从而

(nnq)qqn(1q)(1q)n=2qnlog2q2(1q)nlog2(1q)=2nH(q)\begin{aligned} \dbinom{n}{nq} &\le q^{-q n} (1 - q)^{-(1 - q) n}\\ &= 2^{-q n \log_2 q} 2^{-(1 - q) n \log_2 (1 - q)}\\ &= 2^{n H(q)} \end{aligned}

下界有 nq=arg mink(nk)qk(1q)nkn q = \argmin\limits_{k} \binom{n}{k} q^{k} (1 - q)^{n - k},二项式定理有

k=0n(nk)qk(1q)nk=1\sum_{k=0}^{n} \dbinom{n}{k} q^{k} (1 - q)^{n - k} = 1

最多含 n+1n + 1 项。

于是

(n+1)(nnq)qqn(1q)(1q)n1(n + 1) \dbinom{n}{n q} q^{q n} (1 - q)^{(1 - q) n} \ge 1

等价于

(nnq)qqn(1q)(1q)nn+12nH(q)n+1\begin{aligned} \dbinom{n}{n q} &\ge \dfrac{q^{qn}(1 - q)^{(1 - q)n}}{n + 1}\\ &\ge \dfrac{2^{n H(q)}}{n + 1} \end{aligned}

目标 q=arg mink(nk)qk(1q)nkq = \argmin\limits_{k} \binom{n}{k} q^{k} (1 - q)^{n - k},于是

(nk)qk(1q)nk(nk+1)qk+1(1q)nk1=(nk)qk(1q)nk(1nkk+1q1q)\dbinom{n}{k} q^{k} (1 - q)^{n - k} - \dbinom{n}{k + 1} q^{k + 1} (1 - q)^{n - k - 1} = \dbinom{n}{k} q^{k} (1 - q)^{n - k} \left( 1 - \dfrac{n - k}{k + 1} \dfrac{q}{1 - q} \right)

非负,当 1nkk+1q1q01 - \dfrac{n - k}{k + 1} \dfrac{q}{1 - q} \ge 0

而这等价于

kqn1+qk \ge q n - 1 + q

压缩

硬币序列

压缩方案即前缀码 f ⁣:Ωn{0,1}f\colon \Omega^n \to \left\lbrace 0, 1 \right\rbrace^{*}

一枚硬币正面概率 p>12p > \dfrac{1}{2},对任意小的常数 δ>0\delta > 0nn 足够大时有

  • 存在一种压缩使用期望至多 (1+δ)nH(p)(1 + \delta) n H(p) 个比特压缩长度 nn 的抛硬币序列
  • 任意压缩长度 nn 的抛硬币序列的压缩方案使用期望至少 (1δ)nH(p)(1 - \delta) n H(p) 个比特

ϵ>0\epsilon > 0 是足够小的常数满足 pϵ>12p - \epsilon > \dfrac{1}{2}

  • 若序列中有不多于 n(pϵ)n(p - \epsilon) 正面:编码第一位为 11,使用 n+1n + 1 比特编码;
  • 否则第一位为 00,对每一种情况使用一种不同的编码(如 mm 种序列 log2m\left\lceil \log_2 m \right\rceil 比特)

第一种情况由 Chernoff 界,概率不超过 exp(nϵ22p)\exp\left(\dfrac{- n \epsilon^2}{2 p}\right),全期望 (n+1)exp(nϵ22p)(n + 1) \exp\left( \dfrac{n \epsilon^2}{2 p} \right)

第二种情况数目

i=n(pϵ)n(ni)i=n(pϵ)n(nn(pϵ))n22nH(pϵ)\begin{aligned} \sum_{i=n(p-\epsilon)}^{n} \dbinom{n}{i} &\le \sum_{i=n(p - \epsilon)}^{n} \dbinom{n}{n(p - \epsilon)}\\ &\le \dfrac{n}{2} 2^{n H(p - \epsilon)} \end{aligned}

使用比特

1+log2n22nH(pϵ)nH(pϵ)+log2n+21 + \left\lceil \log_2 \dfrac{n}{2} 2^{n H(p - \epsilon)} \right\rceil \le n H(p - \epsilon) + \log_2 n + 2

若序列 S1S_1 比序列 S2S_2 出现概率更高,则最优压缩方案满足

f(S1)f(S2)|f(S_1)| \le |f(S_2)|

对于任意大小为 ss 的序列的集合,一定有一个序列 SS 满足

f(S)log2s1|f(S)| \ge \log_2 s - 1

则包含 n(p+ϵ)n(p + \epsilon) 个正面的序列需要 log2(nn(p+ϵ))1log22nH(p+ϵ)n+11\log_2 \dbinom{n}{n(p + \epsilon)} - 1 \ge \log_2 \dfrac{2^{n H(p + \epsilon)}}{n + 1} - 1 个比特。

香农信源编码定理*

source coding theorem

对压缩方案前缀码 f ⁣:Ωn{0,1}f\colon \Omega^n \to \left\lbrace 0, 1 \right\rbrace^{*},对于任意在 Ω\Omega 上的概率分布 DD,对于足够大的 nn 有:

  • 任意压缩方案都不可能使用期望低于 nH(D)n H(D) 个比特压缩 (X1,,Xn)D(X_1, \dots, X_n) \sim D
  • 存在一种压缩方案使用期望少于 nH(D)+1n H(D) + 1 个比特压缩 (X1,,Xn)D(X_1, \dots, X_n) \sim D

对于 xΩx \in \Omega,使用长度为 log2D(x)log2D(x)+1\left\lceil - \log_2 D(x) \right\rceil \le - \log_2 D(x) + 1 个比特的编码,期望长度不超过 xD(x)(log2D(x)+1)=H(X)=1\displaystyle \sum_x D(x) (- \log_2 D(x) + 1) = H(X) = 1