AI 报告里的 P90 与表格软件不同,怎样固定分位数算法再复算

2026-10-24

先明确分位数的排序、插值方法和缺值处理,再比较AI脚本与表格输出。本例十个时长10至100,线性插值得到P90为91,取较低邻点是90,取较高邻点是100;这些数值差异可以来自算法约定,而不必然是程序算错。

从排序索引解释差异

输入以毫秒计,共十条记录,没有缺值。线性方法使用从零开始的索引h=(n−1)q,P90时h=8.1,落在第9个值90与第10个值100之间,插入十分之一距离,得到91。P50时h=4.5,落在50与60之间,得到55。分位数不是某条记录的百分位排名,也不是把数值除以100;先把概念说清,才能比较不同软件。

将方法写在结果旁边

附件用NumPy显式传method,输出linear、lower、higher和nearest四种结果。nearest遇到恰好半格的细节可能与直觉中的四舍五入不同,因此不要把“最接近”随意改写成手工取整。方法卡记录运行时库版本、排序输入和拒绝缺值的选择。真正需要对照某个表格函数时,应查那个函数与当前版本的定义,而不是断言所有电子表格都采用同一个默认方法。

用小样本先核对中间值

先打开quantiles.csv,核对P50的线性值55,再看P90的91、90、100和90。对同一列数据切换算法时,样本数量、单位和排序内容必须保持一致。若结果差很多,先检查是否混入字符串、秒与毫秒,或者筛选条件不同。不要只保留最终图表;让原始列和方法卡跟随图表,别人可以不依赖原来的聊天记录重建这些数字。

缺值政策不能靠默认猜测

失败边界传入空集合并明确拒绝计算。样例也拒绝NaN和无穷值;若实际分析决定忽略缺值,必须同时报告忽略数量,不能把缺值替换成零而不说明。并列值并不需要人工打散,极端值也不应为了让结果好看而随意删除。数据量很小时,一两个观测就会改变尾部统计,所以P90的显示精度并不代表业务估计同样精确。本例只有合成时长,不判断线上服务性能。

需要核对表格软件时,可先手工输入这十个数,分别记录实际函数名称、参数和输出,再把它与方法卡比较。不要先复制一张已经取整的百分位结果表去反推输入,原始观测和汇总结果应分开保存;新增数据后同时更新样本数量。

下载与复现

下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。依赖写在安装清单,建议在自己创建的虚拟环境安装。

python -m pip install -r requirements.txt
python -B run.py
python -B run.py --negative

先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。

依据与延伸阅读

资料核对日期为2026年10月24日。一手资料1:quantile的method影响插值结果;linear使用相邻次序统计量插值。

继续阅读:让 AI 写数据分析脚本:口径没说清,算得再快也是错的;AI 把各组百分比直接求平均,怎样重建有分子分母的总表;AI 画的散点图只剩一团黑,怎样改成能看出密度的六边形分箱图。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。