matlab置信区间,置信区间(Confidence Interval)

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

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)获取的结果基本相等。

附刚准备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];

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

9757f6b97434162178efc884a7f0f0b9.png

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值