转载

一直做着的不确定性分析,很多时候会涉及到置信区间的概念,但一直没能有个清晰的认识,今天终于从网上查资料,具体核实了置信区间的含义。

  95%置信区间(Confidence Interval,CI):当给出某个估计值的95%置信区间为【a,b】时,可以理解为我们有95%的信心(Confidence)可以说样本的平均值介于a到b之间,而发生错误的概率为5%。 

  有时也会说90%,99%的置信区间,具体含义可参考95%置信区间。

  置信区间具体计算方式为:

  (1)知道样本均值(M)和标准差(ST)时:

  置信区间下限:a=M – n*ST;     置信区间上限:a=M + n*ST; 

  当求取90% 置信区间时 n=1.645  

  当求取95% 置信区间时 n=1.96

  当求取99% 置信区间时 n=2.576

  (2)通过利用蒙特卡洛(Monte Carlo)方法获得估计值分布时:

  先对所有估计值样本进行排序, 置信区间下限:a为排序后第lower%百分位值;     置信区间上限:b为排序后第upper%百分位值.

  当求取90% 置信区间时 lower=5  upper=95;

  当求取95% 置信区间时 lower=2.5  upper=97.5

  当求取99% 置信区间时 lower=0.5  upper=99.5

  当样本足够大时,(1)和(2)获取的结果基本相等。

  参考资料:http://140.116.72.80/~smallko/ns2/confidence_interval.htm 

  

   附刚准备MATLAB 求取置信区间源码:

  ……………………………………………………………………………………………………………………

%%% 置信区间的定义90%,95%,99%
clear
clc
sampledata=randn(10000,1);
a=0.01; %0.01 对应99%置信区间, 0.05 对应95%置信区间 ,0.1 对应90%置信区间
if a==0.01
    n=2.576; % 2.576 对应99%置信区间, 1.96 对应95%置信区间 ,1.645 对应90%置信区间
elseif a==0.05
    n=1.96;
elseif a==0.1
    n=1.645;
end
%计算对应百分位值
meana=mean(sampledata);
stda=std(sampledata);
sorta=sort(sampledata);  %对数据从小到大排序
leng=size(sampledata,1);
CIa(1:2,1)=[sorta(leng*a/2);sorta(leng*(1-a/2))];
%利用公式计算置信区间
CIf(1:2,1)=[meana-n*stda;meana+n*stda];

版权声明:本文为hanny原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hanny/p/5087920.html