[大谦MATLAB,dqmatlab点com]
几何均值
样本数据\({x}_{1},{x}_{2},\ldots,{x}_{n}\)的几何均值m可以根据下式求得:
用geomean函数可以计算样本的几何均值。
m = geomean:计算样本的几何均值。对于向量,geomean(X)为数据X中元素的几何均值。对于矩阵,geomean(X)为一行向量,包含每列数据的几何均值。
下面计算给定样本数据的均值和几何均值。可见相同样本数据的均值大于或等于样本的几何均值。
>> x = exprnd(1,10,6);
>> geometric = geomean(x)
geometric =
0.7466 0.6061 0.6038 0.2569 0.7539 0.3478
average = mean(x)
average =
1.3509 1.1583 0.9741 0.5319 1.0088 0.8122
调和均值
样本数据\({x}_{1},{x}_{2},\cdots,{x}_{n}\)的调和平均值\(m\)定义为
用harmmean函数可以计算样本数据的调和平均值。
m = harmmean:计算样本的调和平均值。对于向量,harmmean(X)为X中元素的调和平均值。对于矩阵,harmmean(X)为包含每列元素调和平均值的行向量。
样本均值大于或等于样本的调和平均值。
>> x = exprnd(1,10,6);
>> harmonic = harmmean(x)
harmonic =
0.3382 0.3200 0.3710 0.0540 0.4936 0.0907
>> average = mean(x)
average =
1.3509 1.1583 0.9741 0.5319 1.0088 0.8122
算术平均值
样本数据\({x}_{1},{x}_{2},\cdots,{x}_{n}\)的算术平均值可用下式定义:
用mean函数可以计算向量和矩阵中元素的均值。其语法格式为:
m = mean(X):对于向量,mean(X)为X中元素的均值。对于矩阵,mean(X)为包含X中每列元素均值的行向量。
生成5个包含100个服从标准正态分布的随机数的样本,然后计算每个样本的算术平均值。
>> x = normrnd(0,1,100,5);
>> xbar = mean(x)
xbar =
0.0727 0.0264 0.0351 0.0424 0.0752
中值
用median函数可以计算向量和矩阵中元素的中值。其语法格式如下。
m = median(X):计算样本数据的中值。中值是样本数据中心趋势的稳健估计。对于向量,median(X)为向量X中元素的中值。对于矩阵,median(X)为包含每一列中元素中值的行向量。要计算中值,需要首先进行排序,因此,计算大型矩阵的中值向量时比较费时。
在命令窗口中输入命令行
>> xodd = 1:5;
>> modd = median(xodd)
modd =
3
>> meven = median(xeven)
meven =
2.5000
下例演示了中值对于异常值的稳健性。
>> xoutlier = [x 10000];
>> moutlier = median(xoutlier)
moutlier =
3
截尾均值
对样本数据进行排序以后,去掉两端的部分极值,然后对剩下的数据求算术平均值,就可以得到截尾均值。用trimmean函数可以计算截尾均值。
m = trimmean(X,percent):剔除测量值中最大0.5%的数据和最小0.5%的数据以后,计算样本X的均值。截尾均值为样本位置参数的稳健性估计。若数据中有异常值,则截尾均值为数据中心的一个更有代表性的估计。若所有数据取自同一个分布的总体,则使用样本均值比使用截尾均值更有效。
下面用蒙特卡罗法模拟正态数据的10%截尾均值相对于样本均值的有效性。如果此值小于1,则说明正态条件下截尾均值不如算术平均值有效。
>> x = normrnd(0,1,100,100);
>> m = mean(x);
>> trim = trimmean(x,10);
>> sm = std(m);
>> strim = std(trim);
>> efficiency = (sm/strim).^2
efficiency =
0.9702