您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 完全手册:MATLAB使用详解-第9章__数据分析
技术凝聚实力专业创新出版第9章数据分析根据大量数据提取某些目标信息(称为数据分析、数据挖掘等)是一类非常重要的实际问题。限于篇幅,本章涉及的数据分析是非常基础的,其目的是让读者对利用MATLAB进行数据分析有一个初步的了解,主要内容包括:数据排序分析,包括排序、最大(小)数、分位数;数据求和(积)、差分;数据统计分析。前两部分可以归结为基本数据分析。关于插值、回归分析、曲线拟合、傅立叶分析等内容将在第10章高级数值计算中介绍。MATLAB提供的统计工具箱涵盖了大部分数据统计分析功能。技术凝聚实力专业创新出版9.1最大(小)值、中位数已知数据序列,求序列的最大值、最小值及中位数是实际工程中经常遇到的问题。对这类数据分析问题,MATLAB提供了强大的支持。MATLAB提供的函数max、min、median分别用于求数据序列的最大值、最小值和中位数,详细的使用方法见表max、min、median函数调用说明函数名调用格式说明额外的说明maxC=max(A)如果A为向量,则返回A的最大值;如果A为N维数组,函数沿A的第一个长度不为1的维求最大值,返回N-1维数组C的元素;特别地,当N=2时,则返回一个行向量,行向量的元素对应A每列的最大值当输入矩阵A为复数矩阵时,只考虑模值,而忽略相位;另外NaN被忽略C=max(A,B)返回结果是与A、B大小相同的数组,数组元素取A、B对应元素的较大者C=max(A,[],dim)对A沿第dim维求最大值,如max(A,[],1)沿A列向取最大值[C,I]=max(A,…)不仅返回最大值,而且返回最大值的索引,如果最大值有重复,则返回第一个最大值的位置minC=min(A)除了将最大值改为最小值之外,其余均与函数max相同C=min(A,B)C=min(A,[],dim)[C,I]=min(A,…)medianC=median(A)如果A为向量,则返回A的中位数;如果A为N维矩阵,则函数沿第一个长度不为1的维取中位数,返回N-1维矩阵;特别地,当N=2时,函数返回一个行向量,行向量元素为对应A每列的中位数C=median(A,dim)对A沿第dim维求中位数,如median(A,1)沿A列向求中位数技术凝聚实力专业创新出版9.2排序数据的排序是理论和实际中经常遇到的问题。MATLAB提供sort和sortrow两个函数用于数据的排序操作。这两个函数不仅可以用于数值数据的排序,而且对字符串数据也可以进行排序,这里主要讲述数值排序,对于字符串的排序只稍作介绍。sort对数组元素按升序或降序进行排列,数组元素的类型可以是整型、浮点型、逻辑类型等数值类型,也可以是字符、字符串。函数sort对字符或字符串数组的排序依据ASCII表进行;对复数数值类型,sort函数首先比较各元素的模值,在模值相同的情况下,考虑上的相位值;对于NaN数据,sort函数将其排在最后,不管是按升序还是降序排列。技术凝聚实力专业创新出版9.3分位数对数据序列,分位数是满足的q,其中是数据序列的长度,是x中不大于q的元素个数。通常上式的等号不能成立,这样可以定义p分位数是使最小的q。MATLAB利用函数quantile求数据序列的分位数,其调用格式为:Y=quantile(X,p)Y=quantile(X,p,dim)()()countXqpcountX„()countXq„()()countXqpcountX„技术凝聚实力专业创新出版9.4求和(积)、差分本节介绍数据序列的求和、求积、差分运算。MATLAB中利用函数sum、prod和diff对数据序列作求和、求积及差分等运算,这些内容相对简单,这里不再作过多的文字描述,读者只需练习给出的示例就能熟悉掌握相关函数的用法。技术凝聚实力专业创新出版9.4.1求和MATLAB中的函数sum用于对数组求和,sum函数以数组A作为数据输入,sum(A)沿数组第一个非1的维进行求和。若A为向量,则返回该向量的和;若A为矩阵,则函数沿列方向求和,返回一个行向量,行向量的元素对应A每一列的和。sum(A,dim)指定函数沿第dim维求和。实际上MATLAB中很多函数的调用格式都与此类似,如前面用到的min、max、sort等。这里为这种类型的函数取一个名字,称为数组支持函数。对下面章节中出现的数组支持函数,如无特别的调用格式,则对其调用方法不作特别说明。另外sum函数还提供给用户一个选项,该选项可限定运算结果的类型,如sum(…,‘double’)限定结果为double型,即使输入数据为整型,默认情况会返回double型。技术凝聚实力专业创新出版9.4.2求积prod函数用于数据序列求积,其使用方法与sum函数相似,是一种数组支持函数,调用格式为:prod(A)prod(A,dim)技术凝聚实力专业创新出版9.4.3求累计和、积和差分除了一般的求和与求积,MATLAB还定义了两种累积运算,即累积和、累积积,分别由函数cumsum、cumprod实现。累积求和、累积求积函数都是数组支持函数,相应的调用格式为:cumsum(A)cumsum(A,dim)cumprod(A)cumprod(A,dim)技术凝聚实力专业创新出版9.5均值和方差技术凝聚实力专业创新出版9.6数据预处理数据传输、处理可能存在一些随机错误,从而使数据出现缺失或异常等现象,这对后续的数据分析有可能存在不利的影响。本节将采用MATLAB中一些常用的数据预处理方法来解决数据的缺失和异常问题。这些在数据分析之前进行。技术凝聚实力专业创新出版9.6.1处理缺失数据缺失数据的处理是一个非常困难的问题,随根据具体问题的不同,处理方法也各异。为了数据分析的方便,将缺失数据用NaN表示是一个非常便利的方法。NaN是MATLAB的一个特殊数据,即“NotaNumber”,MATLAB规定,NaN参与的数学运算结果均为NaN。例如向量,对其求和、积,结果均为NaN。在MATLAB命令窗口输入以下代码。x=[1,2,NaN,4];sum(x),prod(x)运行结果如下。ans=NaNans=NaN技术凝聚实力专业创新出版9.6.2处理奇异值数据传输、处理的错误可能是数据发生异常,对异常数据可以采用与缺失数据相似的处理方法,即去除异常数据。至于异常数据的标准,将视具体问题而定,实际中经常使用的一种标准是:与平均值的偏差大于3倍标准差。技术凝聚实力专业创新出版9.7统计分析统计分析是一种既古老又现代的数据分析方法,特别是随着近现代概率论、统计学的发展,统计分析成为数据分析、数据挖掘的主要方法。本节从统计学的角度介绍数据分析的相关内容,包括概率分布、随机数生成、直方图分析和数据统计函数。技术凝聚实力专业创新出版9.7.1关于数学符号的说明这里列出本节中经常使用的一些数学符号,并对其做简要说明,技术凝聚实力专业创新出版9.7.2几种重要的概率分布随机变量的概率分布唯一惟一地由概率密度函数决定,可以分为离散型和连续型两大类,技术凝聚实力专业创新出版9.7.3生成随机数数据仿真、系统仿真是实验研究的重要手段,而随机数的生成几乎是仿真研究中不可缺少的。MATLAB统计工具箱针对每种概率分布有对应的随机数生成函数,这些函数都是基于rand或randn(不同的随机数生成函数与rand、randn的依赖关系如表9.7所示)。rand生成[0,1]上均匀分布的随机数;randn生成的随机数服从均值为0方差为1的高斯分布。这两个函数都可以生成一维、二维直至N维随机数数组,调用格式为rand(M,N,P,…)和randn(M,N,P,…)。技术凝聚实力专业创新出版9.7.4数据直方图分析技术凝聚实力专业创新出版9.7.5数据统计函数概率密度函数可以全面地描述数据的统计性质,当给定某一概率分布的数据样本时,要想得到概率密度函数往往是很困难的,而且有时也是不必要的。实际上除了概率分布外,还有很多概念可以描述数据的统计分布,如数据中心化程度、数据散布程度等。MATLAB利用下面函数描述数据中心:geomean,几何均值;harmmean,调和均值;mean,算术均值;median,中位数;trimmean,修正均值,即除部分最大值和最小值之后的均值。技术凝聚实力专业创新出版9.8小结本章为读者介绍了MATLAB数据分析基本内容,通过本章的学习,读者应熟练掌握以下内容。数据的序列分析数据均值、方差分析缺失、异常数据预处理随机数生成数据的统计分析
本文标题:完全手册:MATLAB使用详解-第9章__数据分析
链接地址:https://www.777doc.com/doc-3968360 .html