使用 NumPy 计算绝对偏差和绝对平均偏差
pythonserver side programmingprogramming更新于 2023/11/11 21:00:00
在统计分析中,样本数据变异性研究表明给定数据样本中的值分散程度。我们计算变异性的两种重要方法是绝对偏差和平均绝对偏差。
绝对偏差
在此方法中,我们首先找到给定样本的平均值,然后计算每个值与样本平均值之间的差异,称为每个数据样本的绝对偏差值。因此,对于高于平均值的值,偏差值为正,对于低于平均值的值,偏差值为负。接下来,我们使用absolute函数取绝对值,使每个偏差为正。将所有这些绝对偏差相加可得到正结果。如果没有绝对值,这些偏差的总和将为零。
在下面的例子中,我们取一个数据样本并计算每个数据元素的绝对偏差。
示例
from numpy import mean, absolute data = [12, 42, 53, 13, 112] # 查找样本的平均值 M = mean(data) print "Sample Mean Value = ",mean(data) print "\n" # 计算绝对偏差 print "Data-Mean","","deviation" for i in range(len(data)): dev = absolute(data[i] - M) print data[i],"-",M,round((dev),2)
输出
运行上述代码得到以下结果 −
Sample Mean Value = 46.4 Data-Mean deviation 12 - 46.4 34.4 42 - 46.4 4.4 53 - 46.4 6.6 13 - 46.4 33.4 112 - 46.4 65.6
平均绝对偏差 (MAD)
平均绝对偏差 (MAD) 是我们为每个数据点计算的所有绝对偏差的平均值。取与上例相同的样本,我们添加代码来将绝对偏差的值相加,然后除以样本大小。
示例
from numpy import mean, absolute data = [12, 42, 53, 13, 112] # 查找样本的平均值 M = mean(data) print "Sample Mean Value = ",mean(data) sum = 0 # 计算平均绝对偏差 for i in range(len(data)): dev = absolute(data[i] - M) sum = sum + round(dev,2) print "Mean Absolute Deviation: ", sum/len(data)
输出
运行上述代码得到以下结果 −
Sample Mean Value = 46.4 Mean Absolute Deviation: 28.88