欢迎光临散文网 会员登陆 & 注册

专栏转视频-北太天元学习28-正态分布

2023-08-06 17:45 作者:卢朓  | 我要投稿

正态分布还经常会用到一个表, 列出标准正态分布的累积分布函数的反函数值:

设 X~N(0,1) , 已知 P(X<x) = 0.975

求 x . 以前,我们也是仅仅通过查表来求这个值。

现在有了北太天元,我们可以使用m函数 norminv 来求 ( norminv.m 在北太天元安装目录下的examples 目录下,)

例如: 在北太天元的命令行窗口输入

>> p = [ 0.025, 0.05, 0.95, 0.975 ] ;

>> x = norminv(p)

会得到

x =

 1x4 double

  -1.9600  -1.6449   1.6449   1.9600

这个意味着 P(X<=-1.96) = 0.025 , P(X<=-1.6449) = 0.05 ... , P(X<=1.96) = 0.975.

而且有了北太天元,我们也不用把N(\mu,\sigma^2) 的累积分布函数的反函数转成求标准分布函数的反函数了。

可以直接

>> mu = 2; sigma = 5;

>> p = 0.975;

>> x = norminv(p, mu, sigma)

得到

x =

 1x1 double

  23.9420

意味着 X ~ N(2, 5^2) , 那么 P(X<= 23.9420) = 0.975.

norminv.m 函数的内容也贴在这儿供大家参考:

% 利用erf函数求正态分布函数的 cdf 的逆

% 正态分布函数的分布函数 \phi(x) = \frac{1}{\sqrt{2\pi}\sigma}

% \int_{-\infty}^{x} exp( -\frac{(t-\mu)^2}{2\sigma^2} ) d t

% 可以通过 erfinv 来求\phi(x) 的逆 norminf

% mu: 正态分布的矩阵

% sigma: 正态分布的根方差

%


function y = norminv(x,mu,sigma)

if(nargin == 1)

mu = 0;

sigma =1;

end

y = (erfinv( 2*(x - 1/2) ) + mu) * sqrt(2)*sigma;

end


专栏转视频-北太天元学习28-正态分布的评论 (共 条)

分享到微博请遵守国家法律