如何使用熊猫数据帧计算平均有符号误差?

问题描述

假设我有以下数据框:

df = pd.DataFrame([['x',42,50,68,12],['y',51,60,79,22],['z',43,58,['w',46,70,88,['xy',38,40,69,['xz',39,49,12]],columns=['system','Experimental','Prediction1','Prediction2','Prediction3'])

如何计算有符号误差?我根本找不到有关此的任何信息。

解决方法

我假设您要计算 this statistic。如果是这样,您可以定义自己的函数,然后传入您的预测以与观察到的值进行比较。

您没有提到 df 中的哪一列是因变量的观察值,所以我假设它是 Experimental,我将它与 Prediction1 进行比较。

# Define custom function
def msd(y_true,y_pred):
    return (y_pred - y_true).mean()

# Mean Signed Deviation of 'Experimental' and 'Prediction1'
msd(df['Experimental'],df['Prediction1'])
> 8.5