【问题标题】:How to calculate Mean Bias Error(MBE) in Python?如何在 Python 中计算平均偏差误差(MBE)?
【发布时间】:2020-05-13 01:34:58
【问题描述】:
我正在尝试为 Python 中的一组实际和测试预测计算 平均偏差误差(MBE)。我查看了 sklearn.metrics 库或 NumPy,但没有列出计算它的方法。
任何人都可以建议任何库或计算方法吗?
谢谢,
德巴扬
【问题讨论】:
标签:
python
numpy
scikit-learn
statistics
【解决方案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)
【解决方案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,只是为了能够观察到预测实际上与真实值有偏差。