用途:本技能针对“派生指标”——即由样本计算后再与阈值比较、从而生成标记、分数或结论句的数值。其核心并非算术错误,而是两端问题:样本过小无法支撑统计量时函数返回什么,以及标记层如何处理该返回值。
主要能力与要点:
- 未定义的统计量不等于 0。离散度(标准差、方差、变异系数、突发度、事件间隔均值)至少需两个观测;比率需非零分母。返回 0.0 是最差选择,因为 0 在阈值同一量纲上真实且极端,会必然触发最小阈值(如 variation < 2.5)或使 z-score(如 mean 7.1, sd 2.4 时为 -2.96)成为强离群点——数据最少却结论最强。建议返回 None,强制调用方决定“不可测”含义;避免用 -1(可能落在合法区间)或 NaN(比较恒为 False,产生永不触发的镜像缺陷)。
- 阈值块需自备“是否已测量”闸门:measured = variation is not None,仅在已测量时比较;未测量单独给出原因字符串(如“variation requires at least two scored segments”)。遍历特征字典时应跳过 None,而非用基线均值替代(那等于伪造一次平均观测)。
- 报告句不得叙述未测到的数据。每个句子都必须引用真实测量值;若分支可在主体未测量时到达,它就不是发现而是模板。空 reasons 列表本身是一种断言,应显式说明无法计算。
- 重尾分布下避免仅用均值:应同时报告 n、中位数与均值,并附最大值/前几个值。当均值与中位数方向不一致时,该分歧本身就是发现,不应挑选符合假设的摘要。Cohen's d 会继承均值敏感性,重尾特征应改用秩基效应量(Mann–Whitney U/秩双列相关)或中位数差加自助置信区间。摘要前需断言行数与组数,防止部分加载被当成完整结果。
- 手工构造的输入无法验证区分度,需真实标注数据。
- 可空性是公开 API 变更:schema、序列化器、文档、渲染器、汇总与消费者测试需一并落地;可用性判断须用 is None,而非真值判断(避免把 []、0、0.0 误判为缺失)。
- 新增闸门后应删除被其蕴含的冗余守卫;类型验证应在边界完成。
- 宽泛 except 会把指标缺陷变成正常形状结果,测试须断言 "error" not in result 并记录 traceback。
使用方式:文档给出 Python 代码示例,演示错误写法(返回 0.0)与正确写法(返回 None,附 docstring 说明少于两个观测返回 None),以及阈值块与循环的写法。
测试建议:用单观测与零观测夹具,断言三项——指标为 None、标记为 False、原因说明不可测;夹具取值需使有缺陷与修复版本结果不同;双向变异测试(恢复 0.0、删除闸门)确认回归测试能失败;端到端测全输入失败路径,断言无原因句提及可接受或正常范围内数值。
限制:资料未提供具体收费、平台、价格与效果信息。