概率分布是基于对源总体的假设的理论分布。分布将概率分配给随机变量具有特定的离散值或落在特定的连续值范围内的事件。
Statistics and Machine Learning Toolbox™提供了几种处理概率分布的方法。
概率分布对象—通过将概率分布拟合到样本数据或指定参数值来创建概率分布对象。然后,使用对象函数来评估分布,生成随机数,等等。
应用程序和交互式用户界面-交互式拟合和探索概率分布使用分布更健康应用程序,概率分布函数用户界面和随机数生成工具(randtool
)
特定分布函数和一般分布函数-这些函数在生成随机数,在循环或脚本中计算汇总统计信息,以及将cdf或pdf作为函数句柄传递给另一个函数时很有用。还可以使用这些函数对参数值数组而不是一组参数执行计算。
有关Statistics和机器学习工具箱支持的发行版列表万博1manbetx,请参见万博1manbetx支持分布.
概率分布对象允许您将概率分布拟合到样本数据,或通过指定参数值定义分布。然后可以对分布对象执行各种分析。
利用抽样数据拟合一个概率分布对象来估计概率分布参数fitdist
.您可以将单个指定的参数或非参数分布适合于样本数据。还可以基于分组变量将相同类型的多个分布适合于样本数据。对于大多数发行版,fitdist
利用最大似然估计(MLE)从样本数据估计分布参数。有关更多信息和其他语法选项,请参见fitdist
.
或者,您可以使用以下方法创建具有指定参数值的概率分布对象makedist
.
一旦你创建了一个概率分布对象,你可以使用对象函数来:
将概率分布对象保存到。mat文件中:
在工具栏中,单击保存工作空间.此选项保存工作区中的所有变量,包括任何概率分布对象。
在工作区浏览器中,右键单击概率分布对象并选择另存为.此选项仅保存选定的概率分布对象,而不保存工作空间中的其他变量。
或者,您也可以通过使用命令行直接保存概率分布对象保存
函数。保存
允许您选择文件名并指定要保存的概率分布对象。如果不指定对象(或其他变量),MATLAB®将工作区中的所有变量(包括任何概率分布对象)保存到指定的文件名中。有关更多信息和其他语法选项,请参见保存
.
这个例子展示了如何使用概率分布对象对拟合分布执行多步分析。
分析说明了如何:
加载示例数据。
负载examgrades
样本数据包含一个120乘5的考试成绩矩阵。考试的分数从0分到100分。
创建一个包含考试成绩数据第一列的向量。
x =成绩(:1);
将样本数据拟合为正态分布fitdist
创建一个概率分布对象。
pd = fitdist (x,“正常”)
正态分布mu = 75.0083 [73.4321, 76.5846] sigma = 8.7202 [7.7391, 9.98843]
fitdist
返回一个概率分布对象,pd
的类型NormalDistribution
.该对象包含估计的参数值,μ
和σ
为拟合的正态分布。参数估计旁边的区间是分布参数的95%置信区间。
使用拟合分布对象计算学生考试成绩的平均值,pd
.
m =意味着(pd)
m = 75.0083
考试成绩的平均值等于μ
参数估计fitdist
.
绘制考试成绩的直方图。覆盖一个拟合pdf图直观地比较拟合的正态分布与实际考试成绩。
x_pdf = [1:0.1:100];y = pdf (pd, x_pdf);图直方图(x,“归一化”,“pdf”)线(x_pdf, y)
拟合分布的pdf遵循与考试成绩直方图相同的形状。
使用逆累积分布函数(icdf
).这个边界等价于概率分布的cdf等于0.9的值。换句话说,90%的考试成绩小于或等于临界值。
0.9 = icdf (pd)
一个= 86.1837
根据拟合的分布,10%的学生获得了86.1837分以上的考试成绩。同样,90%的学生的考试分数低于或等于86.1837。
保存拟合的概率分布,pd
,作为文件名myobject.mat
.
保存(“myobject.mat”,“pd”)
应用程序和用户界面提供了一种处理参数和非参数概率分布的交互方法。
的分布更健康应用程序允许你交互式地拟合概率分布到你的数据。您可以显示不同类型的图,计算置信范围,并评估数据的拟合性。您还可以从fit中排除数据。您可以保存数据,并将fit作为概率分布对象导出到您的工作空间,以执行进一步的分析。
从应用程序选项卡加载Distribution Fitter应用程序,或通过输入distributionFitter
在命令窗口中。有关更多信息,请参见使用分布Fitter应用程序建模数据.
的概率分布函数用户界面直观地探索概率分布。通过输入,可以加载概率分布函数用户界面disttool
在命令窗口中。
随机数生成用户界面从指定的分布生成随机数据,并将结果导出到您的工作空间。您可以使用这个工具来研究更改参数和样本大小对分布的影响。
随机数生成用户界面允许你设置分布的参数值,并改变它们的上下限;从相同的分布中抽取另一个样本,使用相同的尺寸和参数;并将当前的随机样本导出到您的工作空间以供进一步分析使用。通过一个对话框,您可以为示例提供名称。
使用特定于分布的函数和通用分布函数对于生成随机数、在循环或脚本中计算汇总统计信息以及将cdf或pdf作为函数处理另一个函数。还可以使用这些函数对参数值数组而不是一组参数执行计算。
这个示例展示了如何使用特定于分布的函数对拟合的分布执行多步骤分析。
分析说明了如何:
您可以使用概率分布对象执行相同的分析。看到利用概率分布对象分析分布.
加载示例数据。
负载examgrades
样本数据包含一个120乘5的考试成绩矩阵。考试的分数从0分到100分。
创建一个包含考试成绩数据第一列的向量。
x =成绩(:1);
将样本数据拟合为正态分布normfit
.
(μ、σmuCI sigmaCI] = normfit (x)
μ= 75.0083
σ= 8.7202
muCI =2×173.4321 - 76.5846
sigmaCI =2×17.7391 - 9.9884
的normfit
函数返回正态分布参数的估计和参数估计的95%置信区间。
绘制考试成绩的直方图。覆盖一个拟合pdf图直观地比较拟合的正态分布与实际考试成绩。
x_pdf = [1:0.1:100];y = normpdf (x_pdf、μ、σ);图直方图(x,“归一化”,“pdf”)线(x_pdf, y)
拟合分布的pdf遵循与考试成绩直方图相同的形状。
用正态反累积分布函数确定学生考试成绩的前10%的边界。这个边界等价于概率分布的cdf等于0.9的值。换句话说,90%的考试成绩小于或等于临界值。
一个= norminv(0.9μ、σ)
一个= 86.1837
根据拟合的分布,10%的学生获得了86.1837分以上的考试成绩。同样,90%的学生的考试分数低于或等于86.1837。
将估计的分布参数保存为一个名为myparameter.mat
.
保存(“myparameter.mat”,“亩”,“σ”)
这个例子展示了如何使用概率分布函数normcdf
作为卡方拟合优度检验中的函数句柄(chi2gof
).
本示例测试输入向量中包含的样本数据的null假设,x
,来自一个带参数的正态分布µ和σ等于平均值(的意思是
)及标准偏差(性病
)的样本数据。
rng (“默认”)%的再现性x = normrnd (5100 1);h = chi2gof (x),“提供”, {@normcdf,意味着(x),性病(x)})
h = 0
返回的结果h = 0
表明chi2gof
在默认的5%显著性水平上不拒绝零假设。
下面的例子演示了如何在切片采样器(slicesample
).本例使用normpdf
从标准正态分布中随机生成2000个值的样本,并绘制结果值的直方图。
rng (“默认”)%的再现性x = slicesample (2000,“pdf”@normpdf,“薄”5,“燃烧”, 1000);直方图(x)
直方图显示,使用时normpdf
,得到的随机样本是标准正态分布。
如果你通过指数分布的概率分布函数pdf (exppdf
)作为函数句柄而不是normpdf
,然后slicesample
从指数分布中生成2,000个随机样本,默认参数值为µ等于1。
rng (“默认”)%的再现性x = slicesample (2000,“pdf”@exppdf,“薄”5,“燃烧”, 1000);直方图(x)
直方图表明,使用时产生的随机样本exppdf
具有指数分布。
fitdist
|makedist
|randtool
|分布更健康|概率分布函数