主要内容

评估曲线拟合

这个例子展示了如何使用曲线拟合。

负荷数据与拟合多项式曲线

负载人口普查curvefit =适合(cdate、流行、“poly3”“正常化”“上”
系数(95%置信限):p1 = 0.921 (-0.9743, 2.816) p2 = 25.18 (23.57, 26.79) p3 = 73.86 (70.33, 77.39) p4 = 61.74 (59.69, 63.8)

输出显示拟合模型方程、拟合系数和拟合系数的置信界限。

绘制拟合、数据、残差和预测界限

情节(curvefit cdate流行)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表数据、拟合曲线。

绘制残差拟合图。

情节(curvefit cdate、流行、“残差”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示数据,零线。

绘制拟合的预测界限。

情节(curvefit cdate、流行、“predfunc”

图中包含一个轴对象。轴对象包含4个类型为line的对象。这些对象代表数据、拟合曲线、预测边界。

在指定点计算拟合值

通过指定的值来计算在特定点上的适合度x,请使用以下表格:y = fittedmodel (x)

curvefit (1991)
ans = 252.6690

评估多点的拟合值

评估模型在一个向量的价值外推到2050年。

ξ=(2000:10:2050)。';curvefit (xi)
ans =6×1276.9632 305.4420 335.5066 367.1802 400.4859 435.4468

获得这些值的预测界限。

ci = predint (curvefit xi)
ci =6×2267.8589 286.0674 294.3070 316.5770 321.5924 349.4208 349.7275 384.6329 378.7255 422.2462 408.5919 462.3017

在外推拟合范围内绘制拟合和预测区间。默认情况下,拟合是在数据范围内绘制的。要查看从匹配中推断出的值,在绘制匹配之前将坐标轴的x上限设置为2050。要绘制预测区间,使用predobspredfun作为情节类型。

情节(cdate、流行,“o”) xlim((1900、2050))情节(curvefit“predobs”)举行

图中包含一个轴对象。轴对象包含4个类型为line的对象。这些对象代表拟合曲线、预测边界。

得到模型方程

输入拟合名称以显示模型方程、拟合系数和拟合系数的置信界限。

curvefit
系数(95%置信限):p1 = 0.921 (-0.9743, 2.816) p2 = 25.18 (23.57, 26.79) p3 = 73.86 (70.33, 77.39) p4 = 61.74 (59.69, 63.8)

要得到模型方程,请使用公式

公式(curvefit)
= 'p1*x^ 2 + p2*x^2 + p3*x + p4'

获取系数名称和值

通过名称指定一个系数。

p1 = curvefit.p1
p1 = 0.9210
p2 = curvefit.p2
p2 = 25.1834

得到所有系数的名称。看看拟合方程(例如,f (x) = p1 * x ^ 3 +……)来查看每个系数的模型项。

coeffnames (curvefit)
ans =4 x1细胞{'p1'} {'p2'} {'p3'} {'p4'}

得到所有的系数值。

coeffvalues (curvefit)
ans =1×40.9210 25.1834 73.8598 61.7444

得到系数的置信限

使用系数的置信界限来帮助您评估和比较适合度。系数的置信界限决定了它们的准确性。距离很远的界限表明不确定性。如果线性系数的边界为零,这意味着你不能确定这些系数与零不同。如果某些模型项的系数为零,那么它们对拟合没有帮助。

confint (curvefit)
ans =2×4-0.9743 23.5736 70.3308 59.6907 2.8163 26.7931 77.3888 63.7981

检查拟合优度统计

要在命令行中获得合适的统计信息,您可以:

  • 打开曲线拟合app并选择Fit >保存到工作区导出您的适合和适合的优点到工作空间。

  • 指定gof使用适合函数。

重新创建适合指定gof和输出参数,得到拟合优度统计信息和拟合算法信息。

[gof curvefit,输出]=适合(cdate、流行、“poly3”“正常化”“上”
系数(95%置信限):p1 = 0.921 (-0.9743, 2.816) p2 = 25.18 (23.57, 26.79) p3 = 73.86 (70.33, 77.39) p4 = 61.74 (59.69, 63.8)
gof =结构体字段:Sse: 149.7687 rsquare: 0.9988 dfe: 17 adjrsquare: 0.9986 rmse: 2.9682
输出=结构体字段:nummobs: 21 numparam: 4 residuals: [21x1 double] Jacobian: [21x4 double] exitflag: 1 algorithm: 'QR分解和求解' iterations: 1

绘制残差的直方图来寻找一个粗略的正态分布。

直方图(output.residuals, 10)

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

绘制拟合、数据和残差

情节(curvefit cdate、流行、“健康”“残差”传说)位置西南次要情节(2,1,1)传奇位置西北

图中包含2个轴对象。坐标轴对象1包含2个类型为line的对象。这些对象代表数据、拟合曲线。axis对象2包含2个类型为line的对象。这些对象表示数据,零线。

找到方法

列出每一个适合你的方法。

方法(curvefit)
方法类cfit: argnames限制公式numcoeffs setoptions类dependnames indepnames plot类型cfit differentiate集成predint coeffnames feval islinear probnames coeffvalues fitoptions numargs probvalues

使用帮助命令找出如何使用合适的方法。

帮助cfit /区分
DIFFERENTIATE区分适合的结果对象。derivative =微分(FITOBJ,X)在X指定的点上微分模型FITOBJ,并在derivative中返回结果。FITOBJ是Fit或CFIT函数生成的Fit对象。X是一个向量。派生1是与X大小相同的向量。从数学上讲,派生1 = D(FITOBJ)/D(X)。[DERIV1,DERIV2] =微分(FITOBJ, X)分别计算模型FITOBJ的一阶导数和二阶导数,分别为DERIV1和DERIV2。参见CFIT/ integration, FIT, CFIT。