变换后随机变量在特征连续型Bayes中的计算

准备工作

问题产生

Frankie的困惑

Bayes通常用于在已知先验概率 P ( ω ) P(\omega) P(ω)和类条件概率 P ( X ∣ ω ) P(X|\omega) P(Xω)的前提下,计算拥有某个特征的样本属于某个类的后验概率 P ( ω ∣ X ) P(\omega|X) P(ωX)
著名的Bayes公式为:
P ( ω ∣ X ) = P ( X ∣ ω ) ⋅ P ( ω ) P ( X ) P(\omega|X)=\frac{P(X|\omega)\cdot P(\omega)}{P(X)} P(ωX)=P(X)P(Xω)P(ω)
Frankie是一名研究生。在一次科研活动中,他坐着船前往某个湖进行大量水质采样。水质分为 C l e a n Clean Clean T e r r i b l e Terrible Terrible两种。对于抽到的每一个样本,可以提取出3个连续型的特征。Frankie通过统计,得到了:

  1. C l e a n Clean Clean样本和 T e r r i b l e Terrible Terrible样本的占比,作为水质类别的先验概率
  2. 不同特征在全体样本中的联合分布律,作为不同特征的先验概率
  3. 不同特征分别在 C l e a n Clean Clean T e r r i b l e Terrible Terrible类别中的联合分布律,作为不同特征的类条件概率

现在,给定一个新的样本(假设新的样本特征值的每一个分量在已知样本中),Frankie就可以通过简单的Naive Bayes计算,得到该水质分别属于 C l e a n Clean Clean T e r r i b l e Terrible Terrible类别的后验概率了。

那么问题来了,有一天Frankie得到了一个全新的特征序列,该怎么通过已有样本得到全新特征值的类别呢?

如果因为原始数据因不满足正态性不便计算,而对样本值做了Box-Cox变换或其他变换。变换后的数据经过统计得到的后验概率还是其原数据的后验概率吗?

在大量数据下,我们可以很容易地知道单个特征的近似分布,但是如果不用Naive Bayes,各个特征之间的联合分布该如何计算。

问题总结

  1. Bayes公式如何处理连续型特征
  2. 当随机变量经过一定变换后,如何计算原数据下对应的后验概率
  3. 如何得到联合分布

特征连续型贝叶斯推导

已知连续型随机变量 X X X,类别空间 Ω = { ω 1 , ω 2 , … , ω n } \Omega=\{\omega_{1}, \omega_{2}, \dots , \omega_{n}\} Ω={ω1,ω2,,ωn}
P ( ω ∣ X = x ) = P ( X = x ∣ ω ) ⋅ P ( ω ) P ( X = x ) = P ( x ≤ X ≤ x + Δ x ∣ ω ) ⋅ P ( ω ) P ( x ≤ X ≤ x + Δ x ) = d F X ∣ ω ( x ) ⋅ P ( ω ) d F X ( x ) = f X ∣ ω ( x ) d x f X ( x ) d x ⋅ P ( ω ) = f X ∣ ω ( x ) f X ( x ) ⋅ P ( ω ) \begin{split} P(\omega|X=x)&=\frac{P(X=x|\omega)\cdot P(\omega)}{P(X=x)} \\ &=\frac{P(x \leq X \leq x+\Delta x|\omega)\cdot P(\omega)}{P(x \leq X \leq x+\Delta x)} \\ &=\frac{dF_{X|\omega}(x)\cdot P(\omega)}{dF_{X}(x)} \\ &=\frac{f_{X|\omega}(x)dx}{f_{X}(x)dx} \cdot P(\omega) \\ &=\frac{f_{X|\omega}(x)}{f_{X}(x)} \cdot P(\omega) \\ \end{split} P(ωX=x)=P(X=x)P(X=xω)P(ω)=P(xXx+Δx)P(xXx+Δxω)P(ω)=dFX(x)dFXω(x)P(ω)=fX(x)dxfXω(x)dxP(ω)=fX(x)fXω(x)P(ω)
这就解决了第一个问题,结论如下:
P ( ω ∣ X = x ) = f X ∣ ω ( x ) f X ( x ) ⋅ P ( ω ) \begin{equation} \begin{split} P(\omega|X=x) = \frac{f_{X|\omega}(x)}{f_{X}(x)} \cdot P(\omega) \end{split} \end{equation} P(ωX=x)=fX(x)fXω(x)P(ω)

随机变量的变换

现在需要解决随机变量经过变换后,其概率密度该如何计算,即:
已知 f X ( x ) f_{X}(x) fX(x)和变换函数 Y = g ( X ) Y=g(X) Y=g(X),如何计算 f Y ( y ) ∣ y = g ( x ) f_{Y}(y)|_{y=g(x)} fY(y)y=g(x)

Box-Cox变换

Box-Cox变换是一种将非正态数据转成正态数据的一种幂次变换。具体形式为:
b λ = { ( x + 1 ) λ − 1 λ λ ≠ 0 l n ( x + 1 ) λ = 0 \begin{equation} \begin{split} b_{\lambda}= \begin{cases} \displaystyle \frac{(x+1)^{\lambda}-1}{\lambda} &\lambda \neq 0\\ \displaystyle ln(x+1) & \lambda =0 \end{cases} \end{split} \end{equation} bλ= λ(x+1)λ1ln(x+1)λ=0λ=0
其中 λ \lambda λ需要通过极大似然估计的方法求得。

变换后概率密度推导

X X X是连续型随机变量, Y = g ( X ) Y=g(X) Y=g(X)是经过Box-Cox变换后的新的随机变量(实际上 g ( x ) g(x) g(x)可以是任意可导函数)。现有一样本 X = x X=x X=x,容易得到对于 y = g ( x ) y=g(x) y=g(x)
F Y ( y ) = P ( Y ≤ y ) = P ( g ( X ) ≤ y ) = P ( X ≤ g − 1 ( y ) ) = F X ( g − 1 ( y ) ) = F X ( x ) \begin{split} F_{Y}(y) &= P(Y \leq y) \\ &= P(g(X) \leq y) \\ &= P(X \leq g^{-1}(y)) \\ &= F_{X}(g^{-1}(y)) \\ &= F_{X}(x) \end{split} FY(y)=P(Yy)=P(g(X)y)=P(Xg1(y))=FX(g1(y))=FX(x)
由此得到结论:
F Y ( y ) = F X ( x ) s . t .   y = g ( x ) , Y = g ( X ) \begin{equation} \begin{split} &F_{Y}(y)=F_{X}(x) \\ &s.t.\ y=g(x),Y=g(X) \end{split} \end{equation} FY(y)=FX(x)s.t. y=g(x),Y=g(X)

( 3 ) (3) (3)得到 Y Y Y的概率密度函数:
f Y ( y ) = d F Y ( y ) d y = d F X ( x ) d y = d F X ( x ) d x d x d y = f X ( x ) ⋅ 1 g ′ ( x ) \begin{split} f_{Y}(y)&=\frac{dF_{Y}(y)}{dy} \\ &=\frac{dF_{X}(x)}{dy} \\ &=\frac{dF_{X}(x)}{dx} \frac{dx}{dy} \\ &=f_{X}(x) \cdot \frac{1}{g'(x)} \end{split} fY(y)=dydFY(y)=dydFX(x)=dxdFX(x)dydx=fX(x)g(x)1
由此得到结论:
f Y ( y ) = f X ( x ) ⋅ 1 g ′ ( x ) \begin{equation} \begin{split} f_{Y}(y)&=f_{X}(x) \cdot \frac{1}{g'(x)} \end{split} \end{equation} fY(y)=fX(x)g(x)1

变换后随机变量的特征连续型Bayes公式

由于对于不同的数据分布,Box-Cox变换的参数 λ \lambda λ都不一样。由于特征的先验概率和类条件概率分布不同,其Box-Cox变换函数不一致。
由此,假设特征连续型Bayes公式中,不同特征的类条件概率分布的变换函数为 Y 1 Y_{1} Y1,不同特征的先验概率为 Y 2 Y_{2} Y2
( 1 ) , ( 4 ) (1),(4) (1),(4)式可得:
P ( ω ∣ X = x ) = g 1 ′ ( x ) f Y 1 ∣ ω ( y 1 ) g 2 ′ ( x ) f Y 2 ( y 2 ) ⋅ P ( ω ) \begin{equation} \begin{split} P(\omega|X=x)=\frac{g'_{1}(x)f_{Y_{1}|\omega}(y_{1})}{g'_{2}(x)f_{Y_{2}}(y_{2})} \cdot P(\omega) \end{split} \end{equation} P(ωX=x)=g2(x)fY2(y2)g1(x)fY1ω(y1)P(ω)

联合分布以及非Naive Bayes

在解决如何得到联合分布前,先推导出多元复合随机变量特征连续型Bayes公式的形式。

多元复合随机变量特征连续型Bayes公式

X = { X 1 , X 2 , … , X n } X=\{X_{1},X_{2}, \dots , X_{n}\} X={X1,X2,,Xn}为多元随机变量,对于 i ≠ j i \neq j i=j X i X_{i} Xi X j X_{j} Xj独立, Y = { Y 1 , Y 2 , … , Y n } Y=\{Y_{1},Y_{2}, \dots ,Y_{n}\} Y={Y1,Y2,,Yn}是经过变换后的多元复合随机变量,其中 Y i Y_{i} Yi只与 X i X_{i} Xi相关。 P ( ω ∣ X = x ) P(\omega|X=x) P(ωX=x)的推导需要先回到 ( 4 ) (4) (4)式的推导:
f Y ( y ) = ∂ n F Y ( y ) ∂ y 1 ∂ y 2 … ∂ y n = ∂ n F X ( x ) ∂ y 1 ∂ y 2 … ∂ y n \begin{equation} \begin{split} f_{Y}(y)&=\frac{\partial^{n} F_{Y}(y)}{\partial y_{1}\partial y_{2} \dots \partial y_{n}} \\ &=\frac{\partial^{n} F_{X}(x)}{\partial y_{1}\partial y_{2} \dots \partial y_{n}} \end{split} \end{equation} fY(y)=y1y2ynnFY(y)=y1y2ynnFX(x)
因为对于 i ≠ j i \neq j i=j Y i Y_{i} Yi X j X_{j} Xj不相关,得到:
∂ x i ∂ y j = 0           i ≠ j \begin{split} \frac{\partial x_{i}}{\partial y_{j}}=0 \ \ \ \ \ \ \ \ \ i\neq j \end{split} yjxi=0         i=j
由此推得:
∂ F X ( x ) ∂ y i = ∂ F X ( x ) ∂ x i ⋅ ∂ x i ∂ y i \begin{split} \frac{\partial F_{X}(x)}{\partial y_{i}} =\frac{\partial F_{X}(x)}{\partial x_{i}} \cdot \frac{\partial x_{i}}{\partial y_{i}} \end{split} yiFX(x)=xiFX(x)yixi
将上述引理应用于(6)式可得:
f Y ( y ) = ∂ n F Y ( y ) ∂ y 1 ∂ y 2 … ∂ y n … = f X ( x ) ∏ i = 1 n 1 g ′ ( x i ) \begin{split} f_{Y}(y)&=\frac{\partial^{n} F_{Y}(y)}{\partial y_{1}\partial y_{2} \dots \partial y_{n}} \\ & \dots \\ &= f_{X}(x) \prod_{i=1}^{n} \frac{1}{g'(x_{i})} \end{split} fY(y)=y1y2ynnFY(y)=fX(x)i=1ng(xi)1
得到最终的多元复合随机变量特征连续型Bayes公式
P ( ω ∣ X = x ) = ∏ i = 1 n g 1 ′ ( x i ) f Y 1 ∣ ω ( y 1 ) ∏ i = 1 n g 2 ′ ( x i ) f Y 2 ( y 2 ) ⋅ P ( ω ) \begin{equation} \begin{split} P(\omega|X=x)=\frac{\prod_{i=1}^{n}g'_{1}(x_{i})f_{Y_{1}|\omega}(y_{1})}{\prod_{i=1}^{n}g'_{2}(x_{i})f_{Y_{2}}(y_{2})} \cdot P(\omega) \end{split} \end{equation} P(ωX=x)=i=1ng2(xi)fY2(y2)i=1ng1(xi)fY1ω(y1)P(ω)

获得联合分布(Copula函数)

对于多个非独立的随机变量,可以使用Copula函数对它们的联合分布进行建模。
Frankie发现他的数据经过Box-Cox变换后能够大致契合正太分布,于是他使用经典的Elliptical Copula函数中最经典的Gaussian Copula对他数据的联合分布进行建模。
C Σ G a u s s ( u ) = Φ Σ ( Φ − 1 ( u 1 ) , Φ − 1 ( u 2 ) , … , Φ − 1 ( u n ) ) \begin{equation} \begin{split} C_{\Sigma}^{Gauss}(u)=\Phi_{\Sigma}(\Phi^{-1}(u_{1}),\Phi^{-1}(u_{2}), \dots, \Phi^{-1}(u_{n})) \end{split} \end{equation} CΣGauss(u)=ΦΣ(Φ1(u1),Φ1(u2),,Φ1(un))
其中, Φ − 1 \Phi^{-1} Φ1是标准正态分布的伪逆; Φ Σ \Phi_{\Sigma} ΦΣ是均值为0,协方差矩阵为 σ \sigma σ的多元正态分布的联合分布。
参照Gaussian Copula函数,还应对Box-Cox变换后的数据进行标准化。所以,对原数据的变换函数最终可以表示为:
Y = b λ ( X ) − μ λ σ λ \begin{equation} \begin{split} Y=\frac{b_{\lambda}(X)-\mu_{\lambda}}{\sigma_{\lambda}} \end{split} \end{equation} Y=σλbλ(X)μλ
其中, b λ ( X ) b_{\lambda}(X) bλ(X)是参数为 λ \lambda λ的Box-Cox变换函数, μ λ \mu_{\lambda} μλ σ λ \sigma_{\lambda} σλ分别表示变换后数据的均值和方差。

结论

对离散型类别,连续型特征的一组数据进行Bayes分析,其步骤如下:

  1. 统计得到类别先验概率 P ( ω ) P(\omega) P(ω)
  2. 将原数据进行Box-Cox变换,并进行标准正态化
  3. 计算变换后数据的协方差矩阵,并拟合成标准正态分布
  4. 将拟合的标准正态分布代入Gaussian Copula函数
  5. 将得到的先验概率密度类条件概率密度代入多元复合随机变量特征连续型Bayes公式得到最终的后验概率
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值