You need to enable JavaScript to run this app. Python环境下如何测量以正负符号匹配为核心的时间序列预测准确率
优惠活动
大模型
产品
解决方案
定价
更多

Python环境下如何测量以正负符号匹配为核心的时间序列预测准确率

符号方向匹配维度的时间序列预测准确率实现

该场景对应的评估指标为符号准确率,评估过程完全不需要考量预测值与实际值的绝对偏差大小,仅逐样本判断二者正负方向是否一致,可直接基于Python的pandas工具链完成落地,实现逻辑完全匹配你设定的样本判定规则:

逐样本判定逻辑落地

  • 基础判定规则:对每一条时间序列样本,分别提取预测值、对应实际值的符号属性,二者符号完全一致时标记为1(预测正确),符号不一致时标记为0(预测错误)。
  • 符号提取简化实现:不需要手写正负判断的冗余条件分支,直接调用numpy内置的np.sign()函数即可完成统一规则的符号提取:该函数对正值返回1、负值返回-1、0值返回0,完全覆盖符号判定的所有场景。
  • 边界场景适配:如果样本集合中存在值为0的记录,由于0本身没有明确的正负方向,建议提前根据业务规则决定是将这类样本从评估集合中单独剔除,还是按业务要求判定为正确/错误,避免无意义的判定偏差。

可直接复用的Python实现代码

import pandas as pd
import numpy as np

# 替换为自有数据集:确保DataFrame存在预测值列pred、对应时间点的实际值列actual
df = pd.DataFrame({
    "pred": [-2, 3, 0.7, -1.3, 4.2],
    "actual": [-1.1, -2.4, 1.2, -0.6, 3.8]
})

# 逐行计算对错标记,写入DataFrame的对应列
df["is_correct"] = (np.sign(df["pred"]) == np.sign(df["actual"])).astype(int)

# 计算整体符号维度的预测准确率
sign_accuracy = df["is_correct"].mean()

以上示例代码运行后,is_correct列的逐行结果为[1, 0, 1, 1, 1],对应整体准确率为80%,完全匹配你设定的样本对错判定规则。

实现注意事项

  • 整个评估流程不需要引入MAE、MSE、RMSE这类基于绝对数值偏差的评估指标,这类指标的计算结果和当前的评估目标无关联。
  • 如果是滚动输出预测值的时间序列场景,只需要保证预测值和实际值按时间索引一一匹配,就可以直接用上述方法计算任意时段内的符号预测准确率,不需要做额外的时序对齐调整。

内容的提问来源于stack exchange,提问作者Mr_Nerdypants

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 13:45:04