【数学建模算法】(29)数据的统计描述和分析(上)

【数学建模算法】(29)数据的统计描述和分析(上),第1张

数理统计 研究的对象是受随机因素影响的数据,以下数理统计就简称统计,统计是以概率论为基础的一门应用学科。

数据样本少则几个,多则成千上万,人们希望能用少数几个包含其最多相关信息的数值来体现数据样本总体的规律。描述性统计就是搜集、整理、加工和分析统计数据,使之系统化、条理化,以显示出数据资料的趋势、特征和数量关系。它是统计推断的基础,实用性较强,在统计工作中经常使用。

面对一批数据如何进行描述与分析,需要掌握 参数估计 假设检验 这两个数理统计的最基本方法。

我们将用 Matlab 的统计工具箱(Statistics Toolbox)来实现数据的统计描述和分析。

一组数据(样本)往往是杂乱无章的,做出它的频数表和直方图,可以看作是对这组数据的一个初步整理和直观描述。

将数据的取值范围划分为若干个区间,然后统计这组数据在每个区间中出现的次数,称为 频数 ,由此得到一个频数表。以数据的取值为横坐标,频数为纵坐标,画出一个阶梯形的图,称为 直方图 ,或 频数分布图

若样本容量不大,能够手工做出频数表和直方图,当样本容量较大时则可以借助Matlab这样的软件了。让我们以下面的例子为例,介绍频数表和直方图的作法。

(1)数据输入

数据输入通常有两种方法,一种是在交互环境中直接输入,如果在统计中数据量比较大,这样作不太方便;另一种办法是先把数据写入一个纯文本数据文件datatxt中,数据列之间用空格和Tab键分割,之后以datatxt为文件名存放在某个子目录下,用Matlab中的load命令读入数据,具体做法是:

先把txt文件移入Matlab的工作文件夹中,之后在Matlab命令行或脚本中输入:

这样就在内存中建立了一个变量data它是一个包含有 个数据的矩阵。

为了得到我们需要的100个身高和体重均为一列的数据,我们对矩阵做如下处理:

(2)作频数表及其直方图

求频数用hist函数实现,其用法是:

得到数组(行列均可) 的频数表。它将区间 等分为 份(缺省时 为10), 返回 个小区间的频数, 返回 个小区间的中点。

同样的一个函数名hist还可以用来画出直方图。

对于本例的数据,可以编写如下程序画出数据的直方图。

得直方图如下:

下面我们介绍几种常用的统计量。

算术平均值 (简称均值)描述数据取值的平均位置,记作 ,

中位数 是将数据由小到大排序后位于中间位置的那个数值。

Matlab 中 mean(x)返回 x 的均值,median(x)返回中位数。

标准差 定义为:

它是各个数据与均值偏离程度的度量,这种偏离不妨称为 变异

方差 是标准差的平方 。

极差 是 的最大值与最小值之差。

Matlab 中 std(x)返回 x 的标准差,var(x)返回方差,range(x)返回极差。

你可能注意到标准差 s 的定义(2)中,对 的平方求和却被 除,这是出于无偏估计的要求。若需要改为被 除,Matlab 可用 std(x,1)和 var(x,1)来实现。

随机变量 的 阶 中心距 为 。

随机变量 的 偏度 峰度 指的是 的标准化变量 的三阶中心矩和四阶中心矩:

偏度反映分布的对称性, 称为右偏态,此时数据位于均值右边的比位于左边的多; 称为左偏态,情况相反;而 接近 0 则可认为分布是对称的。

峰度是分布形状的另一种度量,正态分布的峰度为 3,若 比 3 大得多,表示分布有沉重的尾巴,说明样本中含有较多远离均值的数据,因而峰度可以用作衡量偏离正态分布的尺度之一。

Matlab 中 moment(x,order)返回 x 的 order 阶中心矩,order 为中心矩的阶数。skewness(x)返回 x 的 偏度 ,kurtosis(x)返回 峰度

在以上用 Matlab 计算各个统计量的命令中,若 x 为矩阵,则作用于 x 的列,返回一个行向量。

对例1给出的学生身高和体重,用Matlab 计算这些统计量,程序如下:

统计量中最重要、最常用的是均值和标准差,由于样本是随机变量,它们作为样本的函数自然也是随机变量,当用它们去推断总体时,有多大的可靠性就与统计量的概率分布有关,因此我们需要知道几个重要分布的简单性质。

随机变量的特性完全由它的(概率)分布函数或(概率)密度函数来描述。设有随机变量 ,其分布函数定义为 的概率,即 。若 是连续型随机变量,则其密度函数 与 的关系为:

上 分位数是下面常用的一个概念,其定义为:对于 ,使某分布函数 的 ,称为这个分布的上 分位数,记作 。

我们前面画过的直方图是频数分布图,频数除以样本容量 ,称为频率, 充分大时频率是概率的近似,因此直方图可以看作密度函数图形的(离散化)近似。

正态分布可以说是最常见的(连续型)概率分布,成批生产时零件的尺寸,射击中d着点的位置,仪器反复量测的结果,自然界中一种生物的数量特征等,多数情况下都服从正态分布,这不仅是观察和经验的总结,而且有着深刻的理论依据, 即在大量相互独立的、作用差不多大的随机因素影响下形成的随机变量,其极限分布为正态分布

鉴于正态分布的随机变量在实际生活中如此地常见,记住下面 3 个数字是有用的:

若 为相互独立的、服从标准正态分布 的随机变量,则它们的平方和 服从 分布,记作 , 称为自由度,它的期望 ,方差 。

若 ,且相互独立,则 服从 分布,记作 称自由度。

分布的密度函数曲线和 曲线形状相似。理论上 时, ,实际上当 时它与 就相差无几了。

若 ,且相互独立,则 服从 分布,记作 称自由度。

Matlab统计工具箱中有27种概率分布,这里只对上面所述4中分布列出命令的字符:

工具箱对每一种分布都提供五类函数,其命令的字符是:

当需要一种分布的某一种函数时,将以上所列的分布命令字符与函数命令字符接起来,并输入自变量(可以是标量、数组或矩阵)和参数就行了,如:

设总体 , 为一容量 的样本,其均值 和标准差 由式(1),(2)确定,则用 和 构造的下面两个分布在统计中是非常有用的。

设有两个总体 和 ,及由容量分别为 的两个样本确定的均值 和标准差 ,则:

其中:

且要求

在无约束最优化问题中,有些重要的特殊情形,比如目标函数由若干个函数的平方和构成。这类函数一般可以写成:

其中 ,一般假设 。我们把极小化这类函数的问题:

称为最小二乘优化问题。

求解

st

其中 为矩阵, 为向量。

Matlab函数为:

x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)

解:程序如下:

给定输入输出数列 ,求参量 使得

Matlab中的函数为:

X=lsqcurvefit(FUN,X0,XDATA,YDATA,LB,UB,OPTIONS)

其中FUN是定义函数 的N文件。

解:这个问题即解最优化问题:

解这个问题要分两步:

首先编写待求函数:

已知函数向量 ,求 使得:

Matlab中的函数为:

用该函数求解例2:

首先编写含有待求参数的函数:

之后调用函数lsqnonlin,编写如下程序:

求解 非负 的 ,使得满足

Matlab中的函数为:

编写程序如下:

我们已经作过两个总体均值的假设检验,如两台机床生产的零件尺寸是否相等,病人和正常人的某个生理指标是否一样。如果把这类问题推广一下,要检验两个以上总体的均值彼此是否相等,仍然用以前介绍的方法是很难做到的。而你在实际生产和生活中可以举出许多这样的问题:从用几种不同工艺制成的灯泡中,各抽取了若干个测量其寿命,要推断这几种工艺制成的灯泡寿命是否有显著差异;用几种化肥和几个小麦品种在若干块试验田里种植小麦,要推断不同的化肥和品种对产量有无显著影响。

人们关心的试验结果称为 指标 ,试验中需要考察、可以控制的条件称为 因素或因子 ,因素所处的状态称为 水平 。上面提到的灯泡寿命问题是单因素试验,小麦产量问题是双因素试验。处理这些试验结果的统计方法就称为单因素方差分析和双因素方差分析。

只考虑一个因素 对所关心的指标的影响, 取几个水平,在每个水平上作若干个试验,试验过程中除 外其它影响指标的因素都保持不变(只有随机因素存在),我们的任务是从试验结果推断,因素 对指标有无显著影响,即当 取不同水平时指标有无显著差别。

取某个水平下的指标视为随机变量, 判断 取不同水平时指标有无显著差别 ,相当于检验若干总体的均值是否相等。

将第 行称为第 组数据。判断 的 个水平对指标有无显著影响,相当于要作以下的假设检验:

不全相等。

由于 的取值既受不同水平 的影响,又受 固定下随机因素的影响,所以将它分解为:

其中 ,且相互独立。

记:

是总均值, 是水平 对指标的效应。由(1)、(2)模型可表为:

原假设为(以后略去备选假设):

记:

是第 组数据的组平均值, 是总平均值。考察全体数据对 的偏差平方和:

经分解可得:

记:

则:

注意到 是总体 的样本方差的 倍,于是有:

由 分布的可加性知:

即:

且有:

对 作进一步分析可得:

若 成立,则:

而当 不成立时这个比值将远大于 1。当 成立时,该比值服从自由度 , 的 分布,即:

为检验 ,给定显著性水平 ,记 分布的 分位数为 ,检验规则为:

时接受 ,否则拒绝。

以上对 的分析相当于对组间、组内等方差的分析,所以这种假设检验方法称方差分析。

将试验数据按上述分析、计算的结果排成表 2 的形式,称为单因素方差分析表(Matlab 中给出的方差分析表)。

最后一列给出大于 值的概率 相当于 。

Matlab 统计工具箱中单因素方差分析的命令是 anoval。

处理均衡数据的用法为:

返回值 是一个概率,当 时接受 , 为 的数据矩阵, 的每一列是一个水平的数据(这里各个水平上的样本容量 )。另外,还输出一个方差表和一个

Box 图。

编写程序如下:

Matlab会生成方差分析表:

求得 ,故接受 ,即 5 名工人的生产率没有显著差异。方差表对应于上面的单因素方差分析表的 1 ~ 4列, 是 分布的 分位数,可以验证:

同时程序会生成 箱式图

处理非均匀数据的用法为:

x为向量,从第1组到第r组数据依次排列;group为与x同长度的向量,标志x中数据的组别(在与x第 组数据对应的位置输入整数 )。

解:编写如下程序

求得 ,所以几种工艺制成的灯泡寿命有显著差异。

在灯泡寿命问题中,为了确定哪几种工艺制成的灯泡寿命有显著差异,我们先算出各组数据的均值:

虽然 均值最大,但要判断它与其它几种有显著差异,还需做多重比较。一般多重比较要对所有 个总体作两两对比,分析相互间的差异。根据问题的具体情况可以减少对比次数。

对于上述问题,Matlab多重比较的程序为:

以上就是关于【数学建模算法】(29)数据的统计描述和分析(上)全部的内容,包括:【数学建模算法】(29)数据的统计描述和分析(上)、【数学建模算法】(28)插值和拟合:最小二乘优化、【数学建模算法】(31)方差分析(上)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9817356.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存