如何在Python中计算平均偏差误差(MBE)?

2024-05-15 23:01:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算Python中一组实际预测和测试预测的平均偏差误差(MBE)。我查看了sklearn.metrics库或NumPy,但没有列出计算它的方法

有人能提出任何图书馆或计算方法吗

谢谢, 德巴扬


Tags: 方法numpy图书馆sklearnmetrics误差计算方法平均偏差
2条回答

MBE定义为预测值和真实值之间差异的平均值,因此您可以使用两个数据源之间的简单平均差来计算:

import numpy as np
data_true = np.random.randint(0,100,size=100)
data_predicted = np.random.randint(0,100,size=100) - 50
MBE = np.mean(data_predicted - data_true) #here we calculate MBE

请注意,我从预测值中减去了50,只是为了能够观察到预测值实际上与真实值有偏差

我也没有找到计算它的库,但您可以尝试以下方法:

def MBE(y_true, y_pred):
    '''
    Parameters:
        y_true (array): Array of observed values
        y_pred (array): Array of prediction values

    Returns:
        mbe (float): Biais score
    '''
    y_true = np.array(y_true)
    y_pred = np.array(y_pred)
    y_true = y_true.reshape(len(y_true),1)
    y_pred = y_pred.reshape(len(y_pred),1)   
    diff = (y_true-y_pred)
    mbe = diff.mean()
    print('MBE = ', mbe)

相关问题 更多 >