R 中的多元概率分布
Surajit Ray
Professor, University of Glasgow
流式细胞术数据——侧向散射(SSC)与前向散射(FSC)

流式细胞术数据——侧向散射(SSC)与前向散射(FSC)

一般偏正态记为$SN(\xi,\omega,\alpha)$
最简单形式:$z \sim SN(\alpha)$
比较$SN(\alpha)$与标准正态

记号:三维多元偏正态分布
$SN(\xi,\Omega,\alpha)$
二元偏正态
${\xi}={\begin{pmatrix} 1 \\ 2 \end{pmatrix}},\quad { \Omega }={\begin{pmatrix} 1 & 0.5 \\ 0.5 & 2 \end{pmatrix}}$, ${\alpha}={\begin{pmatrix} -3 \\ 3 \end{pmatrix}}$。

来自sn库:
dmsn(x, xi, Omega, alpha)
pmsn(x, xi, Omega, alpha)
rmsn(n, xi, Omega, alpha)
xi、Omega、alpha来自sn库:
dmst(x, xi, Omega, alpha, nu)
pmst(x, xi, Omega, alpha, nu)
rmst(n, xi, Omega, alpha, nu )
xi、Omega、alpha、nu(自由度)从三维偏正态生成2000个样本
$ SN\left(\xi= \begin{pmatrix} 1 \\ 2 \\ -5 \end{pmatrix} , \Omega={\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}}, \alpha=\begin{pmatrix} 4 \\ 30 \\ -5 \end{pmatrix} \right)$
# 指定 xi、Omega 和 alpha
xi1 <- c(1, 2, -5)
Omega1 <- matrix(c(1, 1, 0,
1, 2, 0,
0, 0, 5), 3, 3)
alpha1 <- c(4, 30, -5)
# 生成样本
skew.sample <- rmsn(n = 2000, xi = xi1, Omega = Omega1, alpha = alpha1)
来自偏正态分布的样本

从三维偏t分布生成2000个样本
$\xi= \begin{pmatrix} 1 \\ 2 \\ -5 \end{pmatrix} , \Omega={\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}}, \alpha=\begin{pmatrix} 4 \\ 30 \\ -5 \end{pmatrix}, df = 4$
# 生成样本
skewt.sample <- rmst(n = 2000, xi = xi1, Omega = Omega1, alpha = alpha1, nu = 4)
估计偏正态分布参数需要迭代算法
sn包中有多种函数,如msn.mle()
msn.mle(y = skew.sample, opt.method = "BFGS")
$dp
$dp$beta
X1 X2 X3
[1,] 1.024 2.021 -4.81
$dp$Omega
X1 X2 X3
X1 0.9154 0.8865 -0.1507
X2 0.8865 1.8276 -0.3560
X3 -0.1507 -0.3560 5.0352
$dp$alpha
X1 X2 X3
3.670 28.465 -5.029
样本生成所用参数:
$\xi= \begin{pmatrix} 1 \\ 2 \\ -5 \end{pmatrix} , \Omega={\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}}, \alpha=\begin{pmatrix} 4 \\ 30 \\ -5 \end{pmatrix} $
R 中的多元概率分布