时间序列预测(十一)——评估模型性能指标

目录

一、回归模型性能评估指标

1.1. 均方误差 (Mean Squared Error, MSE)

1.2. 均方根误差 (Root Mean Squared Error, RMSE)

1.3. 平均绝对误差 (Mean Absolute Error, MAE)

1.4. R² (R-Squared, 决定系数)

二、分类模型性能评估指标

2.1. 准确率 (Accuracy)

2.2. 精确率 (Precision)

2.3. 召回率 (Recall) 或灵敏度 (Sensitivity)

2.4. F1 分数

2.5. ROC 曲线及 AUC (Area Under Curve)

2.6. 混淆矩阵 (Confusion Matrix)

三、具体代码实现

1、回归指标实现

2、分类指标实现


评估模型性能指标是确保预测结果准确性和可靠性的重要手段。不同的模型和算法在相同的数据集上可能会产生截然不同的预测结果,因此需要通过一系列的性能指标来量化这些差异,从而选择最优的模型进行实际应用。

根据任务类型分为回归和分类两类,分别使用不同的指标。下面我详细介绍两类任务常用的性能指标及其公式。

一、回归模型性能评估指标

1.1. 均方误差 (Mean Squared Error, MSE)

定义: MSE 衡量预测值和实际值之间的平均平方差,能够惩罚较大的误差。

公式:

 

MSE 值越小,模型性能越好,表示预测值与实际值之间的差距越小。

1.2. 均方根误差 (Root Mean Squared Error, RMSE)

定义: RMSE 是 MSE 的平方根,保持与原单位相同,更易解释。

公式:

RMSE 值越小,模型性能越好,表示预测值与实际值之间的差距越小。

1.3. 平均绝对误差 (Mean Absolute Error, MAE)

定义: MAE 衡量预测值和实际值之间的绝对差的平均值,不像 MSE 那样对大误差敏感。

公式:MAE 越小,模型性能越好,表示预测值与实际值之间的差距越小。

1.4. R² (R-Squared, 决定系数)

定义: R² 衡量模型对数据的解释能力,反映了预测值与实际值的拟合程度,取值范围为 [0,1] 或更低。

公式: 其中,yˉ是实际值的平均值。

### 时序数据异常检测算法性能评估的关键指标 对于时序数据分析中的异常检测,评价其有效性至关重要。由于这类任务涉及识别偏离常规模式的数据点或区间,在衡量不同方法的表现时需考虑多个方面。 #### 准确率 (Accuracy) 准确率是指分类正确的样本数占总样本的比例。然而,在不平衡类别情况下(如异常事件远少于正常情况),仅依靠准确率不足以全面反映模型效能[^1]。 #### 召回率 (Recall) 和 精度 (Precision) 召回率反映了实际存在的正类中有多少被成功找出来;而精度则关注预测为正类的结果里有多少是真的正类成员。两者共同构成了F1分数的基础——一种综合考量了二者平衡程度的单一数值指标[^2]。 #### F1 Score 作为调和平均值,F1得分提供了关于系统整体表现的一个简洁概括,尤其适用于处理不对称成本结构下的二元分类问题(比如误报与漏检之间存在明显差异的应用场景)[^3]. #### ROC 曲线下面积 (AUC-ROC) 接收者操作特性曲线(Area Under the Receiver Operating Characteristic Curve),简称 AUC-ROC ,用于描绘真阳性和假阳性之间的权衡关系。较高的曲线下面积意味着更好的区分能力,理想状况下应接近1.0[^4]。 #### 时间复杂度与时延(Time Complexity and Latency) 除了上述统计学上的评判标准外,实时应用还特别关心计算资源消耗以及响应速度。较低的时间复杂度有助于提高吞吐量并减少延迟,这对于在线监控系统尤为重要。 ```python from sklearn.metrics import accuracy_score, recall_score, precision_score, f1_score, roc_auc_score def evaluate_anomaly_detection(y_true, y_pred): """ 计算多种评估指标 参数: y_true : array-like of shape (n_samples,) 实际标签 y_pred : array-like of shape (n_samples,) 预测结果 返回: dict: 含有各项评分的字典对象 """ acc = accuracy_score(y_true, y_pred) rec = recall_score(y_true, y_pred) prec = precision_score(y_true, y_pred) f1 = f1_score(y_true, y_pred) auc_roc = roc_auc_score(y_true, y_pred) return { 'accuracy': acc, 'recall': rec, 'precision': prec, 'f1-score': f1, 'auc-roc': auc_roc } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值