AI 可以帮助解释可疑数据,但先用一条公开可核对的规则建立基线。本文计算中位数绝对偏差,标出超过约定阈值的记录,再交给AI整理复核原因。
希望AI解释数值异常、但需要可解释基线的读者。本文使用 Python 3.11 或以上版本的标准库,先验证一组人工构造的小样本。AI 负责提出实现或解释差异,结果由本地检查决定;这里没有把模型回答当成真实运行结果。

建立异常值复核基线前,先定规则
MAD是每个值与中位数的绝对差,再取这些差的中位数。示例用原始MAD乘3作为演示阈值,不宣称这是所有场景通用标准。
离群值可能是真实业务事件。程序只标记review,不能删除、替换或断言录入错误。
MAD为零时比例阈值失去区分意义,示例明确返回需要另定规则,不能除零或随意填一个分母。
给 AI 的输入要包含什么
把下面这份输入说明和你的实际样本一起交给可用的 AI 编程助手。示例只含虚构数据;对真实材料先去除账号凭据和个人信息。
计算median与原始MAD,阈值为3*MAD;保留id/value/deviation,只标review。MAD为零明确拒绝自动阈值,不删除数据;说明规则阈值只是演示。
要求模型保留检查条件,并把它认为缺少的业务定义列出来。若回答改变了输入字段、忽略异常分支或直接删除原材料,先要求修正,再运行。提示词的作用是缩小任务范围,验收仍以代码和数据为准。
保存并运行最小验证程序
下方程序把关键规则和验证用例放在同一个可复跑示例中,便于先理解输入如何变成输出,再用它检查 AI 给出的实现。
新建一个空目录,把下面代码保存为 check.py,在该目录打开终端,运行 python -X utf8 check.py。代码自带示例输入,不需要安装第三方库。
from statistics import median
from math import isfinite
def review(values):
if not values: raise ValueError('无数据')
if any(type(x) not in (int,float) or not isfinite(x) for x in values): raise ValueError('需要有限数值')
center=median(values)
mad=median(abs(x-center) for x in values)
if mad==0: raise ValueError('MAD为零,需另定规则')
return center,mad,[i for i,x in enumerate(values) if abs(x-center)>3*mad]
values=[9,10,11,12,80]
center,mad,flags=review(values)
assert center==11 and mad==1 and flags==[4]
print('median',center,'mad',mad,'review_indices',flags)
try: review([10,10,10,50])
except ValueError as e: print('blocked',e)
else: raise AssertionError('MAD零应另定规则')
for invalid in [float('nan'),float('inf'),'10']:
try: review([9,10,invalid])
except ValueError: pass
else: raise AssertionError('无效数值必须拒绝')
print('invalid_values_rejected',3)
怎样判断结果符合要求
中位数11、MAD为1,第4索引也就是第5个值80被标记。第二组MAD为零,必须停止自动阈值判断。
下方是这份最小示例在本地执行得到的输出。它验证示例程序与断言的关系,不代表任何 AI 模型一次就能生成同样代码,也不构成性能或生产可靠性结论。
median 11 mad 1 review_indices [4]
blocked MAD为零,需另定规则
invalid_values_rejected 3
阈值3没有经过你的业务校准;替换前先用人工历史样本评价漏报与误报。
一个数值落在阈值内不证明没有问题,单位错用或整批漂移可能需要其它检查。
哪些失败必须停下来处理
样本量小、多峰分布、趋势序列不适合直接套固定偏差规则。
NaN、Infinity与非数值应先验证,否则统计量可能不可解释。
接入自己的任务前再核对一次
把复核项与来源、单位、时间一起交给AI,要求列依据与待查问题。
保留原值及人工结论,后续阈值调整由真实复核结果支撑。
资料与适用范围
statistics.median计算中位数;MAD是示例按明确公式自行构造的偏差统计。以下链接核对于 2026-10-03;运行环境及额外依赖按本文前述说明。
相关基础可阅读 Isolation Forest 异常检测怎么做?用 Python 找出表格中的可疑记录。本文的重点是建立异常值复核基线,可以把两项检查作为不同步骤保留。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33412.html