Breeze线性代数概率分布

Breeze linear algebra probability distribution

我正在研究统计和概率 (aleks.com),他们有一个在线计算器可以计算标准正态随机变量的概率。

示例:P(Z > 1.26)

不过,我也在学习使用 Breeze 线性代数 Scala 库,我想了解如何使用 breeze.stats 包实现此计算。

提前致谢。

编辑:

我在 @dlwh 的回答之后增加了我的问题,以补充我对高斯分布的更多理解 class:然后我如何反转模式以使用概率值来获得该区域的具体值?

示例:我需要在给定概率 0.9426(即 1.90)的情况下确定 c 的值

// P(-c <= Z <= c) = 0.9426

val gau_dist = new Gaussian(0.0, 1.0)

val tailArea = (1 - 0.9426) / 2 //> Double = 0.028700000000000003

1 - gau_dist.cdf(1.90) // = tailArea //> Double = 0.02871655981600174

使用 breeze.stats.distributions._ 中的高斯 class:

scala> import breeze.stats.distributions._
import breeze.stats.distributions._

scala> Gaussian(0, 1).cdf(1.26)
res1: Double = 0.8961653188786995

scala> 1.0 - Gaussian(0, 1).cdf(1.26)
res2: Double = 0.10383468112130045

scala> Gaussian(0, 1).sample(1000000).count(_ > 1.26)
res3: Int = 103981

第一个(使用cdf方法)给你解析的方式,第二个是empirical/monte carlo估计。