简化法线累积函数的除法

问题描述

我正在努力简化R中两个正态概率函数的商。实际上,我正在计算条件偏斜正态密度,它们具有这两个函数之间的除法:

pnorm(alpha0+t(alpha2)%*%chol2inv(chol(omega2))%*%t(y2-xi2.1))/pnorm(tau2.1)

其中alpha0+t(alpha2)%*%chol2inv(chol(omega2))%*%t(y2-xi2.1)tau2.1产生实数。例如,有时我有pnorm(-50)/pnorm(-40),例如0/0不一致。但是这些值不为零,R只是一个近似值。我尝试使用erf函数,但是遇到了同样的问题(0/0)

关于如何解决此问题的任何提示?

解决方法

pnorm有一个log参数,这使其返回log(p)。将方程式更改为exp(log(p1)-log(p2)):

exp(pnorm(-50,log = TRUE) - pnorm(-40,log = TRUE))
#[1] 2.95577e-196

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...