[PROC FREQ] 单组率置信区间的计算
本文链接:https://www.cnblogs.com/snoopy1866/p/15674999.html
利用PROC FREQ过程中的binomial语句可以很方便地计算单组率置信区间,SAS提供了9种(不包括校正法)计算单组率置信区间的方法,现列举如下:
首先准备示例数据:
data test;
input out $ weight;
cards;
阳性 95
阴性 5
;
run;
1. Wald 法
基于Wald法构建的单组率的置信区间应用非常广泛,且Wald在结构上有着以点估计为中心对称分布的天然优势,基于Wald法构建的单样本率置信区间可表示为:
\]
优点:以点估计为中心,对称分布
缺点:(1)Overshoot: 置信区间可能超过[0,1]范围(2)Degeneracy: 区间宽度可能为0(p=0或1时)(3)覆盖率差
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = wald);
weight weight;
run;

2. Wald 法(连续性校正)
\]
优点:(1)可避免区间宽度可能为0的情况(2)覆盖率较Wald法有所改善
缺点:(1)结果偏保守(2)更容易发生置信区间超过[0,1]范围的情况
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = wald(correct));
weight weight;
run;

3. Agresti-Coull
Agresti-Coull法的主要思路是选择一个大于0的常数作为pseudo-frequency,在计算样本量的时候对点估计进行校正,目的是使点估计尽量向中央(0.5)靠拢,这个大于零0的常数被称为估计因子\(\phi\)。
Agresti和Coull提出了\(\phi\)的两种形式,\(\phi =\frac{1}{2}z_{\alpha/2}^2\)和\(\phi = 2\),前者称为ADDZ2校正法,后者称为ADD4校正法,SAS中仅提供ADDZ2校正法,当\(\alpha = 0.05\)时,\(z_{\alpha/2}\)接近2,此时ADDZ2校正法与ADD4校正法近似。
当\(\phi = 2\)时(ADD4校正法),其实际含义是样本成功率和失败例数分别加2,即总样本量加4。
\]
其中\(\tilde{p} = \frac{n_1 + \frac{1}{2}z_{\alpha/2}^2}{n + z_{\alpha/2}^2}\)
优点:(1)downward spikes现象略有改善(downward spikes:当率在极端情况下,置信区间覆盖率急剧下滑)
缺点:(1)牺牲了置信区间宽度
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = agresticoull);
weight weight;
run;

4. Wilson Score法
Wilson Score法作为Wald法的替代,应用十分广泛,是目前学界公认的在非极端率情况下的最佳置信区间构建方法。
基于Wilson Score法构建的置信区间可表示为:
\]
\(p\)可表示为:
\left( \hat{p} + \frac{z_{\alpha/2}^2}{2n} \pm z_{\alpha/2} \sqrt{\frac{\hat{p}(1-\hat{p}) + \frac{1}{4n}z_{\alpha/2}^2}{n}} \right)
\]
优点:(1)被认为是moderate proportion(率不接近0或1)的最佳方法
缺点:(1)存在downward spikes现象
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = wilson);
weight weight;
run;

5. Wilson Score法(连续性校正)
基于Wilson Score法连续性校正构建的置信区间可表示为:
\]
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = wilson(correct));
weight weight;
run;

6. Jeffreys法
Jeffreys法构建的置信区间表示如下:
\]
\]
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = jeffreys);
weight weight;
run;

7. 似然比法
似然比法通过逆推似然比检验构造置信区间,零假设下似然比检验统计量可表示为:
\]
使检验统计量\(L(p_0)\)落在接受域内的所有\(p_0\)组成的区间即为似然比法的置信区间:\(\{p_0: L(p_0) < \chi_{1,\alpha}^2\}\),PROC FREQ通过迭代计算寻找置信限。
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = likelihoodratio);
weight weight;
run;

8. Logit法
基于Logit变换 \(Y = \ln(\frac{\hat{p}}{1 - \hat{p}})\),\(Y\) 的近似置信区间用以下公式计算:
\]
\]
\(p\) 的置信区间可表示为:
\]
\]
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = likelihoodratio);
weight weight;
run;

9. Clopper-Pearson法
基于二项分布构建的置信区间方法,使得精确置信限满足以下方程:
\]
\]
PROC FREQ 使用 \(F\) 分布计算Clopper-Pearson置信限,公式如下:
\]
\]
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = likelihoodratio);
weight weight;
run;

10. Mid-P法
Mid-P 精确置信限满足以下方程:
\]
\]
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = midp);
weight weight;
run;

11. Blaker法
通过对双侧 Blaker 精确检验逆推来构建置信区间,使检验统计量\(B(p_0, n_1)\)落在接受域内的所有\(p_0\)组成的区间称为Blaker置信区间:\(\{ p_0: B(p_0, n_1) > \alpha \}\)
其中:
\]
\]
代码:
proc freq data = test;
tables out /nopercent nocol norow nocum binomial(level = "阳性" cl = blaker);
weight weight;
run;

最后,将以上9种方法同时展示(wald 和 wilson 仅展示校正法):
proc freq data = test;
tables out /nopercent nocol norow
nocum binomial(level = "阳性"
cl = (wald(correct) agresticoull wilson(correct)
jeffreys likelihoodratio logit
clopperpearson midp blaker));
weight weight;
run;

参考文献:徐莹. 一种新的单样本率的置信区间估计方法[D].南方医科大学,2019.
[PROC FREQ] 单组率置信区间的计算的更多相关文章
- SAS笔记(6) PROC MEANS和PROC FREQ
PROC MEANS和PRC FREQ在做描述性分析的时候很常用,用法也比较简单,不过这两个过程步的某些选项容易忘记,本文就梳理一下. 在进入正文前,我们先创建所需的数据集TEST_SCORES: D ...
- SAP MRP的计算步骤
SAP MRP的计算步骤,物料需求计划(简称为MRP)与主生产计划一样属于ERP计划管理体系,它主要解决企业生产中的物料需求与供给之间的关系,即无论是对独立需求的物料,还是相关需求的物料, ...
- 正确率、召回率和 F 值
原文:http://peghoty.blog.163.com/blog/static/49346409201302595935709/ 正确率.召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价 ...
- 【转】构建高性能WEB站点之 吞吐率、吞吐量、TPS、性能测试
内容参考:构建高性能WEB站点.pdf 一.吞吐率 我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力.称之为吞吐率(Throughput),单位是"req/s".吞吐率 ...
- 构建高性能WEB站点之 吞吐率、吞吐量、TPS、性能测试
内容参考: 构建高性能WEB站点.pdf 一.吞吐率 我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力.称之为吞吐率(Throughput),单位是 “req/s”.吞吐率特指Web服务器 ...
- uber司机 如何提高评分、接单率、成单率?
接单率/成单率的解释 接单率计算方法为:成功接单的订单数 除以 系统派单的订单数. 成单率计算方法为:成功完成的订单数 除以 系统派单的订单数. 滴滴快车单单2.5倍,注册地址:http://www. ...
- 决策树C4.5算法——计算步骤示例
使用决策树算法手动计算GOLF数据集 步骤: 1.通过信息增益率筛选分支. (1)共有4个自变量,分别计算每一个自变量的信息增益率. 首先计算outlook的信息增益.outlook的信息增益Gain ...
- R-3 t分布--t置信区间--t检验
本节内容: 1:t分布存在的意义是什么 2:t分布的置信区间 3:t分布检验 一.t分布存在的意义是什么 数据分析中有一块很大的版图是属于均值对比的,应用广泛. 例如:对比试验前后病人的症状,证明某种 ...
- 用R语言求置信区间
用R语言求置信区间 用R语言求置信区间是很方便的,而且很灵活,至少我觉得比spss好多了. 如果你要求的只是95%的置信度的话,那么用一个很简单的命令就可以实现了 首先,输入da=c(你的数据,用英文 ...
随机推荐
- mysql根据条件决定是否插入数据
这个问题其实分两个方面: 1.根据表的主键决定数据是否插入. 2.根据表的非主键决定是否插入. 假设有表DOC_INFO(医生表),联合主键HOS_ID(医院代码),DEPT_CODE(科室代码),D ...
- 痞子衡嵌入式:在IAR开发环境下RT-Thread工程函数重定向失效分析
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下RT-Thread工程函数重定向失效分析. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
- 正则表达式&&Java文本复杂操作
正则表达式1.正则表达式的优势和用途? 一种强大而灵活的文本处理工具: 大部分编程语言 .数据库.文本编辑器.开发环境都支持正则表达式.2.正则表达式定义: 正如他的名字一样是描述了一个规则,通过这个 ...
- [bzoj1741]穿越小行星群
将每一行/每一列作为一个点,对于一个障碍(x,y),要么第x行和第y列的状态(是否攻击)只需要有一个就可以了,将第x行和第y列连边,就是二分图的最小点覆盖=最大匹配数. 1 #include<b ...
- [bzoj1082]栅栏
先二分答案,然后搜索暴力判断由于数据范围较大,需要剪枝:1.当前所有可能被用到的木板长度和(长度要不小于最小所需长度)>=所要拼成的所有木板的和:2.对于需求从大到小枚举木板(这样一开始枚举次数 ...
- [loj3156]回家路线
令$dp[i]$表示经过第$i$条边后的最小烦躁值,有$且dp[i]=\min_{y_{j}=x_{i}且q_{j}\le p_{i}}dp[j]+f(p_{i}-q_{j})$,其中$f(x)=Ax ...
- Dubbo的反序列化安全问题——kryo和fst
目录 0 前言 1 Dubbo的协议设计 2 Dubbo中的kryo序列化协议触发点 3 Dubbo中的fst序列化协议触发点 3.1 fst复现 3. 2 思路梳理 4 总结 0 前言 本篇是Dub ...
- bootstrap导入报错
- Vulnhub-Empire: LupinOne题解
Vulnhub-Empire: LupinOne题解 本靶机为Vulnhub上Empire系列之LupinOne,地址:EMPIRE: LUPINONE 扫描与发现 利用arp-scan命令扫描靶机I ...
- Codeforces 407E - k-d-sequence(单调栈+扫描线+线段树)
Codeforces 题面传送门 & 洛谷题面传送门 深感自己线段树学得不扎实-- 首先特判掉 \(d=0\) 的情况,显然这种情况下满足条件的区间 \([l,r]\) 中的数必须相同,双针扫 ...