学习matlab(四)——概率与数理统计

风格不统一 提交于 2020-02-10 20:21:36

概率和数理统计是大学数学的重要内容,无论是在科学研究还是在工程实际中都有着非常广泛的应用。在MATLAB中,提供了专门的统计工具箱Staticstics,该工具箱有几百个专用于求解概率和数理统计问题的函数。本章将详细的介绍随机数的产生,随机变量的概率密度函数和数字特征,以及假设检验、方差分析和统计绘图等。

0.随机数

随机数的产生是概率统计的基础,概率论和数理统计就是对各种样本数据进行分析。在MATLAB中,各种样本数据可以用一些经典的随机分布数来表示。下面对常用的二项分布、均匀分布、指数分布、正态分布等随机数据进行详细的介绍。

<1>二项分布随机分布

在MATLAB中,使用函数binornd()产生二项分布的随机数据。该函数的的调用方式如下:R=binornd(N,P):在该函数中N和P为二项分布的两个参数,返回服从参数为N和P的二项分布随机数。R=binornd(N,P,M):在该函数中参数M指定随机数的个数,与返回结果R同维数。

<2>泊松分布

在MATLAB中,使用函数poissrnd()产生泊松分布的随机数据。该函数的调用方式如下:R=poissrnd(LAMBDA):在该函数中LAMBDA为泊松分布的参数,返回服从参数为LAMBDA的泊松分布随机数,其中R与LAMBDA维数相同。R=poissrnd(LAMBDA,M,N):在该函数中LAMBDA为泊松分布的参数,返回服从参数为LAMBDA的泊松分布随机数矩阵

<3>指数分布

在MATLAB中,使用函数exprnd()生成具有指数分布的随机数据。其调用格式如下:R=exprnd(MU):该函数返回一个以MU为参数的指数分布的随机数,其中R和MU同维数。R==exprnd(MU,M,N):该函数返回一个以MU为参数的指数分布的随机数矩阵

<4>均匀分布

(1)连续型

在MATLAB中,使用函数unifrnd()生成连续型均匀分布的随机数据。该函数的调用方式如下:R=unifrnd(A,B):返回区间[A,B]上的连续型均匀分布。R=unifrnd(A,B,M,N):返回区间[A,B]上的连续型均匀分布矩阵。

(2)离散型

在MATLAB中,使用函数unidrnd( )生成离散型均匀分布的随机数据。该函数的调用方式如下:R=unidrnd(N):返回一个离散型均匀分布,R和N同维数;R=unidrnd(N, MM, NN):返回一个离散型均匀分布矩阵,

<5>正态分布

在MATLAB中,采用函数normrnd( )生成参数为MU和SIGMA的正态分布随机数据。该函数的调用方式如下:R=normrnd(MU, SIGMA):该函数返回均值为MU,标准差为SIGMA的正态分布随机数据,其中R可以为向量,也可以为矩阵。R=normrnd(MU, SIGMA, M):该函数中参数M指定随机数的个数,与返回值R维数相同。R=normrnd(MU, SIGMA, M, N):该函数返回一个的矩阵。

对于其他常见分布的随机数据的产生,其函数调用方式与上面相同。表中列出了常用的随机数据产生函数。对于这些函数的详细使用情况用户可以通过MATLAB的帮助系统进行查看,或通过在命令行输入help和函数名查看某函数的功能和使用方法

1.概率密度分布函数

函数binopdf( )产生二项分布密度函数,调用格式为:Y=binopdf(X, N, P),产生参数为N和P的二项分布。函数poisspdf()产生泊松分布的密度函数,调用格式为:Y=poisspdf(X, LAMBDA),产生参数为LAMBDA的泊松分布。函数geopdf()产生几何分布的密度函数,该函数的调用格式为: Y=geopdf(X, P)。对于离散型均匀分布,采用函数unidpdf( )函数来产生概率密度函数,其调用格式为Y=unidpdf(X, n),离散型均匀分布的参数为n,输出参数Y和输入参数X有相同的维数。

在MATLAB中,采用函数unifpdf( )计算连续型均匀分布的密度函数,其调用格式为Y=unifpdf(X, A, B),该函数产生区间[A, B]上的均匀分布。在MATLAB中,采用函数exppdf( )产生指数分布概率密度函数,其调用格式为Y=exppdf(X, MU),该函数产生参数为MU的指数分布,参数MU的默认值为1。输出参数Y和输入参数X可以为向量,也可以为矩阵,有相同的维数。在MATLAB中,采用函数normpdf( )产生正态分布的概率密度函数,其调用格式为Y=normpdf(X, MU, SIGMA),该函数产生参数为MU和SIGMA的正态分布。参数MU和SIGMA的默认值分别为0和1,即标准正态分布。

<1>抽样分布

1.卡方分布,在MATLAB中,采用函数chi2pdf( )产生卡方分布,该函数的调用格式为Y=chi2pdf(X, V),该函数产生自由度为V的卡方分布,输出参数Y和输入参数X有相同的维数。2. t分布,在MATLAB中,利用函数tpdf( )实现t分布的概率密度函数,其调用格式为Y=tpdf(X, V),产生自由度为V的t分布。3. F分布,在MATLAB中,采用函数fpdf( )产生F分布的概率密度函数,其调用格式为: Y=fpdf(X, V1, V2),其中V1为第一自由度,V2为第二自由度。

2.平均值和中位值

在MATLAB中,采用函数mean( )计算一组 样本数据的算术平均值,其调用格式为:y=mean(X):该函数返回X的平均值,当X为向量时,返回X中各元素的算术平均值;当X为矩阵时,返回X中各列元素的算术平均值构成的向量。y=mean(X, DIM):该函数返回在给定的维数DIM上的算术平均值。

在MATLAB中,函数nanmean( )用于求一组数据中除了NaN以外的数据的算术平均值,其调用格式为:Y=nanmean(X):该函数返回X中除NaN以外的算术平均值。当X为向量时,返回X中各元素的算术平均值;当X为矩阵时,返回X中各列元素的算术平均值构成的向量。Y=nanmean(X,DIM):该函数返回在给定的维数DIM上的除NaN以外的数据的算术平均值。

MATLAB中,采用函数geomean( )来计算样本数据的几何平均数。

在MATLAB中,采用函数harmmean( )计算样本数据的调和平均数。

中位数是样本数据中大小位于中间的那个数。在MATLAB中,使用函数median()计算样本数据的中位数。该函数的调用格式为:Y=median(X):该函数返回X中数据的中位数,当X为向量时,返回X中各元素的中位数;当X为矩阵时,返回X中各列元素的中位数组成的向量。Y=median(X, DIM):该函数返回在给定的维数DIM上的中位数。

忽略NaN的中位数,是指样本数据中除了NaN以外的数据中大小位于中间的数。在MATLAB中,利用函数nanmedian()计算样本数据中除NaN以外的数据的中位数。该函数的调用格式为:Y=nanmedian(X): 该函数返回X中除NaN以外的数据的中位数,当X为向量时,返回X中除NaN以外各元素的中位数;当X为矩阵时,返回X中除NaN以外各列元素的中位数组成的向量。Y=nanmedian(X, DIM):该函数返回在给定的维数DIM上的除NaN以外的中位数。

3.排序

数据的排序不仅包括数据的排序,还包括求数据的最大值和最小值等。下面分别进行介绍。1.数据的排序:在MATLAB中,采用函数sort( )对数据进行排序;2.按行进行数据排序:在MATLAB中,使用函数sortrows( )进行按行数据排序;3.求最大值和最小值:在MATLAB中,使用函数range()求数据中最大值和最小值之差。使用函数minmax( }获取数据的最大值和最小值。

4.期望和方差

期望和方差是是刻画随机变量性质的两个最重要的数字特征是概率论和数理统计中非常重要的内容。数字特征能够比较容易的估算出来,在理论和实践上都具有重要的意义。期望和方差的计算是概率论和数理统计的基础。1、使用函数mean()来计算样本数据的期望。2、采用函数var()来计算样本数据的方差。3、采用函数std()来计算样本数据的标准差。

下面对一些常见分布的期望和方差进行计算,主要包括二项分布、均匀分布、正态分布、指数分布、t分布和F分布等:1、函数binostat( )计算二项分布的期望和方差。2、函数unifstat( )计算均匀分布的期望和方差。3、函数normstat()计算正态分布的期望和方差。4、函数expstat()计算指数分布的期望和方差。5、函数tstat( )计算t分布的期望和方差。6、函数fstat()计算F分布的期望和方差。

5.协方差和相关系数

在MATLAB中,利用函数cov( )计算协方差,调用格式为:C=cov(X):输入参数可以为向量和矩阵。当X为向量时,该函数的返回值为该向量的方差。当输入参数X为矩阵时,矩阵的每一行代表一组样本数据,每一列代表一个变量,该函数的返回值为该矩阵的协方差矩阵。C=cov(X, Y):该函数计算输入参数X和Y的协方差矩阵,其中输入参数X和Y的行数和列数相同。在MATLAB中,采用函数corrcoef( )计算相关系数。

6.斜偏度和峰度

偏斜度和峰度是用来表示随机变量分布的形状与对称形式。在MATLAB中,采用函数skewness( )计算样本数据的偏斜度。在MATLAB中,采用函数kurtosis( )计算随机变量的峰度。

7.参数估计、区间估计、假设检验

<1>参数估计

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

<2>区间估计

区间估计会得到未知参数的置信区间,下面介绍均匀分布、指数分布、Beta分布和正态分布的参数估计。1、利用函数unifit()计算均匀分布的参数估计。2、利用函数expfit()计算指数分布的参数估计。3、利用函数betafit( )计算Beta分布的参数估计。4、采用函数normfit()计算正态分布的参数估计。

在进行假设检验时,首先提出假设,然后在认为此假设成立的条件下,选择合适的统计量,最后做出判断。下面介绍常用的几种假设检验。

<3>假设检验

(1)方差已知时正态总体均值

在MATLAB中,如果已知总体的方差和均值时,使用函数ztest()进行假设检验。

(2)方差未知时正态总体均值的假设检验

在MATLAB中,如果总体的方差和均值未知时,使用函数ttest()进行假设检验。

(3)两个正态分布均值差的检验

如果两个正态分布的方差未知但相等时,在MATLAB中用函数ttest2()用于比较两个正态分布样本均值的假设检验。

(4)7.5.4两个分布一致性检验

在MATLAB中,利用函数ranksum( )函数进行两个分布一致性的检验,即秩和检验。

8.方差分析

方差分析( Analysis of Variance, ANOVA) 是数理统计中常用的数据处理方法之一。一个复杂的事物,例如产品的质量,受到很多因素的影响,这些因素既相互制约又相互依存。方差分析的目的是通过数据分析找到对该事物有显著影响的因素。本节只介绍一种或两种因素对实验结果有无显著影响的情况。只有一种因素的情形称为单因素方差分析,有两种因素的情形称为双因素方差分析。

单因素方差分析是指实验中只有一个因素发生改变。在MATLAB中,单因素方差分析可以采用函数anova1( )来实现。

如果在某项实验中,实验结果受到两个因素的影响,则称该实验为双因素实验。对研究两种因素对实验结果的影响需要进行双因素方差分析。在MATLAB中,双因素方差分析可以采用函数anova2( )来实现。

MATLAB具有很强的数据可视化能力,能够将数理统计中的数据绘制成图形,用图形进行更加形象的描述。下面介绍如何利用MATLAB来绘制统计图。在MATLAB中,采用函数tabulate( )产生正整数的频率表,该函数的调用格式为: T=tabulate(X)。 输入参数为正整数构成的向量,返回值包含3列,第1列为向量的不重复的值;第2列为这些值出现的次数;第3列为这些值对应的频率。

在MATLAB中,采用函数boxplot( )来绘制样本数据的盒图。该函数的调用格式为: H=boxplot(X, 'param1', val1,'param2', val2, ...)。该函数的输入参数为矩阵,绘制每一列的盒图。

在MATLAB中,使用函数Isline( )绘制最小二乘拟合直线,Isine:返回已知样本数据的最小二乘拟合直线,可以使用除‘-、‘一'和.-'之外的其它线条样式绘制图形。h=lsine:该函数返回函数句柄。

在MATLAB中,使用函数normplot( )绘制正态分布概率图,该函数的调用格式为:normplot(X):如果输入参数为向量,则显示正态分布的概率图形;如果为矩阵,则显示每--列的正态分布概率图形。H=normplot(X):该函数返回函数句柄。

在MATLAB中,使用函数cdfplot( )绘制经验累积分布函数图,该函数的调用格式为:cdfplot(X):该函数绘制样本数据为的累积分布函数图。输入参数可以为行向量或列向量,代表服从某种特定分布的随机样本。H=cdfplot(X):该函数返回函数句柄。[H, stats]=cdfplot(X):该函数返回样本数据的一些特征:stats.min:样本数据的最小值;stats. max:样本数据的最大值;stats. mean:样本数据的平均值;stats. median:样本数据的中位数;stats.std:样本数据的标准差。

在MATLAB中,使用函数weibplot( )绘制威布尔概率图。绘制威布尔概率图的目的是用图解的法估计来自威布尔
分布的数据。该函数的调用格式为:weibplot(X): 如果输入参数为向量,则显示威布尔概率图;如果为矩阵,则显示每一列的威布尔概率图。如果是威布尔分布数据,那么图形是直线;否则图形可能产生弯曲。H= weibplot (X): 该函数返回所绘制直线的函数句柄。

在MATLAB中,使用函数qqplot( )绘制分位数分位数图。该函数的调用格式为:qqplot(X):该函数的输入参数为行向量或列向量,绘制样本数据和标准正态分布的分位数分位数图。qqplot(X,Y):该函数的输入参数和的分位数分位数图。H=qqplot(凇Y):该函数返回所绘制直线的函数句柄。

在MATLAB中,使用函数refline( )给当前图形加一条参考线。该函数的调用格式为:refline(slope, intercept):该函数的输入参数slope为直线的斜率,intercept为直线的截距。refline(slope):该函数的输入参数slope=[a, b],图中添加的直线为y=a* x+b。H=refline(slope):该函数返回所绘制直线的函数句柄。

在MATLAB中,使用函数refcurve( )给当前图形加一条多项式曲线。该函数的调用格式为:refcurve(p):该函数的输入参数p为多项式系数组成的向量多项式的系数由高到低进行排列。H=refcurve(p):该函数返回所绘制曲线的函数句柄。

在MATLAB中,使用函数capaplot( )绘制样本的概率图形,该函数返回随机变量落入指定区间内的概率。该函数的调用格式为:capaplot(data, specs): 该函数的输入参数data为所给的样本数据,参数specs为指定的区间,函数返回落入该区间的概率。[p, h]=capaplot(data, specs):该函数有两个返回值,p为指定区间的概率,h为所绘制图形的函数句柄。

在MATLAB中,使用函数histfit()绘制带有正态密度曲线的直方图。该函数的调用格式为:histfit(data, nbins):该函数绘制带有正态密度曲线的直方图,输入参数data为所给的样本数据的向量,参数nbins为指定的BAR个数,默认值为data中数据个数的平方根。h=histfit(data, nbins):该函数返回图形的函数句柄。

在MATLAB中,使用函数normspec( )在指定的区间绘制正态密度曲线。该函数的调用格式为:normspec(specs):该函数在指定的区间specs绘制标准正态密度曲线,期望mu和标准差sigma分别为0和1。normspec(specs, mu, sigma):该函数对正态分布的期望和标准差进行设置。[p,h]= normspec(specs, mu, sigma):该函数返回所绘制图形的函数句柄。

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!