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

正态分布还经常会用到一个表, 列出标准正态分布的累积分布函数的反函数值:
设 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