Python 计算不同值范围的均方误差

Python 计算不同值范围的均方误差,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个.csv,其中有很多值介于-110和-50之间。我想计算10([-110,-100],-100,-90]等)范围内的均方误差。主要目的是,最终我可以绘制不同范围的MSE值,并可以看到行为。 要导入和读取csv,我使用以下代码: data = pd.read_csv('MY_Bahnhof_Bridge_DATASET.csv') data_Measured = data['rsrp_measured'] data_Simulated = data['rsrp_simulated']

我有一个.csv,其中有很多值介于-110和-50之间。我想计算10([-110,-100],-100,-90]等)范围内的均方误差。主要目的是,最终我可以绘制不同范围的MSE值,并可以看到行为。 要导入和读取csv,我使用以下代码:

data = pd.read_csv('MY_Bahnhof_Bridge_DATASET.csv')


data_Measured = data['rsrp_measured'] 
data_Simulated = data['rsrp_simulated']

为了计算MSE,我从numpy使用了这个函数,但我不知道它是否支持pyplot这样的范围:


MSE = np.square(np.subtract(data_Messung,data_Simulation)).mean()

或者我发现的另一个功能是:

from sklearn.metrics import mean_squared_error

MSE = mean_squared_error(data_Measured, data_Simulated)

有人知道一个舒适的解决方案吗


提前谢谢

要理解数据是什么并不容易。正如我所理解的,您需要计算宽度为10的每个箱子内测量的
rsrp\u
和模拟的
rsrp\u
之间的差异的MSE。您可以使用
groupby
apply
实现这一点,如下所示:

from sklearn.metrics import mean_squared_error

# Calculate differences
data["diff"] = data.eval('rsrp_measured - rsrp_simulated')

# Get bins of width 10
data["bin"] = data["diff"] // 10

# Get MSE per bin
data.groupby("bin").apply(lambda x:
    mean_squared_error(x["rsrp_measured"], x["rsrp_simulated"]), axis=1)

要理解这些数据是什么并不容易。正如我所理解的,您需要计算宽度为10的每个箱子内测量的
rsrp\u
和模拟的
rsrp\u
之间的差异的MSE。您可以使用
groupby
apply
实现这一点,如下所示:

from sklearn.metrics import mean_squared_error

# Calculate differences
data["diff"] = data.eval('rsrp_measured - rsrp_simulated')

# Get bins of width 10
data["bin"] = data["diff"] // 10

# Get MSE per bin
data.groupby("bin").apply(lambda x:
    mean_squared_error(x["rsrp_measured"], x["rsrp_simulated"]), axis=1)

非常感谢您的回答!你是对的,我想计算宽度为10的每个箱子内的MSE,但不计算差异。我想绘制一个图,其中包括y轴上的MSE值范围和x轴上测量的rsrp_值范围。对于x轴上宽度为10的每个箱子,模拟与相同rsrp_范围相关的MSE值。所以最后我有5-6点告诉我,测量和模拟之间的MSE有多大取决于测量的rsrp_的bin。非常感谢你的回答!你是对的,我想计算宽度为10的每个箱子内的MSE,但不计算差异。我想绘制一个图,其中包括y轴上的MSE值范围和x轴上测量的rsrp_值范围。对于x轴上宽度为10的每个箱子,模拟与相同rsrp_范围相关的MSE值。所以最后我有5-6点告诉我,测量和模拟之间的MSE有多大取决于测量的rsrp_的bin。