主要内容

曲线拟合和分布拟合

这个例子展示了如何执行曲线拟合和分布的拟合,并讨论了在每个方法是适当的。

曲线拟合和分布拟合之间做出选择

曲线拟合和分布拟合是不同类型的数据分析。

  • 你想模型时使用曲线拟合响应变量作为一个预测变量的函数。

  • 使用分布拟合当你想一个单一变量的概率分布模型。

曲线拟合

在接下来的实验数据,预测变量时间后,药物的摄入。响应变量是浓缩的,血液中药物的浓度。假设只响应数据浓缩的由实验误差的影响。

时间= (0.1 0.1 0.3 0.3 1.3 1.7 2.1 2.6 3.9 3.95.1 5.6 6.2 6.4 7.7 8.1 8.2 8.9 9.0 9.59.6 10.2 10.3 10.8 11.2 11.2 11.2 11.7 12.1 12.312.3 13.1 13.2 13.4 13.7 14.0 14.3 15.4 16.1 16.116.4 16.4 16.7 16.7 17.5 17.6 18.1 18.5 19.3 19.7];浓缩的= [0.01 0.08 0.13 0.16 0.55 0.90 1.11 1.62 1.79 1.591.83 1.68 2.09 2.17 2.66 2.08 2.26 1.65 1.70 2.392.08 2.02 1.65 1.96 1.91 1.30 1.62 1.57 1.32 1.561.36 1.05 1.29 1.32 1.20 1.10 0.88 0.63 0.69 0.690.49 0.53 0.42 0.48 0.41 0.27 0.36 0.33 0.17 0.20];

假设你想模型血液浓度作为时间的函数。情节浓缩的时间

情节(时间、浓缩的“o”);包含(“时间”);ylabel (的血药浓度);

图包含一个坐标轴对象。坐标轴对象包含时间,ylabel血药浓度包含一行对象显示它的值只使用标记。

假设浓缩的遵循两个参数威布尔曲线的函数时间。威布尔曲线的形式和参数

y = c ( x / 一个 ) ( b - - - - - - 1 ) e - - - - - - ( x / 一个 ) b ,

在哪里 一个 是一个水平扩展, b 是一个形状参数, c 是一个垂直扩展。

符合威布尔模型用非线性最小二乘法。

modelFun = @ (p, x) p (3) . * (x / p (1)) ^ (p (2) 1)。* exp (- (x / p(1)) ^(2)页);startingVals = (10 2 5);nlModel = fitnlm(时间、浓缩的modelFun startingVals);

威布尔曲线绘制到数据。

xgrid = linspace (20100 0) ';线(xgrid预测(nlModel xgrid),“颜色”,“r”);

图包含一个坐标轴对象。坐标轴对象包含时间,ylabel血药浓度包含2线类型的对象。一个或多个行显示的值只使用标记

符合威布尔模型是有问题的。fitnlm假设实验错误添加剂和来自一个对称的分布在恒定的方差。然而,散点图显示误差方差曲线的高度成正比。此外,添加剂,对称的错误暗示一个消极的血药浓度测量是可能的。

一个更现实的假设是乘法错误在对数尺度是对称的。在这个假设下,符合威布尔曲线通过双方的日志数据。用非线性最小二乘法来适应曲线:

日志 ( y ) = 日志 ( c ) + ( b - - - - - - 1 ) 日志 ( x / 一个 ) - - - - - - ( x / 一个 ) b

nlModel2 = fitnlm(时间、日志(浓缩的)@ (p, x)日志(modelFun (p (x)), startingVals);

添加新的曲线到现有的阴谋。

线(xgrid exp(预测(nlModel2 xgrid)),“颜色”(0 5 0),“线型”,“——”);传奇({“原始数据”,“添加剂错误模式”,“乘法错误模式”});

图包含一个坐标轴对象。坐标轴对象包含时间,ylabel血药浓度包含3线类型的对象。一个或多个行显示的值只使用这些对象标记代表原始数据,添加剂错误模型,乘法误差模型。

模型对象nlModel2包含的估计精度。一个最佳实践是检查模型的拟合优度。例如,使剩余的情节在对数尺度为乘法检查恒定方差的假设错误。

在这个例子中,使用乘法误差模型对模型的预测几乎没有影响。为例,模型的类型有更多的影响,明白了缺陷在转换到线性拟合非线性模型

函数曲线拟合

  • 统计和机器学习工具箱™包括这些函数拟合模型:fitnlm非线性最小二乘模型,fitglm广义线性模型,fitrgp高斯过程回归模型,fitrsvm支持向量金宝app机回归模型。

  • 曲线拟合工具箱™提供命令行和图形在曲线拟合工具简化任务。例如,工具箱提供了自动选择开始为各种模型系数值,以及健壮的和非参数拟合的方法。

  • 优化工具箱™函数来执行复杂类型的曲线拟合分析,如分析模型和约束系数。

  • MATLAB®函数polyfit符合多项式模型和MATLAB函数fminsearch是有用的其他类型的曲线拟合。

分布拟合

假设您想的电子元件寿命分布模型。的变量生活措施失败的时间50相同的电子元件。

生活= [6.2 16.1 16.3 19.0 12.2 8.1 8.8 5.9 7.3 8.216.1 12.8 9.8 11.3 5.1 10.8 6.7 1.2 8.3 2.34.3 2.9 14.8 4.6 3.1 13.6 14.5 5.2 5.7 6.55.3 6.4 3.5 11.4 9.3 12.4 18.3 15.9 4.0 10.48.7 3.0 12.1 3.9 6.5 3.4 8.5 0.9 9.9 7.9];

可视化数据直方图。

binWidth = 2;lastVal =装天花板(max ());binEdges = 0: binWidth: lastVal + 1;h =直方图(生活,binEdges);包含(“时间失败”);ylabel (“频率”);ylim ([0 10]);

图包含一个坐标轴对象。坐标轴对象包含时间失败,ylabel频率包含一个直方图类型的对象。

因为寿命数据通常遵循一个威布尔分布,一种方法可能是使用威布尔从先前的曲线拟合曲线的例子以适应直方图。尝试这种方法,将直方图转换成点集(x, y),其中x是本中心和y是一个本的高度,然后用曲线的点。

数量= histcounts(生活,binEdges);binCtrs = binEdges (1: end-1) + binWidth / 2;h。FaceColor = [。9。9。9);持有情节(binCtrs计数,“o”);持有

图包含一个坐标轴对象。坐标轴对象包含时间失败,ylabel频率直方图类型的对象包含2,线。一个或多个行显示的值只使用标记

直方图拟合曲线,然而,是有问题的,一般不推荐。

  1. 最小二乘拟合的过程中违反了基本假设。箱子数量是负的,这意味着不能对称测量误差。此外,本计算有不同的变化的尾巴比中心分布。最后,箱子数量有一个固定的金额,这意味着它们不是独立的测量。

  2. 如果你符合威布尔曲线杆高度,你必须约束曲线由于直方图是一个按比例缩小的版本的经验概率密度函数(pdf)。

  3. 连续的数据,拟合曲线数据直方图而不是丢弃信息。

  4. 柱状图中的条形依赖于本边缘和本宽度的选择。

对于许多参数分布,最大似然是一个更好的方法来估计参数,因为它避免了这些问题。威布尔pdf几乎相同的形式为威布尔曲线:

y = ( b / 一个 ) ( x / 一个 ) ( b - - - - - - 1 ) e - - - - - - ( x / 一个 ) b

然而, b / 一个 取代了尺度参数 c 因为函数必须整合为1。适合使用最大似然的威布尔分布数据,使用fitdist并指定“威布尔”作为分配名称。与最小二乘法、最大似然发现一个pdf最匹配的威布尔比例直方图没有最小化的平方之和pdf和酒吧高度之间的差异。

pd = fitdist(生活,“威布尔”);

画一个按比例缩小的直方图数据和重叠的pdf。

h =直方图(生命、binEdges“归一化”,“pdf”,“FaceColor”,(。9。9。9]);包含(“时间失败”);ylabel (的概率密度);ylim (0.1 [0]);xgrid = linspace (20100 0) ';pdf = pdf (pd, xgrid);线(xgrid, pdf)

图包含一个坐标轴对象。坐标轴对象包含时间失败,ylabel概率密度直方图类型的对象包含2,线。

一个最佳实践是检查模型的拟合优度。

虽然一个直方图拟合曲线通常不推荐,这个过程在某些情况下是合适的。例如,看到的符合自定义分布

功能分布拟合

  • 统计和机器学习工具箱™包括函数fitdist数据拟合概率分布对象。它还包括专用配件(如功能wblfit使用最大似然)拟合参数分布,功能大中型企业配件定制分布没有专用的拟合函数,这个函数ksdensity数据拟合非参数分布模型。

  • 统计和机器学习工具箱还提供了分布更健康应用,简化了许多任务分布拟合,生成可视化和诊断等情节。

  • 函数优化工具箱™使您能够适应复杂的分布,包括那些与约束参数。

  • MATLAB®函数fminsearch提供最大的可能性分布拟合。

另请参阅

|||||||||

相关的话题