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

时间:2020-01-27 16:27:38

标签: python numpy scikit-learn statistics

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

任何人都可以建议任何库或计算方法的方法吗?

谢谢, 德巴扬

2 个答案:

答案 0 :(得分:1)

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

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)

答案 1 :(得分:0)

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,只是为了观察到预测实际上偏离了真实值。