Hit rate and False alarm rate

本文介绍了用于评估天气预报准确性的多种关键指标,包括频率偏差、正确比例、检测概率、误报率及误检概率等,并解释了这些指标如何帮助我们更好地理解预报效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Verification measures like the RMSE and the ACC will value equally the case of an event being forecast, but not observed, as an event being observed but not forecast. But in real life the failure to forecast a storm that occurred will normally have more dramatic consequences than forecasting a storm that did not occur. To assess the forecast skill under these conditions another type of verifications must be used.

For any threshold (like frost/no frost, rain/dry or gale/no gale) the forecast is simplified to a yes/no statement (categorical forecast). The observation itself is put in one of two categories (event observed/not observed). Let H denote "hits", i.e. all correct yes-forecasts - the event is predicted to occur and it does occur, F false alarms, i.e. all incorrect yes-forecasts, M missed forecasts (all incorrect no-forecasts that the event would not occur) and Z all correct no-forecasts. Assume altogether N forecasts of this type with H+F+M+W=N. A perfect forecast sample is when F and M are zero. A large number of verification scores13 are computed from these four values.

A forecast/verification table

forecast/obs

observed

not obs

forecast

H

F

not forecast

M

Z

The frequency bias BIAS=(H+F)/(H+M), ratio of the yes forecast frequency to the yes observation frequency.

The proportion of correct PC=(H+Z)/N, gives the fraction of all the forecasts that were correct. Usually it is very misleading because it credits correct "yes" and "no" forecasts equally and it is strongly influenced by the more common category (typically the "no" event).

The probability of detection POD=H/(H+M), also known as Hit Rate (HR), measures the fraction of observed events that were correctly forecast.

The false alarm ratio FAR=F/(H+F), gives the fraction of forecast events that were observed to be non events.

The probability of false detection POFD=F/(Z+F), also known as the false alarm rate, measures the fraction of false alarms given the event did not occur. POFD is generally associated with the evaluation of probabilistic forecast by combining it with POD into the Relative Operating Characteristic diagram (ROC)

A very simple measure of success of categorical forecasts is the difference POD-POFD which is known as the Hansen-Kuiper or True Skill Score. Among other properties, it can be easily generalised for the verification of probabilistic forecast (see 7.4 below).

### DMN 决策模型与符号中的命中策略 DMN(Decision Model and Notation)是一种用于建模和表示决策逻辑的标准,其核心组件之一是决策表。在 DMN 中,**命中策略(Hit Policy)** 是定义如何处理多个匹配条件的关键机制[^1]。 #### 命中策略的作用 命中策略决定了当输入数据满足多个规则时,应该如何评估这些规则并返回结果。不同的命中策略适用于不同类型的决策场景。例如,在某些情况下可能只需要找到第一个符合条件的结果,而在其他情况下则需要考虑所有可能的匹配项[^4]。 #### 主要的命中策略类型 以下是 DMN 中常见的几种命中策略及其含义: 1. **唯一命中(U, Unique Hit)** - 表示每个输入组合最多只能触发一条规则。 - 如果存在多条规则被激活,则会抛出错误。 - 这种策略通常用于确保每组输入只对应唯一的输出[^3]。 2. **任意命中(A, Any Hit)** - 只需找到第一条匹配的规则即可停止计算。 - 不关心是否有更多规则可以匹配。 - 此策略适合性能敏感的应用场景,因为它允许提前终止不必要的后续规则评估。 3. **全部命中(All, All Hits)** - 返回所有匹配规则的结果集合。 - 需要遍历整个决策表来查找所有的适用规则。 - 当希望获取完整的匹配列表而非单一值时非常有用[^2]。 4. **优先级命中(P, Priority Hit)** - 根据规则顺序依次执行直到遇到首个符合条件者为止。 - 类似于“First Match”,但它强调了基于排列次序的重要性。 5. **收集命中(C, Collect Hit)** - 将所有匹配规则产生的输出通过某种聚合函数(如求和、平均数等操作符)汇总成最终结果。 - 提供了一种灵活的方式来处理复杂的数据转换需求。 6. **规则订单命中(R, Rule Order Hit)** - 按照显式的规则编号或者预设序列逐一检验直至发现合适的选项。 - 和Priority类似但更注重人为指定的先后关系而不是自动推导出来的权重等级. 7. **输出控制命中(O, Output Entry Only Hit)** - 特殊形式下仅关注特定字段或属性作为判定依据而不涉及其余部分的内容比较过程. - 对简化版应用场景特别有效率高且易于维护的特点.[^2] 8. **无命中(NONE, No Matching Rules Found Error Handling Mechanism)** - 定义未找到任何相配情况下的行为模式(比如报错提示或是默认替代方案设定). - 能够增强系统的健壮性和用户体验满意度水平.[^4] #### 实现注意事项 由于 DMN 自身只是一个规范框架,实际部署过程中往往依赖第三方软件产品完成具体功能落地工作。因此开发者应当仔细查阅所选用平台对于上述各类命中政策的支持程度以及潜在差异之处。 ```python # 示例代码展示如何模拟简单版本的"Unique Hit" def unique_hit_decision(input_data, rules): matched_rule = None for rule in rules: if evaluate_condition(rule['condition'], input_data): # 判断当前rule是否符合input_data if matched_rule is not None: raise ValueError("Multiple matching rules found!") # 抛异常表明违反unique原则 matched_rule = rule return matched_rule['action'] if matched_rule else 'No match' rules = [ {'condition': lambda x: x > 10, 'action': 'Greater than ten'}, {'condition': lambda x: x == 5, 'action': 'Equal to five'} ] print(unique_hit_decision(15, rules)) # 输出 "Greater than ten" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值