检测指标与统计口径:把覆盖、有效性与诊断结果分别计算
统计口径版本:neuralan-metrics/1.0,2026-11-15。
发动机检测不能用一个“正确率”概括全部能力:车辆支持范围、故障类型支持范围、有效诊断比例、异常检出、部位定位、原因判断和消息送达分别回答不同问题。每项统计都应给出对象、分子、分母、版本和时间窗,并保留未检测、未知与质量不足记录。
本文规定统计方法与计算示例。示例数字只解释公式,不作为GR-01产品实测结果,也不据此认定性能。报告字段沿用自动报告与异常提醒及四份报告的 schemaVersion: neuralan-report/1.0;独立标注、匹配规则和评估结果另建评估台账,不冒充设备报告现有字段。
一、先分清九类数量
| 项目 | 回答的问题 | 统计要求 |
|---|---|---|
| 车辆支持范围 | 哪些动力与车型属于产品范围 | 列动力、市场、年款、型号及运行条件;与本次是否采集成功分开 |
| 已知故障类型支持覆盖 | 已列故障目录中哪些条目属于支持项目 | 以固定目录与版本作分母,不扩成所有可能故障 |
| 验证覆盖 | 哪些车型、故障与工况组合已有对应评估记录 | 列对象、方法与记录完整性;支持声明不自动成为验证记录 |
| 通行事件 | 统计期实际经过多少次 | 按事件去重;同车不同次经过可分别计车次 |
| 有效诊断 | 有多少事件完成正常或异常判定 | 未检测、不适用、未知和弃判不进入有效数 |
| 异常检出 | 真值故障被发现多少,正常被误报多少 | 与独立标注交叉形成TP、FN、FP、TN |
| 部位与原因正确 | 已检出的故障定位与原因是否匹配 | 条件指标、端到端指标分列,缺失也计入相应失败 |
| 报告送达 | 应上报的报告实际被接收多少 | 依据接收回执,生成和可下载不等于送达 |
| 提醒查看 | 应查看的通知中实际查看多少 | 与发送、接收和关闭分别统计,不代表故障解除 |
GR-01面向燃油车,包括汽油与柴油,以及轻混、HEV、PHEV和增程车辆;纯电不支持发动机检测。发动机未运行时未检测,运行状态未知时不生成健康结论。自然停稳不要求重启,不依赖摄像头或OBD;设备只提供自动报告和提醒,不提供车辆复检、维修或维修转介。
二、用事件主终态形成完整分母
统计基本单位是一次通行事件,以项目范围、device.deviceId和eventId联合标识;不同设备的同名事件不能直接合并。同一事件内,同一reportId、同一reportRevision的重复上传只处理一次;补传不新增事件。报告修订保留历史,并按预先确定的统计截止时点选取一份适用版本,不能同时计算多个修订。不同真实通行分别建立事件,即使来自同车也可以分别计车次。
每个事件以 classification.result 归入一个主终态,辅以 diagnosis.status、engine.runningStatus、observed.signalQuality 和型号匹配状态核对。存在多项退出原因时保留明细,主表按固定优先规则互斥归类,不能在不同报表里任意挑选理由。状态冲突进入数据核对,不强改为正常。
当前四份报告中,valid_reference_match 对应有效、未见目标异常,valid_abnormal_pattern 对应有效异常,engine_not_running 对应未运行,not_applicable_bev 对应纯电不适用。前两者才进入有效诊断数量。未知运行、质量不足和未知型号也应在统计映射中独立保留;映射表明确实际代码。项目采用事件接口与数据流程的扩展状态时,按其版本识别quality_insufficient和unknown_model;未识别的状态进入数据核对,不默认正常。
空的 diagnosis.findings 不能单独作为正常依据:正常、未运行和纯电报告都可能为空列表。匿名事件的 vehicle.vehicleId 为空时,只能统计事件与车次,不能凭同型号或相似片段推算去重车辆。发动机档案号也不能当作物理发动机唯一身份。
如果停车系统的通行总账包含没有设备事件的经过记录,应保留“未关联设备事件”,而不是从全部通行中删除。报告生成数不能反过来充当全部通行数。事件遗漏、跨系统关联失败与诊断未完成应分别说明。
三、两个有效率必须同时展示
全通行有效诊断率=有效诊断事件数÷全部通行事件数。 它说明每次通行最终产生可评价发动机结果的比例,分母保留纯电、停机、未知、质量不足和型号未覆盖等事件。
目标运行有效诊断率=有效诊断事件数÷已确认属于支持动力且当次发动机运行的通行事件数。 它说明目标运行条件下形成结果的能力。已经确认运行但质量不足或型号未知的事件仍留在分母;不能先按有无结果筛选,再计算这个比例。运行状态未知单列,不混入已确认运行,也不悄悄记成停机。
计算示例:1000次通行
| 主终态 | 事件数 | 已确认支持动力且运行 | 有效诊断 |
|---|---|---|---|
| 纯电不适用 | 230 | 否 | 否 |
| 发动机未运行 | 70 | 否 | 否 |
| 运行状态未知 | 30 | 未确认 | 否 |
| 质量不足 | 20 | 是 | 否 |
| 未知型号 | 10 | 是 | 否 |
| 有效正常或有效异常 | 640 | 是 | 是 |
| 合计 | 1000 | 670 | 640 |
全通行有效诊断率为640÷1000=64%;目标运行有效诊断率为640÷670≈95.52%。两者描述不同分母,不能择高者统一称“检测成功率”。表中未知型号不影响动力及运行已确认这一条件;若某事件连运行也未确认,应按主终态规则归入未知,并保留型号原因。
四、诊断输出与独立真值分别保存
设备输出描述系统判了什么,真值台账记录采用独立依据确认了什么。设备给出的故障名称、结构标注和原因不能直接复制到真值栏,再据两栏相同宣称判断正确。仅对报警车辆取得真值,也会漏掉未报警但实际有故障的车辆,应披露标注范围及缺失情况。
计算示例:200个有效且独立标注的事件
| 独立标注与设备输出 | 判异常 | 判正常 | 合计 |
|---|---|---|---|
| 真值有故障 | TP=36 | FN=4 | 40 |
| 真值正常 | FP=8 | TN=152 | 160 |
| 合计 | 44 | 156 | 200 |
- 召回率=TP÷(TP+FN)=36÷40=90%,回答真值故障被发现多少。
- 误报率=FP÷(FP+TN)=8÷160=5%,回答真值正常被误报多少。
- 阳性预测值precision=TP÷(TP+FP)=36÷44≈81.82%,回答报警中真实故障占多少。
- 准确率accuracy=(TP+TN)÷总数=188÷200=94%,回答该有效标注集总体判对多少。
误报率不是“所有报警中错误的比例”;后者在本例为8÷44,与5%不同。正常样本很多时,总体准确率可能较高,仍需同时看故障召回及各故障类型表现。
这200个事件仅用于条件内指标。评估批次中另外存在的未完成或弃判应单列数量、原因及真值分布,包括真值故障、真值正常和真值未知。它们不进入这张有效判定矩阵的TN,也不能静默删除;在端到端指标中,属于目标分母的未完成事件必须保留。没有独立真值时不能推算其正确或错误,应披露真值覆盖及缺失范围。
五、定位与原因同时看条件和端到端结果
计算示例:40个真值故障中的结果
设备正确检出36个,其中部位正确33个,部位和原因均正确28个。采用同一部位层级与原因词典判断,得到:
| 指标 | 算式 | 结果 |
|---|---|---|
| 条件部位正确率 | 部位正确÷正确检出故障 | 33÷36≈91.67% |
| 条件部位与原因联合正确率 | 部位、原因均正确÷正确检出故障 | 28÷36≈77.78% |
| 端到端联合成功率 | 部位、原因均正确÷全部真值故障 | 28÷40=70% |
前两项以正确检出的36个为条件,不能称全部报警或全部故障的表现。部位为空、原因不明的已检出事件仍留在36的分母,不能只挑完整报告。端到端指标保留漏检和缺定位,若目标范围中还有真值故障但未完成的事件,也必须加入相应分母。
任何“99.9%”表述都应说明究竟指检出、定位、原因、联合成功还是其他指标,同时给出分母、样本构成、版本、时间和区间。本文不据上述公式新认定产品性能。
六、多故障、分层与样本相关性
多故障事件应在计算前选择规则。事件级完整匹配要求该事件全部目标故障及对应位置、原因符合约定,并说明多报条目如何处理;故障条目级匹配则按固定的一对一规则计算各条目,未匹配的真值是漏检,未匹配的预测是误报。两种结果可并列,不能每个事件选对自己最有利的一种,也不能让多个预测重复匹配同一真值。
按动力类型、发动机型号、场地和故障类型分层报告样本数、无结果数及指标。少数罕见故障不能被大量常见类型的平均数掩盖;没有样本的组合标为未覆盖,不以总体比例代填。支持目录与验证覆盖表也应保持分开。
同车、同发动机重复经过以及同一段信号切出的片段具有相关性,片段数量不等于独立车辆。训练、调参与评估按车辆、型号和场地分组,避免相近数据跨组泄漏。评估新车型能力时明确留出的型号,评估跨场地能力时明确留出的场地;不是所有任务都能用随机打散片段回答。
七、零错误、点估计与区间
样本中全部正确时,样本点估计为100%,不等于总体正确率已被证明为100%。NIST说明比例区间在少量失败或小样本时可采用精确二项方法,并区分单侧与双侧区间;二项模型还要求明确成功事件与固定成功概率。[1][2]
在独立同分布的二项计算中,n次全部正确的概率为p的n次方。对单侧95%正确率下界,令该尾概率为0.05,可推得L=0.05^(1/n)。这是由二项概率自行推导的计算式,不是NIST直接规定的产品门槛。n=1000时L约99.7009%,n=3000时约99.9002%;数字仅说明样本量与统计界限关系。
单侧95%置信界的含义是:反复按同一方法抽样并构造界限,覆盖总体参数的长期比例至少达到相应置信水平;它不是“给定本次数据后总体参数有95%概率位于区间”。同车重复采样、工况改变、选择性标注或类型混合可能不满足简单模型条件,不能机械套用。区间也不自动代表全车型、全故障范围,更不能把单侧与双侧95%的边界混用。
八、评估台账与消息指标
评估记录至少保存:批次与统计截止时间、事件及所用报告修订、任务范围和分母规则、软件与型号库版本、车辆及发动机关联来源、分组和分层标签、主终态及退出原因、独立标注状态及来源、标注时间、真值故障条目、输出匹配规则版本、TP/FN/FP/TN结果、部位与原因匹配、未完成真值分布、复核与修订记录。上述属于单列评估台账,不是对现有报告新增同名字段。
采用事件接口与数据流程时,接收端以对应报告版本的有效回执及receipt.persistedAt确认收妥;发送端原报告中的timing.receivedAt可继续为空,不为补传改写正文。提醒是否发送、人员是否查看则取接收端相应业务记录,分别对应消息状态和查看回执,不能仅凭发送端归档的alert.deliveryStatus或alert.acknowledgment推断后续处理结果。
应上报报告的送达率与应发送提醒的送达率分别计算;没有发送任务的正常事件不能当作异常提醒送达失败。查看率明确分母是应查看通知还是已送达通知。当前四份报告中的not_dispatched、pending和空接收时间本身不提供送达或已查看证据;统计时需要与实际接收端记录关联。消息成功不证明诊断正确,人员关闭消息也不代表维修完成。
九、深度问答
支持所有带发动机车型,是否等于每次通行都有结果?
不等于。支持范围描述对象,单次有效性取决于运行、质量与参考条件;两者使用不同统计表。纯电不适用与带发动机但未运行也分别保留。
为什么质量不足不能从目标运行分母删除?
只要已确认属于支持动力且发动机运行,它就属于该指标面对的目标事件。删除质量不足会把服务中没有结果的部分藏起来,使比例只反映容易成功的记录。
无异常条目为什么不能直接算TN?
TN同时要求完成正常判定,并有独立正常真值。未检测或空列表不满足这两个条件;仅凭设备自己的正常结果也没有独立真值依据。
为什么报警多数正确,仍可能漏掉重要故障?
报警可信程度由precision描述,全部真值故障被发现的程度由召回率描述。两者分母不同,应结合故障类型分层,不能只报告较高的一项。
报告修订后应如何更新月报?
固定截止时点及版本选择规则,保留原月报与重算说明。同一事件仍只计一次;原结果与修订结果可对照,但不能增加一次检测或无记录覆盖历史。
多测同一辆车能否快速证明高正确率?
重复记录可以说明该车相关条件下的表现,却不能等同新增独立车辆和型号。区间与泛化分析必须考虑这种相关性,也要说明不同场地、类型和工况的覆盖。
十、原始来源及用途
1. NIST:比例置信区间。用途:比例区间、精确二项方法及单侧与双侧区间的区别。
2. NIST:二项分布。用途:成功次数的概率模型及固定成功概率条件,作为本文单侧下界推导基础。
3. NIST AI RMF 1.0:Valid and Reliable。用途:说明指标需对应预期用途、代表性数据及方法,并可分层评估;不作为GR-01认证或性能结论。