使用概率分布
概率分布是基于源总体假设的理论分布。分布将概率分配给随机变量具有特定的离散值或落在连续值的指定范围内的事件。
统计和机器学习工具箱™提供了几种处理概率分布的方法。
概率分布对象—通过拟合样本数据的概率分布或指定参数值来创建概率分布对象。然后,使用对象函数计算分布,生成随机数,等等。
应用程序和交互式用户界面-交互拟合和探索概率分布使用分布更健康应用程序,概率分布函数用户界面,以及随机数生成工具(
randtool
)分布特定函数和一般分布函数这些函数用于生成随机数,在循环或脚本中计算汇总统计信息,以及将cdf或pdf作为函数句柄传递给另一个函数。还可以使用这些函数对参数值数组执行计算,而不是对单个参数集执行计算。
有关统计和机器学习工具箱支持的发行版列表,请参见金宝app金宝app支持分布.
概率分布对象
概率分布对象允许您将概率分布拟合到样本数据,或通过指定参数值定义分布。然后可以对分布对象执行各种分析。
创建概率分布对象
用拟合概率分布对象来估计样本数据的概率分布参数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 = mean(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%的考试成绩小于或等于边界值。
A = icdf(pd,0.9)
A = 86.1837
根据拟合分布,10%的学生的考试成绩高于86.1837。同样,90%的学生的考试成绩小于或等于86.1837分。
保存拟合的概率分布,pd
,作为文件命名myobject.mat
.
保存(“myobject.mat”,“pd”)
应用程序和交互式用户界面
应用程序和用户界面提供了一种交互式的方法来处理参数和非参数概率分布。
配配电钳工App
的分布更健康应用程序允许您交互式拟合一个概率分布到您的数据。您可以显示不同类型的图,计算置信范围,并评估数据的拟合。还可以从拟合中排除数据。您可以保存数据,并将拟合作为概率分布对象导出到工作区,以执行进一步的分析。
从Apps选项卡加载Distribution Fitter应用程序,或通过输入distributionFitter
在命令窗口中。有关更多信息,请参见使用分布钳工应用程序建模数据.
概率分布函数工具
的概率分布函数用户界面直观地探索概率分布。输入可以加载概率分布函数用户界面disttool
在命令窗口中。
随机数生成工具
“随机数生成”用户界面从指定的分布生成随机数据,并将结果导出到工作区。您可以使用此工具来探索改变参数和样本量对分布的影响。
随机数生成用户界面允许您为分布设置参数值,并更改其上下限;从相同的分布中抽取另一个样本,使用相同的大小和参数;并将当前随机样本导出到您的工作空间,以用于进一步分析。一个对话框允许您为示例提供一个名称。
分布特定函数和一般分布函数
使用特定于分布的函数和通用分布函数对于生成随机数、在循环或脚本中计算汇总统计信息以及将cdf或pdf作为函数处理到另一个函数。还可以使用这些函数对参数值数组执行计算,而不是对单个参数集执行计算。
使用特定于分布的函数分析分布
这个例子展示了如何使用特定于分布的函数对拟合的分布执行多步分析。
分析说明了如何:
您可以使用概率分布对象执行相同的分析。看到使用概率分布对象分析分布.
加载样例数据。
负载examgrades
样本数据包含一个120 × 5的考试成绩矩阵。这些考试的分值为0到100分。
创建一个包含考试成绩数据第一列的向量。
X =成绩(:,1);
用拟合样本数据的正态分布normfit
.
[mu,sigma,muCI,sigmaCI] = normfit(x)
Mu = 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,mu,sigma);图直方图(x,“归一化”,“pdf”)线(x_pdf, y)
拟合分布的pdf与考试成绩直方图的形状相同。
利用正态逆累积分布函数确定学生考试成绩前10%的边界。这个边界等价于概率分布的cdf等于0.9的值。换句话说,90%的考试成绩小于或等于边界值。
A = norminv(0.9,mu,sigma)
A = 86.1837
根据拟合分布,10%的学生的考试成绩高于86.1837。同样,90%的学生的考试成绩小于或等于86.1837分。
将估计的分布参数保存为一个名为myparameter.mat
.
保存(“myparameter.mat”,“亩”,“σ”)
使用概率分布函数作为函数句柄
这个例子展示了如何使用概率分布函数normcdf
作为卡方拟合优度检验中的函数句柄(chi2gof
).
这个例子检验了零假设,即输入向量中包含的样本数据,x
,来自带参数的正态分布µ而且σ等于均值(的意思是
)和标准差(性病
)的样本数据。
rng (“默认”)%用于再现性X = normrnd(50,5100,1);H = chi2gof(x,“提供”, {@normcdf,意味着(x),性病(x)})
H = 0
返回的结果H = 0
表明chi2gof
在默认的5%显著性水平上不拒绝零假设。
下一个例子说明了如何使用概率分布函数作为切片采样器中的函数句柄(slicesample
).示例使用normpdf
从标准正态分布中生成2,000个值的随机样本,并绘制结果值的直方图。
rng (“默认”)%用于再现性X = slicesample(1,2000,“pdf”@normpdf,“薄”5,“燃烧”, 1000);直方图(x)
直方图显示,当使用normpdf
,得到的随机样本具有标准正态分布。
如果你传递指数分布的概率分布函数pdf (exppdf
)作为函数句柄,而不是normpdf
,然后slicesample
从默认参数值为的指数分布中生成2,000个随机样本µ等于1。
rng (“默认”)%用于再现性X = slicesample(1,2000,“pdf”@exppdf,“薄”5,“燃烧”, 1000);直方图(x)
直方图显示了使用时产生的随机样本exppdf
呈指数分布。
另请参阅
fitdist
|makedist
|randtool
|分布更健康|概率分布函数