统计学量化
误差指标
量化预测和观察之间的误差是评估模型性能的核心。误差指标在评估传感器相对于地面实况观测的准确性方面也发挥着重要作用。
# Import modules
import pandas as pd
import numpy as np
import holoviews as hv
hv.extension('bokeh')
我们将使用从实际土壤湿度传感器校准中获得的数据集。 土壤湿度读数是通过校准的土壤水分反射计获得的,而地面真实值是通过热重法获得的(即土壤样品经过烘干以找出实际的土壤水分含量)。
# Dataset
y_obs = np.array([0.190,0.438,0.304,0.408,0.003,0.459,0.409,0.403,0.174,0.033,0.317,0.023])
y_pred = np.array([0.233,0.481,0.319,0.450,0.004,0.466,0.458,0.497,0.166,0.013,0.396,0.003])
# Plot data
data = hv.Scatter( (y_obs,y_pred) ).opts(color='#5ebaff', size=10, xlabel='Observed', ylabel='Predicted')
one_to_one_line = hv.Curve( ([0,0.5],[0,0.5]) ).opts(line_dash='dashed', color='black')
data * one_to_one_line
残差值
观测值与预测值的差异:residuals=yobs−ypred
residuals = y_obs - y_pred
print(residuals)
[-0.043 -0.043 -0.015 -0.042 -0.001 -0.007 -0.049 -0.094 0.008 0.02
-0.079 0.02 ]
# Visually inspect residuals
hv.Scatter( (y_obs,residuals) ).opts(color='tomato', size=10, xlabel='theta', ylabel='Residuals')
检查残差,似乎存在微弱的负趋势,其中随着土壤含水量的增加,误差的负值更大。量化这种偏差的一种方法是使用平均偏差误差指标。
平均偏差误差
等于零的偏差可能是小误差或通过相反符号平衡的非常大误差的结果。除了平均偏差误差之外,始终建议包含其他误差指标。
mbe = np.nanmean(residuals)
print(mbe)
-0.027083333333333334
残差总和
sres = np.nansum(residuals)
print(sres)
残差绝对值之和
sares = np.nansum(np.abs(residuals))
print(sares)
误差平方和
sse = np.nansum(residuals**2)
print(sse)
均方误差
mse = np.nanmean(residuals**2)
print(mse)
0.0020065833333333337
方差分析
方差最小的组
线性回归
Anscombe四重奏
土壤呼吸速率
最佳施氮量
最大氮回收率
测量土壤压实敏感性
累积分布函数匹配函数
多元线性回归分析
前沿生产函数
曲线拟合
指数衰减
中子计数与体积水含量
正弦曲线
土壤持水曲线
大气二氧化碳
生日悖论
神经网络回归
神经网络分类