统计基本指标 - 网络统计学类函数(4)

(2017-03-21 银河统计)

本文着重解决统计函数计算问题。在数组类函数(webTJ.Array)和矩阵类函数(webTJ.Matrix)基础上,可以比较容易设计统计公式类函数(webTJ.Formula)和统计方法类函数(webTJ.Method)。本文按一元和二元统计样本分类介绍统计公式类函数及样例代码。

本网页中所有统计函数和代码样例都可以复制、粘贴到网页尾部“代码窗口”运行通过。为方便运行本文中样例代码,可打开网络统计学代码调试窗口,复制、粘贴代码到数据处理代码窗口中运行即可。

统计基本指标(子类名称:webTJ.Formula)一览表

序号函数名称参数1参数2参数3功能备注
1getCount(arr)一维数组**样本容量(计数)*
2getSum(arr)一维数组**样本求和*
3getMean(arr)一维数组**算数平均数*
4getWMean(arrs)二维数组**加权算术平均数*
5getHMean(arr)一维数组**调和平均数*
6getWHMean(arrs)二维数组**加权调和平均数*
7getGMean(arr)一维数组**几何平均数*
8getWGMean(arrs)二维数组**加权几何平均数*
9getMedian(arr)一维数组**单项式样本中位数*
10getSMedian(arrs)二维数组**单项式分组样本中位数*
11getGMedian(arrs)二维数组**组距式分组样本中位数*
12getQuantile(arr,p)一维数组分位百分比*未分组样本分位数*
13getGQuantile(arrs,p)二维数组分位百分比*分组(组距式)样本分位数*
14getMode(arr)一维数组**单项式样本众数*
15getGMode(arrs)二维数组**组距式样本众数*
16getRange(arr)一维数组**全距*
17getMD(arr)一维数组**平均差*
18getIQR(arr)一维数组**四分位差*
19getVariance(arr,k)一维数组k有偏或无偏估计*方差和样本方差方差(k=0);样本方差(k=1)
20getSD(arr,k)一维数组k有偏或无偏估计*标准差和样本标准差标准差(k=0);样本标准差(k=1)
21getVR(arr)一维数组**极差(全距)系数*
22getVMD(arr)一维数组**平均差系数*
23getVSD(arr)一维数组**标准差系数*
24getPKewness(arr)一维数组**皮尔逊偏态系数*
25getMOM(arr,k)一维数组k阶矩*原点矩*
26getMCM(arr,k)一维数组k阶矩*中心矩*
27getSkewness(arr,k)一维数组k有偏或无偏估计*动差偏态系数*
28getKurtosis(arr,k)一维数组k有偏或无偏估计*峰度*

注:本网页中所有数据管理类函数和代码样例都可以复制、粘贴到网页尾部“代码窗口”运行通过

一、平均指标统计函数###

平均指标又称集中趋势指标,它是样本平均水平的代表,也是数据集中趋势的测度。平均指标用以反映社会经济现象总体各单位某一数量标志在一定时间、地点条件下所达到的一般水平的综合指标。根据样本数据类型,集中趋势测度大致可以分为数值测试法和位置测定法两类。

数值测试法主要包括算数平均数、调和平均数和几何平均数,位置测定法包括中位数、指数和分位数等。

1、样本容量(Sample Size)  [返回]

样本容量又称“样本数”、“样本大小”。在一个样本中所包含的个案或单元数。一般来说,样本容量主要由精确度、同质性、财力、抽样类型、分析类别等因素决定。在抽样调查中,样本容量的确定很重要。因为样本容量太大,会造成人力、物力和财力的很大浪费;样本容量太小,会使抽样误差太大,使调查结果与实际情况相差很大,影响调查的效果。

从计算角度看,当样本总体较大时,确定样本容量为计数问题。

案例一:设有某学校学生英语成绩如下:

95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88

共有多少名学生的成绩?

函数代码

## 函数
    webTJ.Formula.getCount(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
var oLen=webTJ.Formula.getCount(oArr);
webTJ.display("样本容量 = "+oLen,0);           

2、样本求和(Summation)  [返回]

设有样本\(X_1,X_2,\dots,X_n\),样本合计统计量为,

\[S=X_1+X_2+\dots+X_n=\sum\limits_{i=1}^n X_i \]

函数代码

## 函数
    webTJ.Formula.getSum(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oArr = [3,5,8,10,8,7,10,3,5,3];
var oSum=webTJ.Formula.getSum(oArr);
webTJ.display("样本合计 = "+oSum,0);           

3、算数平均数(Arithmetic Mean)  [返回]

算术平均数(arithmetic mean),又称均值,是统计学中最基本、最常用的一种平均指标。算术平均数是将各单位的标志值\(X_i(i=1,2,\dots,n)\)直接相加得出标志总量,再除以总体单位数\(n\),就得到简单算术平均数。通过算术平均数,可以用来求出一定观察期内预测目标的时间数列的算术平均数作为下期预测值的一种最简单的时序预测法。用公式表示为:

\[\overline{X}=\frac{X_1+X_2+\dots+X_n}{n}=\frac{1}{n}\sum\limits_{i=1}^n X_i \]

函数代码

## 函数
    webTJ.Formula.getMean(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oArr = [3,5,8,10,8,7,10,3,5,3];
var oMean=webTJ.Formula.getMean(oArr);
webTJ.display("简单算术平均数 = "+oMean,0);           

4、加权算术平均数(Weighted Arithmetic Mean)  [返回]

加权平均数即将各样本乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。

当样本被分组或单项式样本重复项较多时,可根据样本分组频数(频率)或样本项发生次数(比重),将各样本乘以相应的权数,然后加总求和得到加权平均数。这里的频数(频率)或发生次数(比重)称为权数。权数一般有两种表现形式,一是绝对数(频数)表示,另一个是用相对数(频率)表示,相对数是用绝对数计算出来的百分数(%)表示的,又称比重。

设有样本\(X_i(i=1,2,\dots,n)\)\(f_i\)为第\(i\)个样本的权数,则有加权算术平均数公式,

\[\overline{X}_w=\frac{X_1f_1+X_2f_2+\dots+X_mf_m}{f_1+f_2+\dots+f_m}=\frac{\sum\limits_{i=1}^mX_if_i}{\sum\limits_{i=1}^mf_i} \]

案例二:根据本文前面某学校100名学生英语成绩样本,可以整理为单项式分组表如下,

序号数据项权数序号数据项权数序号数据项权数
19542187141481
27412288442933
33132386343391
46832447344441
55022551245961
65922682346342
73332790247562
84142843248602
98112973249981
105333097150781
119123183151401
123513285252491
135733338153941
1458134703
1563435612
1677136711
1762237421
1892238991
1937239551
2036140651

单项式分组样本加权平均数为,

\[\overline{X}_w=\frac{95\times 4+74+31\times 3+\dots+94}{4+1+3+\dots+1}=64.8 \]

将100名学生英语成绩样本整理为组距式分组表如下,

下限上限组中值权数
30403514
40504514
50605516
60706514
7080759
80908515
901009518
合计100

组距式分组样本加权平均数为,

\[\overline{X}_w=\frac{35\times 14+45\times 14+55\times 16+65\times 14+75\times 9+85\times 15+95\times 18}{14+14+16+14+9+15+18}=65.7 \]

函数代码

## 函数
    webTJ.Formula.getWMean(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
//简单算术平均数
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88"; //100名学生成绩字符串
var oArr=webTJ.getArr(oStr,","); //成绩字符串转换为一维数组
var oArr=webTJ.Array.getQuantify(oArr); //量化数组
var oMean=webTJ.Formula.getMean(oArr); //计算算术平均数
webTJ.display("简单算术平均数 = "+oMean,0);
//单项式加权算术平均数
oStr="95,4|74,1|31,3|68,3|50,2|59,2|33,3|41,4|81,1|53,3|91,2|35,1|57,3|58,1|63,4|77,1|62,2|92,2|37,2|36,1|87,1|88,4|86,3|47,3|51,2|82,3|90,2|43,2|73,2|97,1|83,1|85,2|38,1|70,3|61,2|71,1|42,1|99,1|55,1|65,1|48,1|93,3|39,1|44,1|96,1|34,2|56,2|60,2|98,1|78,1|40,1|49,1|94,1";         //学生成绩单项式分组字符串
var oArrs=webTJ.getArrs(oStr,"|",","); //成绩单项式分组字符串转换为二维数组
oArrs=webTJ.Array.getQuantify(oArrs); //量化数组
var oWMean1=webTJ.Formula.getWMean(oArrs); //计算单项式加权算术平均数 
webTJ.display("单项式加权算术平均数 = "+oWMean1,0);
//组距式加权算术平均数
var oWrrs=[[35,14],[45,14],[55,16],[65,14],[75,9],[85,15],[95,18]]; //学生成绩组距式数组
var oWMean2=webTJ.Formula.getWMean(oWrrs); //计算组距式加权算术平均数
webTJ.display("组距式加权算术平均数 = "+oWMean2,0);           

注:组距式加权算术平均数为65.7,简单算术平均数和单项式加权算术平均数为64.8,为什么?“组距式加权算术平均数是真正平均数的估计值”这话对吗?

5、调和平均数(Harmonic Mean)  [返回]

调和平均数(harmonic mean)又称倒数平均数,是总体各统计变量倒数的算术平均数的倒数。调和平均数是平均数的一种。调和平均数是算术平均数的变形,它的计算公式如下:

\[H=\frac{1}{\frac{1}{n}(\frac{1}{X_1}+\frac{1}{X_2}+\dots+\frac{1}{X_n})}=\frac{1}{\frac{1}{n}\sum\limits_{i=1}^n\frac{1}{X_i}} \]

函数代码

## 函数
    webTJ.Formula.getHMean(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oArr = [3,5,8,10,8,7,10,3,5,3];
var oHMean=webTJ.Formula.getHMean(oArr);
webTJ.display("调和平均数 = "+oHMean,0);           

6、加权调和平均数(Weighted Harmonic Mean)  [返回]

当样本被分组或单项式样本重复项较多时,可根据样本分组频数(频率)或样本项发生次数(比重)计算加权调和平均数。设有样本\(X_i(i=1,2,\dots,n)\)\(f_i\)为第\(i\)个样本的权数,则有加权调和平均数公式,

\[H_w=\frac{f_1+f_2+\dots+f_m}{\frac{f_1}{X_1}+\frac{f_2}{X_2}+\dots+\frac{f_m}{X_m}}=\frac{\sum\limits_{i=1}^m{f_i}}{\sum\limits_{i=1}^m{\frac{f_i}{X_i}}} \]

案例三:某农贸市场三种蔬菜价格及销售额信息如下表,

品种价格(元)- $X_i$销售额(元)-$f_i$销售量(千克)
1.537502500
1.254004500
2.545001800
合计136508800

计算三种产品的平均价格。

解:计算任何统计指标应首先明确指标基本含义。\(平均价格=\frac{商品总销售额}{商品总销售量}\),当获得的商品销售信息只有商品价格和销售额时,首先应该计算出每种商品的销售量(\(销售量=\frac{销售额}{价格}\)),然后合计销售额和销售量,最后计算出平均价格。将整个计算过程合并,即为加权调和平均数。计算公式如下:

\[H_w=\frac{3750+5400+4500}{\frac{3750}{1.5}+\frac{5400}{1.2}+\frac{4500}{2.5}}=\frac{3750+5400+4500}{2500+4500+1800}=\frac{13650}{8800} \approx1.55 \]

三种商品平均价格为1.55(元/千克)。式中,分子计算商品总销售额,分母计算商品总销售量。

函数代码

## 函数
    webTJ.Formula.getWHMean(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
var oArrs = [[3750,1.5],[5400,1.2],[4500,2.5]];
var oWHMean=webTJ.Formula.getWHMean(oArrs);
webTJ.display("加权调和平均数 = "+oWHMean,0);           

7、几何平均数(Geometric Mean)  [返回]

几何平均数(geometric mean)是指n个观察值连乘积的n次方根。几何平均数多用于计算平均比率和平均速度。如:平均利率、平均发展速度、平均合格率等。它的计算公式如下:

\[G=\sqrt[n]{X_1\times X_2\times\dots\times X_n}=(\prod_{i=1}^nX_i)^{^{\frac{1}{n}}} \]

案例四:某产品原件出厂需要3道工序,1000个原件经过各工序后,成品数分别为950、910、和860个,求该产品总合格率和各工序平均合格率合格率。

解、该产品总合格率为,

\[\frac{860}{1000}=0.86=86\% \]

产品总合格率也可以表示为连乘形式,即,

\[\frac{950}{1000}\times\frac{910}{950}\times\frac{860}{910}=0.95\times 0.9579\times 0.945055=\frac{860}{1000}=0.86=86\% \]

也就是说,经过m道工序,各工序合格率的乘积为总合格率。记各工序合格率为\(r_{_1},r_{_2},\dots,r_{_m}\),总合格率为\(R\),则有,

\[r_{_1}\times r_{_2}\times \dots\times r_{_m}=R \]

令各工序平均合格率为\(r\),计算公式变为,

\[r^{^m}=R \]

解得,

\[r=\sqrt[m]{R} \]

所以,计算不同时期或阶段比率数据平均比率时,应该用几何平均算法,而不是简单算术平均数。

在本案例中,

\[G=\sqrt[3]{0.95\times 0.9579\times 0.945055}=\sqrt[3]{0.86}=0.95097 \]

即各工序平均合格率为95.097%。

函数代码

## 函数
    webTJ.Formula.getGMean(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oArr = [0.95,0.9579,0.945055];
var oGMean=webTJ.Formula.getGMean(oArr);
webTJ.display("几何平均数 = "+oGMean,0);           

8、加权几何平均数(Weighted Geometric Mean)  [返回]

分组或单项式样本重复项较多时,可根据样本分组频数(频率)或样本项发生次数(比重)计算加权几何平均数。设有样本\(X_i(i=1,2,\dots,n)\)\(f_i\)为第\(i\)个样本的权数,则有加权调和平均数公式,

\[G_w=\sqrt[\sum\limits_{i=1}^mf_i]{{X_1}^{f_1}\times{X_2}^{f_2}\times\dots\times{X_m}^{f_m}}=(\prod_{i=1}^m{X_i}^{f_i})^{^{\frac{1}{\sum\limits_{i=1}^mf_i}}} \]

案例五:在某银行存款15年,按复利计算利息,利率和实施年度表如下:

年利率(%)年数
52
34
46
3.53

计算各年平均利率。

\[G_w=\sqrt[(2+4+6+3)]{1.05^2\times 1.03^4\times 1.04^6\times 1.035^3}=1.03765 \]

即各年平均利率为3.765%。

函数代码

## 函数
    webTJ.Formula.getWGMean(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
var oArrs = [[1.05,2],[1.03,4],[1.04,6],[1.035,3]];
var oWGMean=webTJ.Formula.getWGMean(oArrs);
webTJ.display("加权几何平均数 = "+oWGMean,0);           

平均数的基本性质:


I、各样本值与样本平均数离差之和为零

\[\sum\limits_{i=1}^n(X_i-\overline{X})=\sum\limits_{i=1}^nX_i-\sum\limits_{i=1}^n\overline{X}=\sum\limits_{i=1}^nX_i-n\times\overline{X}=\sum\limits_{i=1}^nX_i-\sum\limits_{i=1}^nX_i=0 \]

II、各样本值与样本平均数离差平方和最小,即,

\[\sum\limits_{i=1}^n(X_i-\overline{X})^2=min \]

证明:设有一实数m,令,

\[f(m)=\sum\limits_{i=1}^n(X_i-m)^2 \]

极值存在的必要条件是一阶导数为零,即,

\[\frac{df(m)}{dm}=-2\sum\limits_{i=1}^n(X_i-m)=0\Leftrightarrow\sum\limits_{i=1}^nX_i-\sum\limits_{i=1}^nm=0\Leftrightarrow\sum\limits_{i=1}^nX_i-n\times{m}=0 \]

解得,

\[m=\frac{1}{n}\sum\limits_{i=1}^nX_i \]

又因为,

\[\frac{d^2f(m)}{dm^2}=[-2\sum\limits_{i=1}^n(X_i-m)]^{'}=2n>0 \]

二阶导数为正,有极小值。所以当\(m=\frac{1}{n}\sum\limits_{i=1}^nX_i=\overline{X}\)时,\(\sum\limits_{i=1}^n(X_i-\overline{X})^2=min\)(证毕)

III、平均数(\(\overline{X}\))、调和平均数(\(H_m\))和几何平均数(\(G_m\))的关系

证明:\(H_m\leq{G_m}\leq\overline{X}\)

仅以两个样本\(X_1,X_2(X_1>0,X_2>0)\)情况来证明如下,

\[(a-b)^2=a^2+b^2-2ab\Leftrightarrow a^2+b^2\geq 2ab\Leftrightarrow\frac{a^2+b^2}{2}\geq ab \]

令,

\[a=\sqrt{X_1},b=\sqrt{X_2} \]

则,

\[\frac{X_1+X_2}{2}\geq\sqrt{X_1\times{X_2}} \]

即,

\[\overline{X}\geq{G_m} \]

再令,

\[a=\frac{1}{\sqrt{X_1}},b=\frac{1}{\sqrt{X_2}} \]

则,

\[\frac{\frac{1}{X_1}+\frac{1}{X_2}}{2}\geq\frac{1}{\sqrt{X_1\times{X_2}}}\Leftrightarrow\frac{1}{\frac{1}{X_1}+\frac{1}{X_2}}=\sqrt{X_1\times{X_2}} \]

即,

\[H_m\leq{G_m} \]

所以,

\[H_m\leq{G_m}\leq\overline{X} \]

(证毕)

9、中位数(Median)

中位数是指将数据按大小顺序后,居于数列中间位置的那个数据。从中位数的定义可知,样本数据中有一半小于中位数,一半大于中位数。在数列中出现了极端样本值的情况下,用中位数作为代表值要比用算术平均数更好,因为中位数不受极端变量值的影响。当次数分布偏态时,中位数的代表性会受到影响。

I、单项式样本中位数  [返回]

设有未分组样本\(X_i(i=1,2,\dots,n)\),将样本按大小排序。设排序的结果为,

\[x_{_1}\leq x_{_2}\leq x_{_3}\leq\dots\leq x_{_n} \]

则单项式样本中位数公式为,

\[M_e=\begin{equation*} \begin{cases} x_{_{\frac{n+1}{2}}}\hspace{2cm}(n为奇数)\\ \frac{x_{\frac{1}{n}}+x_{\frac{1}{n}+1}}{2}\hspace{2cm}(n为偶数)\\ \end{cases} \end{equation*} \]

现有样本,

95,74,31,68,50,68,59,33,41

计算中位数。

首先排序样本,

31,33,41,50,59,68,68,74,95

由于样本量为奇数,样本中间项数据为59,即中位数为59。

如果排序后样本容量为偶数,

31,33,41,50,59,67,68,74,80,95

这时样本有两个中间项数据59,67,中位数为,

\[M_e=\frac{59+67}{2}=63 \]

函数代码

## 函数
    webTJ.Formula.getMedian(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oArr1 = [31,33,41,50,59,68,68,74,95];
var oArr2 = [31,33,41,50,59,67,68,74,80,95];
var oMedian1=webTJ.Formula.getMedian(oArr1);
var oMedian2=webTJ.Formula.getMedian(oArr2);
webTJ.display("中位数1 = "+oMedian1,0);
webTJ.display("中位数2 = "+oMedian2,0);           

II、单项式分组样本中位数  [返回]

在分组单项式样本情况下,样本单项\(X_1,X_1,\dots,X_m\),样本单项单项分组次数\(f_1,f_2,\dots,f_m\)。先计算各组的累计次数,然后根据中位点\(\frac{(\sum\limits_{i=1}^mf+1)}{2}\)确定中位数所在组,中位数所在组样本标准值就是中位数。

某工厂工人产量数据表如下:

日产量分组(件)工人数(个)累计次数(向下)
488
52230
64272
738110
817127
93130
合计130*

计算中位数。

解、中位点所在位置,\(\frac{130+1}{2}=65.5\),根据累计次数,属于72所对应的数据项6,即中位数为6件。

函数代码

## 函数
    webTJ.Formula.getSMedian(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
var oArrs = [[4,8],[5,22],[6,42],[7,38],[8,17],[9,3]];
var oSMedian=webTJ.Formula.getSMedian(oArrs);
webTJ.display("单项式分组中位数 = "+oSMedian,0);

III、组距式分组样本中位数  [返回]

对于按组距分组的样本,中位数计算比较繁琐,计算步骤如下:

a.计算分组频数\(f_i\)向上和向下累计\(\sum\limits_{i=1}^mf_i\)
b.根据分组频数累计总和确定中位点\(\frac{\sum f}{2}\)
c.由中位点和累计数列确定中位数所在组(当某向下累计数大于中位点时,该累计数对应的分组为中位数所在组);
d.利用中位数所在组次数\(f_m\)、组距(\(D\))、上限和下限(\(U,L\))、以及中位数所在组和上下相邻组次累计数(\(S_{m-1},S_{m+1}\)),中位数估计公式为,

下限公式:

\[M_e=L+\frac{\frac{\sum f}{2}-S_{m-1}}{f_m}\times{D} \]

上限公式:

\[M_e=U-\frac{\frac{\sum f}{2}-S_{m+1}}{f_m}\times{D} \]

案例六:根据下面例表的数据,计算50名工人日加工零件数的中位数。

按零件数分组(个)频数(人)向下累计向上累计
105-1103350
110-1155847
115-12081642
120-125143034
125-130104020
130-13564610
135-1404504

解、首先计算向下累计向上累计数。根据表中数据,

中位点,

\[\frac{\sum f}{2}=\frac{50}{2}=25 \]

由于在向下累计列中,\(30>25\),中位数所在组为30对应的分组120-125。则有,

\[L=120, U=125, D=5, f_m=14, S_{m-1}=16,S_{m+1}=20 \]

下限公式:

\[M_e=L+\frac{\frac{\sum f}{2}-S_{m-1}}{f_m}\times{D}=120+\frac{\frac{50}{2}-16}{14}\times5=123.21 \]

上限公式:

\[M_e=U-\frac{\frac{\sum f}{2}-S_{m+1}}{f_m}\times{D}=125-\frac{\frac{50}{2}-20}{14}\times5=123.21 \]

函数代码

## 函数
    webTJ.Formula.getGMedian(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
var oArrs = [[105,110,3],[110,115,5],[115,120,8],[120,125,14],[125,130,10],[130,135,6],[135,140,4]];
var oGMedian=webTJ.Formula.getGMedian(oArrs);
webTJ.display("组距式分组中位数 = "+oGMedian,0);

10、样本分位数(Quantile)

样本p分位数(sample quantile of order p )是一种样本特征量。设给定一个概率值 ,该总体的分布函数为\(F(x)\),则方程\(F(x)=p\)的解即称为该分布的\(100p\%\)分位数。中位数就是50%的分位数,常用的还有25%下四分位数和75%上四分位数。当分布函数为连续型变量时,可以通过解方程\(F(x)=p\)求得任意点的分位数,但在用样本值(离散数据)计算分位数时,经验分布\(F_n(x)\)是跳跃的,无法用解方程的方法计算分位数。这可采用插值方法处理。

分位数根据其将数列等分的形式不同可以分为中位数,四分位数,十分位数、百分位数等等。人们经常会将数据划分为4个部分,每一个部分大约包含有1/4即25%的数据项。这种划分的临界点即为四分位数。四分位数作为分位数的一种形式,在统计中有着十分重要的意义和作用。

I、未分组样本分位数  [返回]
  
设有未分组样本\(X_i(i=1,2,\dots,n)\),将样本按大小排序。设排序的结果为,

\[x_{_1}\leq x_{_2}\leq x_{_3}\leq\dots\leq x_{_n} \]

\(k=[(n+1)\times p]\)为不超过\((n+1)\times p\)的最大整数,,此时分位数在\(x_{_(k)}\)\(x_{_(k+1)}\)之间。

\(\alpha=(n+1)\times p-k\)表示\((n+1)\times p\)的小数部分,则样本的\(100p\%\)分位数为,

\[x(p)=(1-\alpha)\times x_{_{(k)}}+\alpha\times x_{_{(k+1)}} \]

案例七:设有某城市15例火灾损失金额(万元)数据如下:

5.98,3.81,1.98,0.44,0.39,1.81,3.79,0.9,3.9,4.13,4.72,7.16,0.71,19.13,9.72

计算中位数、上下四分位数、40%和80%分位数。

解、样本排序,

0.39,0.44,0.71,0.9,1.81,1.98,3.79,3.81,3.9,4.13,4.72,5.98,7.16,9.72,19.13

中位数:

\(p=0.5\),
\(k=[(n+1)\times p]=[(15+1)\times 0.5]=8\),
\(\alpha=(n+1)\times p-k=(15+1)\times 0.5-8=0\),
\(x(0.5)=(1-0)\times x_{_{(8)}}+0\times x_{_{(9)}}=x_{_{(8)}}=3.81\)

下四分位数:

\(p=0.25\),
\(k=[(n+1)\times p]=[(15+1)\times 0.25]=4\),
\(\alpha=(n+1)\times p-k=(15+1)\times 0.25-4=0\),
\(x(0.25)=(1-0)\times x_{_{(4)}}+0\times x_{_{(5)}}=x_{_{(4)}}=0.90\)

上四分位数:

\(p=0.75\),
\(k=[(n+1)\times p]=[(15+1)\times 0.75]=12\),
\(\alpha=(n+1)\times p-k=(15+1)\times 0.75-12=0\),
\(x(0.75)=(1-0)\times x_{_{(12)}}+0\times x_{_{(13)}}=x_{_{(12)}}=5.98\)

40%分位数:

\(p=0.4\),
\(k=[(n+1)\times p]=[(15+1)\times 0.4]=6\),
\(\alpha=(n+1)\times p-k=(15+1)\times 0.4-6=0.4\),
\(x(0.4)=(1-0.4)\times x_{_{(6)}}+0.4\times x_{_{(7)}}=0.6\times 1.98+0.4\times 3.79=2.704\)

80%分位数:

\(p=0.8\),
\(k=[(n+1)\times p]=[(15+1)\times 0.8]=12\),
\(\alpha=(n+1)\times p-k=(15+1)\times 0.8-12=0.8\),
\(x(0.8)=(1-0.8)\times x_{_{(12)}}+0.8\times x_{_{(13)}}=0.2\times 5.98+0.8\times 7.16=6.924\)

函数代码

## 函数
    webTJ.Formula.getQuantile(arr,p);
##参数
    【arr,p】
    【一维数组,分位百分比】

代码样例

webTJ.clear();
var oStr="0.39,0.44,0.71,0.9,1.81,1.98,3.79,3.81,3.9,4.13,4.72,5.98,7.16,9.72,19.13";
var oArr=webTJ.getArr(oStr,",");
var oQuantile=webTJ.Formula.getQuantile(oArr,0.5);
webTJ.display("中位数 = "+oQuantile,0);
oQuantile=webTJ.Formula.getQuantile(oArr,0.25);
webTJ.display("下四分位数 = "+oQuantile,0);
oQuantile=webTJ.Formula.getQuantile(oArr,0.75);
webTJ.display("上四分位数 = "+oQuantile,0);
oQuantile=webTJ.Formula.getQuantile(oArr,0.4);
webTJ.display("40%中位数 = "+oQuantile,0);
oQuantile=webTJ.Formula.getQuantile(oArr,0.8);
webTJ.display("80%中位数 = "+oQuantile,0);

II、分组(组距式)样本分位数  [返回]

对于按组距分组的样本,分位数计算步骤如下:

a.计算分组频数\(f_i\)向上和向下累计\(\sum\limits_{i=1}^mf_i\)
b.根据分组频数累计总和确定分位点\(p\times\sum f\)
c.由分位点和累计数列确定分位数所在组(当某向下累计数大于分位点时,该累计数对应的分组为分位数所在组);
d.利用分位数所在组次数\(f_m\)、组距(\(D\))、上限和下限(\(U,L\))、以及分位数所在组和上下相邻组次累计数(\(S_{m-1},S_{m+1}\))。

分位数估计公式为,

下限公式:

\[Q_p=L+\frac{p\times\sum f-S_{m-1}}{f_m}\times{D} \]

上限公式:

\[Q_p=U-\frac{(1-p)\times\sum f-S_{m+1}}{f_m}\times{D} \]

案例八:某企业职工按月工资的分组资料如下:

按月工资分组(元)职工人数(人)向上累计职工人数向下累计职工人数
600以下2323566
600—700120143543
700—800150293423
800—900135428273
900—100095523138
1000以上4356643
合计566**

计算中位数、上下四分位数、40%和60%分位数。

解、

中位数:

\[Q_{0.5}=700+\frac{0.5\times 566-143}{150}\times 100=793.33 \]

下四分位数:

\[Q_{0.25}=600+\frac{0.25\times 566-23}{120}\times 100=698.75 \]

上四分位数:

\[Q_{0.75}=800+\frac{0.75\times 566-293}{135}\times 100=897.41 \]

40%分位数:

\[Q_{0.4}=700+\frac{0.4\times 566-143}{150}\times 100=755.6 \]

80%分位数:

\[Q_{0.8}=900+\frac{0.8\times 566-428}{95}\times 100=926.1053 \]

函数代码

## 函数
    webTJ.Formula.getGQuantile(arrs,p);
##参数
    【arrs,p】
    【二维数组】

代码样例

webTJ.clear();
var oArrs=[[0,600,23],[600,700,120],[700,800,150],[800,900,135],[900,1000,95],[1000,9999,43]];
var oGQuantile=webTJ.Formula.getGQuantile(oArrs,0.5);
webTJ.display("中位数 = "+oGQuantile,0);
oGQuantile=webTJ.Formula.getGQuantile(oArrs,0.25);
webTJ.display("下四分位数 = "+oGQuantile,0);
oGQuantile=webTJ.Formula.getGQuantile(oArrs,0.75);
webTJ.display("上四分位数 = "+oGQuantile,0);
oGQuantile=webTJ.Formula.getGQuantile(oArrs,0.4);
webTJ.display("40%分位数 = "+oGQuantile,0);
oGQuantile=webTJ.Formula.getGQuantile(oArrs,0.8);
webTJ.display("80%分位数 = "+oGQuantile,0);

11、众数(Mode)

众数是指一组数据中出现次数最多的那个数据,一组数据可以有多个众数,也可以没有众数。所谓众数是指社会经济现象中最普遍出现的标志值。从分布角度看,众数是具有明显集中趋势的数值。

统计上把在一组数据中出现次数最多的变量值叫做众数。用\(M_o\)表示。它主要用于定类(品质标志)数据的集中趋势,当然也适用于作为定序(品质标志)数据以及定距和定比(数量标志)数据集中趋势的测度值。

I、单项式样本众数  [返回]

由品质数列和单项式变量数列确定众数比较容易,哪个样本值出现的次数最多,它就是众数。例如,

某制鞋厂要了解消费者最需要哪种型号的男皮鞋,调查了某百货商场某季度男皮鞋的销售情况,得到资料如下表(某商场某季度男皮鞋销售情况):

男皮鞋号码(厘米)销售量(双)
2412
24.584
25118
25.5541
26320
26.5104
2752
合计1200

从表中可以看到,25.5厘米的鞋号销售量最多,众数为25.5厘米。

单项式样本众数计算的步骤为,

a.提取样本唯一项并排序;
b.根据唯一项统计各项频数;
c.由频数确定众数。

案例九:现有200名学生统计学成绩如下:

57,45,74,96,71,65,54,60,88,92,45,41,61,59,72,44,67,68,77,48,85,70,70,55,96,47,44,99,93,49,62,77,62,65,68,64,69,64,52,43,99,60,74,70,70,75,79,78,67,75,88,70,62,76,77,63,73,70,41,54,98,78,74,66,70,76,63,76,66,99,63,61,65,70,73,74,60,71,61,42,93,72,69,61,69,60,78,74,73,84,60,63,65,68,77,64,79,75,43,99,52,73,73,71,63,72,75,69,48,80,87,63,73,61,71,66,77,60,75,51,63,79,71,74,66,73,70,63,98,47,82,52,51,43,41,71,61,46,67,99,65,92,80,55,44,54,63,94,88,70,76,45,71,46,84,52,91,98,97,94,59,74,72,84,54,46,45,87,44,88,46,61,92,53,41,65,66,91,46,97,96,42,96,79,80,54,60,47,67,59,49,92,80,41,92,50,59,74,93,72

计算众数。

解、

提取样本唯一项并排序,

41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,84,85,87,88,91,92,93,94,96,97,98,99

根据唯一项统计各项频数,

序号唯一项频数序号唯一项频数序号唯一项频数
14151860735775
24221961736783
34332062337794
44432163938804
54542264339821
64652365640843
74732466541851
84822567442872
94922668343884
105012769444912
1151228701445925
125242971746933
135313072547942
145453173748964
155523274849972
165713375550982
175943476451993

根据频数表可知,学生成绩为70的最多、有14人,故统计学学生成绩众数为70。

函数代码

## 函数
    webTJ.Formula.getMode(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="57,45,74,96,71,65,54,60,88,92,45,41,61,59,72,70,67,68,77,48,85,70,70,55,96,47,44,99,93,49,62,77,62,65,68,64,69,64,52,43,99,60,74,70,70,75,79,78,67,75,88,70,62,76,77,63,73,70,41,54,70,78,74,66,70,76,63,76,66,70,63,61,65,70,73,74,60,71,61,42,93,72,69,61,69,60,78,74,73,84,60,63,65,68,77,64,79,75,43,70,52,73,73,71,63,72,75,69,48,80,87,63,73,61,71,66,77,60,75,51,63,79,71,74,66,73,70,63,98,47,82,52,51,43,41,71,61,46,67,99,65,92,80,55,44,54,63,94,88,70,76,45,71,46,84,52,91,98,97,94,59,74,72,84,54,46,45,87,44,88,46,61,92,53,41,65,66,91,46,97,96,42,96,79,80,54,60,47,67,59,49,92,80,41,92,50,59,74,93,72";
var oArr=webTJ.getArr(oStr,",");
var oMode=webTJ.Formula.getMode(oArr);
webTJ.display("众数 = "+oMode,0);

II、组距式样本众数  [返回]

若所掌握的样本是组距式数列,则只能按一定的方法来推算众数的近似值。计算过程为:

a.根据分组频数\(f_i\)确定众数所在组(频数最大为众数组);
b.众数所在组下限值为\(L\)、上限值为\(U\),次数(频数)为D;
c.计算众数所在组次数与其下限的邻组次数之差\(\Delta{_1}\)和众数所在组次数与其上限的邻组次数之差\(\Delta{_2}\)

众数估计公式为,

下限公式:

\[M_o=L+\frac{\Delta{_1}}{\Delta{_1}+\Delta{_2}}\times{D} \]

上限公式:

\[M_o=U-\frac{\Delta{_2}}{\Delta{_1}+\Delta{_2}}\times{D} \]

案例十:根据案例六数据,计算50名工人日加工零件数的众数。

按零件数分组(个)频数(人)
105-1103
110-1155
115-1208
120-12514
125-13010
130-1356
135-1404

解、众数所在组频数为14,下限值120、上限值125、组距为5。

下限公式:

\[M_o=L+\frac{\Delta{_1}}{\Delta{_1}+\Delta{_2}}\times{D}=120+\frac{6}{6+4}\times{5}=123 \]

上限公式:

\[M_o=U-\frac{\Delta{_2}}{\Delta{_1}+\Delta{_2}}\times{D}=125-\frac{4}{6+4}\times{5}=123 \]

计算结果,众数为123(个)。

函数代码

## 函数
    webTJ.Formula.getGMode(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
var oArrs = [[105,110,3],[110,115,5],[115,120,8],[120,125,14],[125,130,10],[130,135,6],[135,140,4]];
var oGMode=webTJ.Formula.getGMode(oArrs);
webTJ.display("组距式分组众数 = "+oGMode,0);

众数\(M_o\)、中位数\(M_e\)和算术平均数\(\overline{X}\)之间的关系:

众数、中位数和算术平均数都是反映总体集中趋势一般水平的指标,但三者的特点不同。样本数据中的极端值算数平均数有直接影响,对众数和中位数则无影响。用统一样本数据计算三者,其关系如下:


I、当数据具有单一众数且频数分布完全对称时,三者相同,即

\[M_o=M_e=\overline{X} \]

此时样本数据为正态分布。


II、当出现较大极端值时,拉动算数平均数偏向数轴右方,则三者关系为,

\[\overline{X}>M_e>M_o \]

即右偏分布时算数平均数大于众数。


III、当出现较小极端值时,拉动算数平均数偏向数轴左方,则三者关系为,

\[\overline{X}<M_e<M_o \]

即左偏分布时算数平均数小于众数。

次数分布的非对称程度越大,三者的差别越大、反之越小。但中位数始终处于中间位置。根据皮尔逊的估计,在轻微偏态情况下,算数平均数与中位数的距离约为算数平均数与众数距离的\(\frac{1}{3}\)。即,

\[|\overline{X}-M_o|=3\times{|\overline{X}-M_e|} \]

二、变异指标统计函数###

统计变异指标又称离中趋势或离散程度指标,用来反映样本数据分布的离散程度,即反映各样本值偏离其中心值(平均数)的程度。

离散指标的作用:

评价平均指标代表性的尺度。平均指标作为总体各单位标志值一般水平的代表值,其代表性的高低取决于总体各单位标志值的差异程度。一般来说,标志值的分布越分散,离散指标值越大,平均指标的代表性就越小;标志值的分布越集中,离散指标值越小,平均数的代表性就越大;

离散指标是反映社会经济活动过程均衡性的一个重要指标。一般来说,离散指标值愈小,则说明社会经济活动过程愈均衡;离散指标值愈大,则说明社会经济活动过程存在陡起陡落的现象,需要加以调控。

测度标志变异程度的具体指标有全距、分位差、平均差、标准差等。

1、全距(Range)  [返回]

全距是用来表示样本数据中的变异程度的统计量,其值为最大值与最小值之间的差距,即最大值减最小值后所得值。全距也称为极差,是指总体各单位的两个极端标志值之差,即:R=最大标志值-最小标志值。因此,全距(R)可反映总体标志值的差异范围。

案例十一:根据案例一,某学校学生英语成绩数据,

95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88

计算全距。

解、\(max(X)=99\)\(min(X)=31\)\(R=max(X)-min(X)=99-31=68\)

函数代码

## 函数
    webTJ.Formula.getRange(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oRange=webTJ.Formula.getRange(oArr);
webTJ.display("全距 = "+oRange,0);

2、平均差(Mean Deviation)  [返回]

平均差是总体各单位标志对其算术平均数的离差绝对值的算术平均数。它综合反映了总体各单位标志值的变动程度。平均差越大,则表示标志变动度越大,反之则表示标志变动度越小。

在样本未分组的情况下,平均差的计算公式为:

\[MD=\frac{\sum\limits_{i=1}^n|X_i-\overline{X}|}{n} \]

采用标志值对算术平均数的离差绝对值之和,是因为各标志值对算术平均数的离差之代数和等于零。以几名学生数学成绩为例:

60,70,80,90,100

计算平均差如下:

\[MD=\frac{|60-80|-|70-80|-|80-80|-|90-80|-|100-80|}{5}=12 \]

函数代码

## 函数
    webTJ.Formula.getMD(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oMD=webTJ.Formula.getMD(oArr);
webTJ.display("平均差 = "+oMD,0);

样本分组的情况下,平均差的计算公式为:

\[MD=\frac{\sum\limits_{i=1}^m|X_i-\overline{X}|\times f_i}{\sum\limits_{i=1}^m f_i} \]

式中,\(m\)为组数,\(\overline{X}\)为分组加权平均数。

案例十二:现有50名工人日加工零件数如下表,

按零件数分组(个)频数(人)组中值
105-1103107.5
110-1155112.5
115-1208117.5
120-12514122.5
125-13010127.5
130-1356132.5
135-1404137.5

计算分组数据平均差。

代码样例

webTJ.clear();
var oArrs = [[107.5,3],[112.5,5],[117.5,8],[122.5,14],[127.5,10],[132.5,6],[137.5,4]];
var oSrr=webTJ.Array.getMonomial(oArrs);
var oMD=webTJ.Formula.getMD(oSrr);
webTJ.display("平均差 = "+oMD,0);

注:可将组距式样本按组中值转化为单项式样本,然后利用单项式公式计算

3、四分位差(Quartile Deviation)  [返回]

四分位差又称内距、也称四分间距(Inter-Quartile Range),是指将各个样本值按大小顺序排列,然后将此数列分成四等份,所得第三个四分位上的值与第一个四分位上的值的差。四分位差反映了中间50%数据的离散程度。四分位差是上四分位数(\(Q_{_U}\))和下四分位数(\(Q_{_L}\))之差,记为\(IQR\),即,

\[IQR=Q_{_U}-Q_{_L} \]

案例十三:现有200名学生统计学成绩如下(案例十三数据):

57,45,74,96,71,65,54,60,88,92,45,41,61,59,72,44,67,68,77,48,85,70,70,55,96,47,44,99,93,49,62,77,62,65,68,64,69,64,52,43,99,60,74,70,70,75,79,78,67,75,88,70,62,76,77,63,73,70,41,54,98,78,74,66,70,76,63,76,66,99,63,61,65,70,73,74,60,71,61,42,93,72,69,61,69,60,78,74,73,84,60,63,65,68,77,64,79,75,43,99,52,73,73,71,63,72,75,69,48,80,87,63,73,61,71,66,77,60,75,51,63,79,71,74,66,73,70,63,98,47,82,52,51,43,41,71,61,46,67,99,65,92,80,55,44,54,63,94,88,70,76,45,71,46,84,52,91,98,97,94,59,74,72,84,54,46,45,87,44,88,46,61,92,53,41,65,66,91,46,97,96,42,96,79,80,54,60,47,67,59,49,92,80,41,92,50,59,74,93,72

计算四分位差。

函数代码

## 函数
    webTJ.Formula.getIQR(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="57,45,74,96,71,65,54,60,88,92,45,41,61,59,72,44,67,68,77,48,85,70,70,55,96,47,44,99,93,49,62,77,62,65,68,64,69,64,52,43,99,60,74,70,70,75,79,78,67,75,88,70,62,76,77,63,73,70,41,54,98,78,74,66,70,76,63,76,66,99,63,61,65,70,73,74,60,71,61,42,93,72,69,61,69,60,78,74,73,84,60,63,65,68,77,64,79,75,43,99,52,73,73,71,63,72,75,69,48,80,87,63,73,61,71,66,77,60,75,51,63,79,71,74,66,73,70,63,98,47,82,52,51,43,41,71,61,46,67,99,65,92,80,55,44,54,63,94,88,70,76,45,71,46,84,52,91,98,97,94,59,74,72,84,54,46,45,87,44,88,46,61,92,53,41,65,66,91,46,97,96,42,96,79,80,54,60,47,67,59,49,92,80,41,92,50,59,74,93,72";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oIQR=webTJ.Formula.getIQR(oArr);
webTJ.display("四分位差 = "+oIQR,0);

4、方差(Variance)和样本方差(Sample Variance)  [返回]

方差是各个数据与其算术平均数的离差平方和的平均数,通常以\(\sigma^2\)表示。方差是一组数值和平均值分散程度的一种度量,是评价数据变异程度的标准方法。一个较大的方差,代表大部分的数值和其平均值之间差异较大;一个较小的方差,代表这些数值较接近平均值。例如,两组样本 {0, 5, 9, 14} 和 {5, 6, 8, 9} 其平均值都是 7 ,但第二组样本波动较小,具有较小的方差。

方差公式:

\[\sigma^2=\frac{\sum\limits_{i=1}^n(X_i-\overline{X})^2}{n} \]

样本方差公式:

\[S^2=\frac{\sum\limits_{i=1}^n(X_i-\overline{X})^2}{n-1} \]

当根据样本推断总体方差时,样本方差为无偏估计量。统计学中另外一对常用离散程度指标是标准差(Standard Deviation)和样本标准差(Sample Standard Deviation),它们分别是方差和样本方差的平方根。

函数代码

## 函数
    webTJ.Formula.getVariance(arr,k);
##参数
    【arr,k】
    【一维数组,方差(k=0)或样本方差(k=1)】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oS1=webTJ.Formula.getVariance(oArr,0);
webTJ.display("方差 = "+oS1,0);
var oS2=webTJ.Formula.getVariance(oArr,1);
webTJ.display("样本方差 = "+oS2,0);
var oS3=Math.pow(oS1,0.5);
webTJ.display("标准差 = "+oS3,0);
var oS4=Math.pow(oS2,0.5);
webTJ.display("样本标准差 = "+oS4,0);

5、标准差(Standard Deviation)和样本标准差(Sample Standard Deviation)  [返回]

函数代码

## 函数
    webTJ.Formula.getSD(arr,k);
##参数
    【arr,k】
    【一维数组,标准差(k=0)或样本标准差(k=1)】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oS1=webTJ.Formula.getSD(oArr,0);
webTJ.display("标准差 = "+oS1,0);
var oS2=webTJ.Formula.getSD(oArr,1);
webTJ.display("样本标准差 = "+oS2,0);

样本方差为总体方差的无偏估计量:

证明,

\[E(S^2)=E[\frac{\sum\limits_{i=1}^n(X_i-\overline{X})^2}{n-1}]=E[\frac{\sum\limits_{i=1}^n(X_i^2-2X_i\overline{X}+\overline{X}^2)}{n-1}]=E[\frac{\sum\limits_{i=1}^nX_i^2-2\overline{X}\sum\limits_{i=1}^nX_i+\sum\limits_{i=1}^n\overline{X}^2}{n-1}] \]

\[=E[\frac{\sum\limits_{i=1}^nX_i^2-2n\overline{X}^2+n\overline{X}^2}{n-1}]==E[\frac{\sum\limits_{i=1}^nX_i^2-n\overline{X}^2}{n-1}]=\frac{1}{n-1}[\sum\limits_{i=1}^nE(X_i^2)-nE(\overline{X}^2)] \]

\(\because\hspace{1cm}E(X^2)=D(X)+[E(X)]^2\)

\[E(S^2)=\frac{1}{n-1}\sum\limits_{i=1}^n[D(X_i)+(E(X_i))^2]-\frac{n}{n-1}[D(\overline{X})+(E(\overline{X}))^2] \]

\(又\because\hspace{1cm}D(X_i)=D(X),E(X_i)=E(X),D(\overline{X})=\frac{D(X)}{n},E(\overline{X})=E(X)\)

\[\small{\therefore\hspace{1cm}E(S^2)=\frac{n}{n-1}[D(X)+(E(X))^2]-\frac{n}{n-1}[\frac{D(X)}{n}+(E(\overline{X}))^2]=\frac{n}{n-1}D(X)-\frac{1}{n-1}D(X)=D(X)} \]

(证毕)

6、变异系数

变异系数又称离散系数,主要用于比较不同水平的样本数列的离散程度及平均数的代表性。变异系数是衡量数据中各观测值变异程度的一个统计量。当进行两个或多个资料变异程度的比较时,由于样本数量等级、单位不同,比较其变异程度就不能采用标准差,而需采用标准差与平均数的比值(相对值)来比较。

I、极差(全距)系数(Coefficient of Range)  [返回]

全距与算数平均数之比,公式为,

\[V_{R}=\frac{R}{\overline{X}} \]

函数代码

## 函数
    webTJ.Formula.getVR(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oVR=webTJ.Formula.getVR(oArr,0);
webTJ.display("全距系数 = "+oVR,0);

II、平均差系数(Coefficient of Average Deviation)  [返回]

平均差与算数平均数之比,公式为,

\[V_{MD}=\frac{MD}{\overline{X}} \]

函数代码

## 函数
    webTJ.Formula.getVMD(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oVMD=webTJ.Formula.getVMD(oArr,0);
webTJ.display("平均差系数 = "+oVMD,0);

III、标准差系数(Coefficient of Standard Deviation)  [返回]

标准差与算数平均数之比,公式为,

\[V_{SD}=\frac{SD}{\overline{X}} \]

函数代码

## 函数
    webTJ.Formula.getVSD(arr);
##参数
    【arr】
    【一维数组】

一阶中心矩(k=1)等于0、二阶中心矩(k=2)为方程。

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oVSD=webTJ.Formula.getVSD(oArr,0);
webTJ.display("标准差系数 = "+oVSD,0);

三、形态指标统计函数###

集中趋势和离散趋势是数据分布的两个重要特征,但要进一步全面了解数据分布的特点,还需要知道数据分布形态是否对称、偏斜的程度以及形态的扁平程度等。

1、偏态分布(Skewed Distribution)

偏态分布,即统计数据峰值与平均值不相等的频率分布。根据峰值小于或大于平均值可分为正偏函数和负偏函数,其偏离的程度可用偏态系数刻画。偏态分布是指样本频数分布不对称。频数分布有正态分布和偏态分布之分。正态分布是指多数频数集中在中央位置,两端的频数分布大致对称。

频数分布有正态分布和偏态分布之分。正态分布是指多数频数集中在中央位置,两端的频数分布大致对称。偏态分布是指频数分布不对称,如果频数分布的高峰向左偏移,长尾向右侧延伸称为正偏态分布,也称右偏态分布;同样的,如果频数分布的高峰向右偏移,长尾向左延伸则成为负偏态分布,也称左偏态分布。

I、皮尔逊偏态系数(Pearson Skewness Coefficient)  [返回]

英国统计学家皮尔逊观察到算数平均数和众数、中位数的分布规律,并利用平均数和众数的关系来测定偏态,即算数平均数与众数的差距越大,次数分布的对称程度越小、偏度越大。皮尔逊将算数平均数(\(\overline{X}\))与众数(\(M_o\))的差与标准差(\(\sigma\))进行对比,得到具有可比性的皮尔逊偏态系数,用来描述分布偏态的相对水平,其公式为,

\[S_{kp}=\frac{\overline{X}-M_o}{\sigma} \]

一般情况下,\(-3\leq S_{kp}\leq 3\),并且,

a. \(S_{kp}=0\),对称分布(实际分析时接近于0,在0.01或0.05范围内);
b. \(S_{kp}\leq 0\),数据分布为左偏,或为负偏。\(S_{kp}=-3\)为极度左偏;
c. \(S_{kp}\geq 0\),数据分布为右偏,或为正偏。\(S_{kp}=3\)为极度右偏。

函数代码

## 函数
    webTJ.Formula.getPKewness(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oPSkewness=webTJ.Formula.getPSkewness(oArr);
webTJ.display("皮尔逊偏态系数 = "+oPSkewness,0);

II、原点矩(Origin Moment)  [返回]

矩函数又称动差,指各样本值\(X\)与某一固定值\(X_0\)的离差的k次方的算数平均数(k阶矩),也成为\(X\)\(X_0\)的k次动差,或称为矩函数。统计学中常用的矩函数有原点矩和中心距两种。

原点矩是指各样本值和原点的离差的k阶平均数动差,即\(X_0=0\)时,k阶矩就成为k阶原点矩。公式为,

\[M_{_k}=\frac{\sum\limits_{i=1}^nX_i^k}{n} \]

函数代码

## 函数
    webTJ.Formula.getMOM(arr,k);
##参数
    【arr,k】
    【一维数组,k阶矩】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oMOM=webTJ.Formula.getMOM(oArr,2);
webTJ.display("原点矩 = "+oMOM,0);

III、中心矩(Central Moment)  [返回]

中心矩是指各样本值与其算数平均数的离差的k阶动差的平均数,即\(X_0=\overline{X}\)时,k阶矩就成为k阶中心矩。公式为,

\[m_{_k}=\frac{\sum\limits_{i=1}^n(X_i-\overline{X})^k}{n} \]

函数代码

## 函数
    webTJ.Formula.getMCM(arr,k);
##参数
    【arr,k】
    【一维数组,k阶矩】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oMCM=webTJ.Formula.getMCM(oArr,2);
webTJ.display("原点矩 = "+oMCM,0);

IV、动差偏态系数  [返回]

利用样本的三阶中心动差与标准差三次方的比值来反映数据分布的偏态。公式为,

\[S_{km}=\frac{m_{_3}}{\sigma^3}=\frac{1}{n}\sum\limits_{i=1}^n(\frac{X_i-\overline{X}}{\sigma})^3 \]

注:统计教课书通常采用此公式

无偏估计公式为,

\[S_{km}=\frac{n}{(n-1)(n-2)}\sum\limits_{i=1}^n(\frac{X_i-\overline{X}}{\sigma})^3 \]

注:EXCEL等软件采用此公式

\(S_{km}=0\)时,次数分布为对称分布;当\(S_{km}>0\),次数分布为右偏分布;当\(S_{km}<0\),次数分布为左偏分布。

函数代码

## 函数
    webTJ.Formula.getSkewness(arr,k);
##参数
    【arr,k】
    【一维数组,有偏估计(k=0)、无偏估计(k=1)】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oSkewness=webTJ.Formula.getSkewness(oArr,0);
webTJ.display("动差偏态系数 = "+oSkewness,0);

2、峰度(Kurtosis)  [返回]

峰度是指样本分布次数曲线顶峰的尖平程度,是次数分布的又一重要特征。统计上,常以正态分布曲线为标准,来观察比较某一次数分布曲线的顶端为尖顶或平顶以及尖平程度的大小。

峰度的测定,一般是采用统计动差方法,即以四阶中心动差\(m_{_4}\)为测定依据,将\(m_{_4}\)除以其标准差的四次方(\(\sigma^4\)),以消除单位量纲的影响,便于不同次数分布曲线的峰度比较,从而得到以量纲表示的相对数,即为峰度的测定值。计算公式为:

\[K_{\mu}=\frac{m_{_4}}{\sigma^4}=\frac{1}{n}\sum\limits_{i=1}^n(\frac{X_i-\overline{X}}{\sigma})^4 \]

注:统计教课书通常采用此公式

由统计计算分析可知,当次数分布为正态分布曲线时,\(m_{_4}=3\),以此为标准就可比较分析各种次数分布曲线的峰度。当\(m_{_4}>3\)时,表示分布曲线呈尖顶峰度,为尖顶曲线,说明变量值的次数较为密集地分布在众数的周围,\(m_{_4}\)值越大于3,分布曲线的顶端越尖峭。当\(m_{_4}<3\)时,表示分布曲线呈平顶峰度,为平顶曲线,说明变量值的次数分布比较均匀地分散在众数的两侧,\(m_{_4}\)值越小于3,则分布曲线的顶峰就越平缓。一般当\(m_{_4}\)值接近于1.8时,分布曲线呈水平矩形分布形态,说明各组变量值的次数相同。当\(m_{_4}\)值小于1.8时,次数分布曲线趋向“U”型分布。实际统计分析中,通常将偏度和峰度结合起来运用,以判断变量分布是否接近于正态分布。

峰度的无偏估计公式为,

\[K_{\mu}=\frac{m_{_4}}{\sigma^4}=\frac{n(n+1)}{(n-1)(n-2)(n-3)}\sum\limits_{i=1}^n(\frac{X_i-\overline{X}}{\sigma})^4-\frac{3(n-1)^2}{(n-1)(n-3)} \]

注:EXCEL等软件采用此公式,峰度判别标准由3调整为0

函数代码

## 函数
    webTJ.Formula.getKurtosis(arr,k);
##参数
    【arr,k】
    【一维数组,有偏估计(k=0)、无偏估计(k=1)】

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oKurtosis=webTJ.Formula.getKurtosis(oArr,0);
webTJ.display("峰度系数 = "+oKurtosis,0);

四、在线数据操作练习###

1、字符串转数组后,应先进行量化后再计算各项统计指标

设有学生成绩字符串数据如下:

95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88

计算标准差。

代码样例

webTJ.clear();
var oStr="95,74,31,68,50,68,59,33,41,33,81,53,91,68,35,57,58,63,77,62,62,92,37,36,87,88,86,88,47,91,51,41,82,82,63,86,90,43,31,57,73,41,50,97,83,85,38,70,61,90,53,71,42,59,41,99,63,86,55,95,31,37,65,48,93,51,63,47,92,95,39,44,93,96,85,33,95,47,34,56,70,93,60,88,34,43,98,70,56,73,78,82,40,57,61,53,49,60,94,88";
var oArr=webTJ.getArr(oStr,",");
oArr=webTJ.Array.getQuantify(oArr);
var oVSD=webTJ.Formula.getVSD(oArr,0);
webTJ.display("标准差系数 = "+oVSD,0);

注:字符串转换为数组后,运用数组类函数的getQuantify函数将数组量化后再进行统计计算。如果没有量化过程可能无法返回正确计算结果

2、单项式和组距式分组数据数组定义

某工厂工人产量单项式分组数据表(产量表)如下:

日产量分组(件)工人数(个)
48
522
642
738
817
93

另有100名学生英语成绩组距式分组表(成绩表)如下,

下限上限组中值权数
30403514
40504514
50605516
60706514
7080759
80908515
901009518

将两表中数据定义为数组,并计算加权算术平均数。

注:单项式和组距式分组数据应定义为二维数组。单项式数组数据第一列为单项数值,第二列为分组次数;组距式数组数据第一列为各组组中值,第二列也为分组次数

代码样例

webTJ.clear();
var oArrs1=[[4,8],[5,22],[6,42],[7,38],[8,17],[9,3]]; //定义成绩表数组
var oWMean1=webTJ.Formula.getWMean(oArrs1);
webTJ.display("产量表加权算术平均数 = "+oWMean1,0);
var oArrs2=[[35,14],[45,14],[55,16],[65,14],[75,9],[85,15],[95,18]]; //定义产量表数组
var oWMean2=webTJ.Formula.getWMean(oArrs2);
webTJ.display("成绩表加权算术平均数 = "+oWMean2,0);

3、分组数据统计指标可转换为单项式后,用单项式统计公式

根据下表计算50名工人日加工零件数的方差和众数。

按零件数分组(个)频数(人)
105-1103
110-1155
115-1208
120-12514
125-13010
130-1356
135-1404

注:通常数据有单项和分组两种形式,如果只有单项式统计公式,可先将分组数据转换为单项式数据后按单项式公式计算

代码样例

webTJ.clear();
var oArrs=[[107.5,3],[112.5,5],[117.5,8],[122.5,14],[127.5,10],[132.5,6],[137.5,4]]; 
//按组中值定义组距式数组
var oSrr=webTJ.Array.getMonomial(oArrs);  //根据权数将分组样本转换为单项式
webTJ.display(oSrr,0);
var oVar=webTJ.Formula.getVariance(oSrr,0); //计算方差
webTJ.display("方差 = "+oVar,0);
var oMode=webTJ.Formula.getMode(oSrr); //按单项式计算众数
webTJ.display("单项式众数 = "+oMode,0);
var oArrs = [[105,110,3],[110,115,5],[115,120,8],[120,125,14],[125,130,10],[130,135,6],[135,140,4]];
//按上限和下限定义组距式数组
var oGMode=webTJ.Formula.getGMode(oArrs); //按组距式计算众数
webTJ.display("组距式众数 = "+oGMode,0);

注:运用组距式分组数据计算中位数和众数时需要用分组上限和下限计算组距,应按上限和下限定义组距式数组


代码窗口

注:可将例题实例代码复制、粘贴到“代码窗口”,点击“运行代码”获得计算结果(鼠标选择实例代码\(\rightarrow\)Ctrl+C:复制\(\rightarrow\)鼠标点击“代码窗口”使其获得焦点\(\rightarrow\)Ctrl+V:粘贴)

运行效果

posted @ 2017-03-21 16:10  银河统计  阅读(1728)  评论(0编辑  收藏  举报