R语言 实现双变量高斯分布的可视化
高斯分布(更好地称为正态分布)是统计学中最基本的概率分布之一。双变量高斯分布由两个独立的随机变量组成。在观察双变量高斯分布时,人们可以注意到一个钟形曲线。如果aX1 +bX2 对所有a、b∈R都具有正态分布,那么两个随机变量X1 和X2 就是双变量正态。
双变量高斯分布的概率分布函数(PDF)
密度函数描述了一个随机变量X在给定样本中的相对可能性。在数学上,双变量高斯分布中两个变量X和Y的PDF由以下公式给出。
其中
- μ = 平均数
- σ = 标准差
- ρ = X1 和X2 的相关度
如果P=2,那么这就是一个双变量高斯分布。
R语言 实现双变量高斯分布的可视化
我们将通过使用 mnormt() 包中的函数来绘制R中的双变量高斯分布,使其可视化。
我们将使用dmnorm( )来模拟正态分布。
dmnorm( ): mnorm(x, mean = rep(0, d), varcov, log = FALSE)
参数 | 描述 |
---|---|
x | 一个长度为d的向量,其中’d=ncol(varcov)’。 |
mean | 分布的期望值。 |
varcov | 分布的方差-协方差矩阵。 |
log | 如果为’TRUE’,则计算密度的对数。 |
现在,我们将使用 contour( ) 函数来创建一个等值线图,以获得双变量高斯分布的二维可视化效果
输出
为了实现分布的三维可视化,我们将使用软件包的 persp( ) 函数创建一个表面图。
persp(x = seq(0, 1, length.out = nrow(z)),y = seq(0, 1, length.out = ncol(z)),z, xlim = range(x), ylim = range(y),zlim = range(z, na。rm = TRUE),xlab = NULL, ylab = NULL, zlab = NULL,main = NULL, sub = NULL,theta = 0, phi = 15, r = sqrt(3), d = 1,scale = TRUE, expand = 1,col = "white", border = NULL, theta = -135, lphi = 0, shade = NA, box = TRUE, axes = TRUE, nticks = 5, ticktype = "simple", ... )
参数 | 描述 |
---|---|
x, y | 网格线的位置。 |
xlim, ylim, zlim | x-、y-和z-的极限值。 |
xlab, ylab, zlab | 轴的标题。 |
theta, phi | 定义观察方向的角度。 |
scale | 应用于Z坐标的扩展因子。 |
col | 面层的颜色。 |
border | 面片周围的线的颜色。 |
shade | 面片上的阴暗面。 |
box | 是否要显示曲面的边框。 |
ticktype | 勾股的类型。 |
输出