转载ide
一直作着的不肯定性分析,不少时候会涉及到置信区间的概念,但一直没能有个清晰的认识,今天终于从网上查资料,具体核实了置信区间的含义。spa
95%置信区间(Confidence Interval,CI):当给出某个估计值的95%置信区间为【a,b】时,能够理解为咱们有95%的信心(Confidence)能够说样本的平均值介于a到b之间,而发生错误的几率为5%。 htm
有时也会说90%,99%的置信区间,具体含义可参考95%置信区间。排序
置信区间具体计算方式为:get
(1)知道样本均值(M)和标准差(ST)时:源码
置信区间下限:a=M - n*ST; 置信区间上限:a=M + n*ST; 方法
当求取90% 置信区间时 n=1.645 im
当求取95% 置信区间时 n=1.96数据
当求取99% 置信区间时 n=2.576sort
(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%clearclcsampledata=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];