使用NumPy的绝对偏差和绝对均值偏差

在统计分析中对样本中数据变异性的研究表明,给定数据样本中的值有多分散。计算变异性的两个重要方法是绝对偏差和 均值绝对偏差。

绝对偏差

在这种方法中,我们首先找到给定样本的平均值,然后计算每个值与样本平均值之间的差,称为每个数据样本的绝对偏差值。因此,对于高于平均值的值,偏差值将为正,对于低于平均值的值,偏差值将为负。接下来,我们使用绝对函数将绝对值设为每个偏差为正。将所有这些绝对偏差相加得出肯定的结果。没有绝对值,这些偏差的总和将为零。

在下面的示例中,我们获取一个数据样本并计算每个数据元素的绝对偏差。

示例

from numpy import mean, absolute

   data = [12, 42, 53, 13, 112]

# Find mean value of the sample

M = mean(data)

print "Sample Mean Value = ",mean(data)

print "\n"

# Calculate absolute deviation

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]

# Find mean value of the sample

M = mean(data)

print "Sample Mean Value = ",mean(data)

sum = 0

# Calculate mean absolute deviation

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

以上是 使用NumPy的绝对偏差和绝对均值偏差 的全部内容, 来源链接: utcz.com/z/359977.html

回到顶部