求置信区间

英文为:binomial proportion confidence interval

一.正态近似——最常见和常用的


 

 

它的英文名:normal approximation interval.此公式适用于二项分布的大样本。

是否为大样本的一个近似的必要的条件是:

这个区间应完全在(0,1)区间之内。

对公式的更多了解:

http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Normal_approximation_interval

 

Tip如果P值很偏,很接近0或1时,就别用这个公式了。

二.二项分布模型——“exact interval”


 

这个公式,不知大家能不能看懂:

给大家做个变形:


 

 

这个公式在EXCEL中可以间接求出,公式:BINOMDIST。但会有些烦哦,不巧有个网址给出的就是这个“exact interval”的值:

http://statpages.org/confint.html

 

对公式的更多了解:

http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Normal_approximation_interval

 

三.对正态近似的改进——Wilson score interval



 

相对于正态近似而言,它既可以用于小样本,也可以用于极端概率。

对公式的更多了解:

http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Normal_approximation_interval

 

有这三个公式,应对求概率值置信区间的问题,想来是不成问题的了。

另对二项分布置信区间感兴趣的朋友,再多说一句:

这里的正态近似是对二项分布模型的近似,而二项分布模型又是对最根本的超几何分布的近似。[1]

参考资料:

[1]吴喜之,不同总体量和样本量时如何计算比例的置信区间[J].

[2]http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Normal_approximation_interval

[3]http://statpages.org/confint.html

在 Matlab 中置信区间可以使用 t 分布的函数 `tinv()` 或者正态分布的函数 `norminv()`。下面分别介绍这两种方法的具体实现。 1. 使用 t 分布的函数 `tinv()` 如果样本量较小,总体标准差未知,则可使用 t 分布置信区间,具体步骤如下: - 计算样本均值 `x_bar` 和样本标准差 `s`。 - 根据置信水平和样本量确定自由度 `df`。 - 调用 `tinv()` 函数计算置信区间。 例如,假设有一组样本数据如下: ```matlab x = [23.5, 24.1, 22.7, 25.0, 23.9]; ``` 要 95% 的置信区间,代码如下: ```matlab % 计算样本均值和标准差 x_bar = mean(x); s = std(x); % 确定自由度 n = length(x); df = n - 1; % 计算置信区间 alpha = 0.05; % 置信水平为 95% t = tinv(1 - alpha/2, df); CI = [x_bar - t*s/sqrt(n), x_bar + t*s/sqrt(n)]; ``` 结果为: ```matlab CI = 22.8111 24.7189 ``` 其中 `CI` 表示置信区间,即 [22.8111, 24.7189]。 2. 使用正态分布的函数 `norminv()` 如果样本量较大,总体标准差已知,则可使用正态分布置信区间,具体步骤如下: - 计算样本均值 `x_bar` 和总体标准差 `sigma`。 - 根据置信水平确定 z 值。 - 调用 `norminv()` 函数计算置信区间。 例如,假设有一组样本数据如下: ```matlab x = [23.5, 24.1, 22.7, 25.0, 23.9]; ``` 总体标准差已知为 1.5,要 95% 的置信区间,代码如下: ```matlab % 计算样本均值和总体标准差 x_bar = mean(x); sigma = 1.5; % 确定 z 值 alpha = 0.05; % 置信水平为 95% z = norminv(1 - alpha/2); % 计算置信区间 CI = [x_bar - z*sigma/sqrt(n), x_bar + z*sigma/sqrt(n)]; ``` 结果为: ```matlab CI = 21.8552 25.6748 ``` 其中 `CI` 表示置信区间,即 [21.8552, 25.6748]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值