威尔逊置信区间算法

威尔逊置信区间算法此算法的基础是以用户对某种抉择的二项性为基础 每条可记录的数据都是 0 1 的独立事件 符合泊松分布 于是该类数据很容易归类于二项分布里 二项分布计算置信区间有多种计算公式 最常见的是 正太区间 Normalapprox 但它只适用于样本较多的情况 np gt 5 且 n 1 p gt 5 对于小样本 它的准确性很差 Wilson 算法正是解决了

此算法的基础是以用户对某种抉择的二项性为基础,每条可记录的数据都是“0-1”的独立事件,符合泊松分布,于是该类数据很容易归类于二项分布里。二项分布计算置信区间有多种计算公式,最常见的是“正太区间”(Normal approximation interval),但它只适用于样本较多的情况(np > 5 且 n(1 − p) > 5),对于小样本,它的准确性很差。Wilson算法正是解决了小样本的准确性问题,Wilson算法的输入是置信度,输出是置信区间,如果要做数据排序对比,则可以选择置信区间的下限数据。

威尔逊置信区间算法

S为威尔逊置信区间算法公式,其中n为样本总数,u为正例数,v为反例数,z表示对应某个置信水平的统计量,一般情况下,在95%的置信水平下,z统计量的值为1.96。举个简单例子,给某个人投票,80票赞成,20票反对,则n为100,u为80,v为20。

正态分布的分位数表:

威尔逊置信区间算法

算法性质:

  1. 性质:得分S的范围是[0,1),效果:已经归一化,适合排序
  2. 性质:当正例数u为0时,p为0,得分S为0;效果:没有好评,分数最低;
  3. 性质:当负例数v为0时,p为1,退化为1/(1 + z^2 / n),得分S永远小于1;效果:分数具有永久可比性;
  4. 性质:当p不变时,n越大,分子减少速度小于分母减少速度,得分S越多,反之亦然;效果:好评率p相同,实例总数n越多,得分S越多;
  5. 性质:当n趋于无穷大时,退化为p,得分S由p决定;效果:当评论总数n越多时,好评率p带给得分S的提升越明显;
  6. 性质:当分位数z越大时,总数n越重要,好评率p越不重要,反之亦然;效果:z越大,评论总数n越重要,区分度低;z越小,好评率p越重要;

Python代码实现:

def wilson_score(pos, total, p_z=0.8): """ 威尔逊得分计算函数 :param pos: 正例数 :param total: 总数 :param p_z: 正太分布的分位数 :return: 威尔逊得分 """ pos_rat = pos * 1. / total * 1. # 正例比率 score = (pos_rat + (np.square(p_z) / (2. * total)) - ((p_z / (2. * total)) * np.sqrt(4. * total * (1. - pos_rat) * pos_rat + np.square(p_z)))) / \ (1. + np.square(p_z) / total) return score

应用测试:

威尔逊置信区间算法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228979.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:45
下一篇 2026年3月16日 下午5:45


相关推荐

  • r语言熵权法求权重(真实案例完整流程)[通俗易懂]

    r语言熵权法求权重(真实案例完整流程)[通俗易懂]可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响(权重)越大。

    2022年10月5日
    4
  • 内核杂谈——关于platform device 创建

    内核杂谈——关于platform device 创建当拿到driver,不能用起来的时候需要去检查device了。虽说device和bus通常都是系统中带的,但也不要想当然的认为这个系统是帮你建好的。通常busdevicedriver三者中,bus基本不用干预,device干预的少,driver干预的多。从设备树中生成device从设备树中识别device的入口为arch_initcall_sync(of_platform_default_populate_init);staticint__initof_platform_defa

    2022年7月24日
    15
  • Vue路由传参详解(params 与 query)

    Vue路由传参详解(params 与 query)Vue 路由传参详解 params 与 query 前言 路由传参分为 params 传参与 query 传参 params 传参类似于网络请求中的 post 请求 params 传过去的参数不会显示在地址栏中 但是不能刷新 params 只能配合 name 使用 如果提供了 path params 会失效 query 传参类似于网络请求中的 get 请求 query 传过去的参数会拼接在地址栏中 name xx query 较为灵活既可以配合 path 使用 也能配合 name 使用 亲测可用

    2026年3月18日
    2
  • html中table居中和表格内容居中的问题

    html中table居中和表格内容居中的问题关于表格中的内容::在表格td中,有两个属性控制居中显示align——表示左右居中——left,center,rightvalign——控制上下居中——left,center,right这两个属性综合使用,就可以让单元格的内容上下左右都居中显示。但是有的时候吧,会失效,那么在td中设置text-align为center也可。td{…

    2026年1月27日
    5
  • 如何用C语言编程序化交易,程序化交易的开发步骤

    如何用C语言编程序化交易,程序化交易的开发步骤在交易的过程当中 应用程序化交易的都知道 最困难的就是如何构建出一个交易策略 交易策略的构建过程是非常复杂的 一个完整的程序化交易策略是由很多的相关和独立的步骤组合而成的 同时要把每一个步骤都落实好和在研发的过程中 对于从下个步骤中得到的资讯 要利用它调整和加工上一个步骤 只有这样才能获得一个相对完善的交易策略 接下来 小编和大家分享一下研发交易策略的步骤及具体说明 希望对大家的交易策略有所帮助

    2026年3月18日
    2
  • 单向链表和双向链表分析与操作

    单向链表和双向链表分析与操作单链表和双链表链表结构 优点 1 在程序中使用数组之前 必须事先知道数组的大小 增加数组的大小是一个耗时的过程 在运行时几乎不可能扩展数组的大小 而链表不需要提前声明链表的大小 链表的大小是随着使用的过程逐步增大的 2 在空间的利用上链表相比数组要更加灵活 不会造成内存的大量浪费 3 向链表中插入或从链表中删除一项的操作不需要移动很多项 只涉及常数个节点链的改变 时间复杂度为 O 1 缺点 由于在链表中 仅仅只有头节点和尾节点是可见的 因此要想查找某个节点 必须从头节点或尾节点一路找下去 时间

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号