Main Content

PiecewiseLinearDistribution

分段线性概率分布对象

说明

PiecewiseLinearDistribution 对象包含分段线性概率分布的模型描述。

分段线性分布是使用累积分布函数 (cdf) 的分段线性表示创建的非参数化概率分布。为分段线性分布指定的选项指定 cdf 的形式。概率密度函数 (pdf) 是阶跃函数。

分段线性分布使用以下参数。

参数描述
xx 值组成的向量,cdf 在这些值处改变斜率
Fx由对应于 x 中每个值的 cdf 值组成的向量

创建对象

使用 makedist 创建一个具有指定的参数值对象的 PiecewiseLinearDistribution 概率分布。

属性

全部展开

分布参数

累积分布函数 (cdf) 在此处改变斜率的数据值,指定为由标量值组成的向量。

数据类型: single | double

x 中每个值处的 cdf 值,指定为由标量值组成的向量。

数据类型: single | double

分布特性

此 属性 为只读。

截尾分布的逻辑标志,指定为逻辑值。如果 IsTruncated 等于 0,则分布不会截尾。如果 IsTruncated 等于 1,则分布会截尾。

数据类型: logical

此 属性 为只读。

概率分布的参数数目,指定为正整数值。

数据类型: double

此 属性 为只读。

分布参数值,指定为标量值组成的向量。

数据类型: single | double

此 属性 为只读。

概率分布的截尾区间,指定为包含截尾下界和上界的标量值的向量。

数据类型: single | double

其他对象属性

此 属性 为只读。

概率分布名称,指定为字符向量。

数据类型: char

此 属性 为只读。

分布参数描述,指定为字符向量元胞数组。每个单元格包含一个分布参数的简短描述。

数据类型: char

此 属性 为只读。

分布参数名称,指定为字符向量元胞数组。

数据类型: char

对象函数

cdf累积分布函数
icdf逆累积分布函数
iqrInterquartile range of probability distribution
mean概率分布的均值
medianMedian of probability distribution
pdf概率密度函数
plotPlot probability distribution object
random随机数
std概率分布的标准差
truncateTruncate probability distribution object
var概率分布的方差

示例

全部折叠

使用默认参数值创建一个分段线性分布对象。

pd = makedist('PiecewiseLinear')
pd = 
  PiecewiseLinearDistribution

F(0) = 0
F(1) = 1

计算数据的经验累积分布函数 (cdf),并使用经验 cdf 的逼近创建一个分段线性分布对象。

加载样本数据。使用直方图可视化患者体重数据。

load patients
histogram(Weight(strcmp(Gender,'Female')))
hold on
histogram(Weight(strcmp(Gender,'Male')))
legend('Female','Male')

Figure contains an axes object. The axes object contains 2 objects of type histogram. These objects represent Female, Male.

直方图显示数据有两种模式,一种适用于女性患者,一种适用于男性患者。

计算数据的经验 cdf。

[f,x] = ecdf(Weight);

通过每五个点取一个值来构造经验 cdf 的分段线性逼近。

f = f(1:5:end);
x = x(1:5:end);

对经验 cdf 和逼近绘图。

figure
ecdf(Weight)
hold on
plot(x,f,'ko-','MarkerFace','r') 
legend('Empirical cdf','Piecewise linear approximation', ...
    'Location','best')

Figure contains an axes object. The axes object with xlabel x, ylabel F(x) contains 2 objects of type stair, line. These objects represent Empirical cdf, Piecewise linear approximation.

使用经验 cdf 的分段逼近创建一个分段线性概率分布对象。

pd = makedist('PiecewiseLinear','x',x,'Fx',f)
pd = 
  PiecewiseLinearDistribution

F(111) = 0
F(118) = 0.05
F(124) = 0.13
F(130) = 0.25
F(135) = 0.37
F(142) = 0.5
F(163) = 0.55
F(171) = 0.61
F(178) = 0.7
F(183) = 0.82
F(189) = 0.94
F(202) = 1

基于该分布生成 100 个随机数。

rng('default') % For reproducibility
rw = random(pd,[100,1]);

绘制这些随机数,直观地将其分布与原始数据进行比较。

figure
histogram(Weight)
hold on
histogram(rw)
legend('Original data','Generated data')

Figure contains an axes object. The axes object contains 2 objects of type histogram. These objects represent Original data, Generated data.

从分段线性分布生成的随机数具有与原始数据相同的双峰分布。

版本历史记录

在 R2013a 中推出