学习matlab(四)——概率与数理统计概率和数理统计是⼤学数学的重要内容,⽆论是在科学研究还是在⼯程实际中都有着⾮常⼴泛的应⽤。在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(LA
MBDA):在该函数中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),产⽣参数为LA
MBDA的泊松分布。函数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以外的中位数。
normrnd函数用法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):该函数返回所绘制图形的函数句柄。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论