Skellam 分布:两个独立 Poisson 变量之差 X = Y1 - Y2 的分布 (Y1 ~ Poisson(lambda1),Y2 ~ Poisson(lambda2))。
本模块移植自 R 语言的 skellam 包 (参见项目 Resources\pskellam.txt、Resources\dskellam.txt、 Resources\dskellam.sp.txt),并复用基础库的 非中心卡方分布(ChiSquareDistribution) 与修正贝塞尔函数(BesselFunctions)。
TSSAR 算法使用 Skellam.pskellam() 计算 dRNA-seq 中 [+] 与 [-] 文库同一位置 read 起始计数差的显著性 p 值。
04 Members
dpois(Double, Double, Boolean)
Poisson 分布的概率质量函数 dpois(x, lambda, log.p)。
Parameters
| Name | Type | Description |
x | Double | 取值(自动向零取整)。 |
lambda | Double | Poisson 均值。 |
logP | Boolean | 是否返回对数概率。 |
dzipois(Double, Double, Double, Boolean)
零膨胀 Poisson 分布(zero-inflated Poisson, ZIP)的概率质量函数, 对应 VGAM 包的 dzipois(x, lambda, pstr0)。
Remarks
P(X = 0) = φ + (1 - φ)e^{-λ}; P(X = k) = (1 - φ)·Poisson(k; λ),k > 0。
Parameters
| Name | Type | Description |
x | Double | 取值。 |
lambda | Double | Poisson 均值。 |
pstr0 | Double | 结构零(structural zero)的概率 φ。 |
logP | Boolean | 是否返回对数概率。 |
dskellam(Double, Double, Double, Boolean)
Skellam 分布的概率质量函数 dskellam(x, lambda1, lambda2, log)。
Parameters
| Name | Type | Description |
x | Double | 整数取值。 |
lambda1 | Double | 第一个 Poisson 均值。 |
lambda2 | Double | 第二个 Poisson 均值;缺省时等于 lambda1。 |
logP | Boolean | 是否返回对数概率。 |
pskellam(Double, Double, Double, Boolean, Boolean)
Skellam 分布的累积分布函数 pskellam(q, lambda1, lambda2, lower.tail, log.p)。
Remarks
计算完全对应 R 的 pskellam:
q < 0:pchisq(2λ2, -2q, 2λ1, lower.tail)
q >= 0:pchisq(2λ1, 2(q+1), 2λ2, lower.tail = !lower.tail)
Parameters
| Name | Type | Description |
q | Double | 分位点(自动向负无穷取整,即 floor)。 |
lambda1 | Double | 第一个 Poisson 均值。 |
lambda2 | Double | 第二个 Poisson 均值;缺省时等于 lambda1。 |
lowerTail | Boolean | True 返回下尾 P(X <= q),否则返回上尾 P(X > q)。
|
logP | Boolean | 是否返回对数概率。 |
method
pskellam
overload 2
#
pskellam(Double(), Double(), Double(), Boolean, Boolean)
按 R 的向量化语义(循环补齐)计算 Skellam.pskellam()。
dskellamSP(Double, Double, Double, Boolean)
Skellam 概率质量函数的鞍点近似(saddlepoint approximation), 对应 R 的 dskellam.sp(Resources\dskellam.sp.txt)。
Parameters
| Name | Type | Description |
x | Double | 整数取值。 |
lambda1 | Double | 第一个 Poisson 均值。 |
lambda2 | Double | 第二个 Poisson 均值。 |
logP | Boolean | 是否返回对数概率。 |
pskellamSP(Double, Double, Double, Boolean, Boolean)
Skellam 累积分布函数的鞍点近似(saddlepoint approximation)。
Remarks
使用 Lugannani-Rice 公式(含格点连续性校正)。 当两个 lambda 中存在 0 时退化为精确的 Poisson 尾概率。 该分支仅在常规非中心卡方计算下溢(概率小于 1e-308)时被调用, 此时结果远低于 TSSAR 的任何判定阈值,因此对 TSS 判定没有实质影响。
Parameters
| Name | Type | Description |
q | Double | 已取整的分位点。 |
lambda1 | Double | 第一个 Poisson 均值。 |
lambda2 | Double | 第二个 Poisson 均值。 |
lowerTail | Boolean | 是否返回下尾概率。 |
logP | Boolean | 是否返回对数概率。 |
SaddlepointCDF(Double, Double, Double)
Lugannani-Rice 鞍点近似的下尾累积分布。
Parameters
| Name | Type | Description |
xc | Double | 带连续性校正的分位点。 |
lambda1 | Double | 第一个 Poisson 均值。 |
lambda2 | Double | 第二个 Poisson 均值。 |
DoubleXMin
双精度浮点的最小正规格化数 .Machine$double.xmin。
field
DoubleXMin
overload 2
#
DoubleXMin