这个示例展示了如何使用曲线拟合工具箱™将多项式拟合到六度以下的一些普查数据。它还展示了如何拟合一个单项指数方程,并将其与多项式模型进行比较。
步骤显示如何:
使用不同的库模型加载数据并创建适合的版本。
通过比较图形拟合结果来搜索最合适,并通过比较数值拟合结果,包括拟合系数和拟合统计的良好。
本示例的数据是文件普氏.Mat.
.
负载人口普查
工作区包含两个新变量:
Cdate.
是一个禁区矢量,含有10年的10年至1990年的增量。
流行
列向量是美国人口数据对应的年份吗Cdate.
.
谁Cdate.流行
名称大小字节类属性cdate 21x1 168双pop 21x1 168 double
情节(Cdate,Pop,'o')
使用适合
函数来拟合多项式到数据。你用字符串指定一个二次或二次多项式'poly2'
.的第一个输出适合
是多项式,第二个输出,gof
,包含您将在后面的步骤中检查的拟合优度统计数据。
[人口2,GOF] = FIT(CDate,POP,'poly2');
要绘制契合,请使用情节
函数。在左上角添加一个图例。
情节(人口2,Cdate,Pop);传奇('地点',“西北”);
为了拟合不同程度的多项式,改变拟合类型字符串,例如,为三次或三次多项式使用“poly3”
.输入的规模,Cdate.
,非常大,因此您可以通过居中和缩放数据来获得更好的结果。为此,使用“正常化”
选项。
population3 =适合(cdate、流行、“poly3”,“正常化”,“上”);population4 =适合(cdate、流行、“poly4”,“正常化”,“上”);population5 =适合(cdate、流行、“poly5”,“正常化”,“上”);人口6 =适合(Cdate,Pop,'poly6',“正常化”,“上”);
一个简单的人口增长模型告诉我们指数方程应该很好地符合这个人口普查数据。适合单一术语指数模型,使用'exp1'
fittype。
人口展开(Cdate,Pop,'exp1');
立即绘制所有适合,并在情节的左上角添加有意义的图例。
持有在情节(population3“b”);情节(人口4,'G');情节(population5'M');情节(人口6,'B--');情节(人民),'r--');持有离开传奇(“cdate v流行”,'poly2',“poly3”,“poly4”,“poly5”,'poly6','exp1',...'地点',“西北”);
绘制残差,指定“残差”
的情节类型情节
函数。
情节(人口2,Cdate,Pop,“残差”);
多项式方程的拟合和残差都是相似的,因此很难选择最好的。
如果残差显示系统模式,则这是一个明确的标志,模型适合数据很差。
情节(populationExp cdate、流行、“残差”);
单级指数方程的拟合和残差表明整体上的差。因此,它是一个糟糕的选择,您可以从候选人中删除指数拟合以获得最佳合适。
检查到2050年的行为。拟合人口普查数据的目的是外推最佳拟合来预测未来的人口价值。
默认情况下,拟合在数据的范围内绘制。要在不同的范围内绘制拟合,请在绘制拟合之前设置轴的X限制。例如,要查看从拟合外推的值,请将上X限制设置为2050。
情节(Cdate,Pop,'o');xlim((1900、2050));持有在情节(人口6);持有离开
检查情节。超出数据范围的六次多项式拟合的行为使它成为一个糟糕的外推选择,你可以拒绝这种拟合。
绘制预测间隔,使用“predobs”
要么“predfun”
作为情节类型。例如,要查看到2050年的新观测的五次多项式的预测边界:
情节(Cdate,Pop,'o');XLIM([1900,2050])持有在情节(population5“predobs”);持有离开
三次多项式的绘图预测间隔高达2050年的:
情节(Cdate,Pop,'o');XLIM([1900,2050])持有在情节(population3“predobs”) 抓住离开
结构gof
显示了拟合统计数据'poly2'
合身。当你创造的时候'poly2'
适合适合
在较早的步骤中的功能,您指定了gof
输出参数。
gof
gof =结构与字段:SSE:159.0293 RSQUARE:0.9987 DFE:18 adjrsquare:0.9986 RMSE:2.9724
检查误差平方和(SSE)和调整后的r平方统计数据,以帮助确定最佳拟合。SSE统计量为拟合的最小二乘误差,其值越接近零表示拟合越好。当您向模型添加额外的系数时,调整后的r平方统计量通常是拟合质量的最佳指标。
为大盘上交所'exp1'
表示它是一种糟糕的契合,您已经通过检查拟合和残留物来确定。最低的SSE值与'poly6'
.但是,这种适合超出数据范围的行为使其成为外推的差,因此您已经通过检查新轴限制来拒绝这种拟合。
下一个最佳的SSE值与第五型多项式合适相关,“poly5”
,建议它可能是最合适的。然而,剩余多项式适合的SSE和调整后的R平方值彼此非常接近。你应该选择哪一个?
通过检查剩余适合的系数和置信度来解决最佳拟合问题:第五程度多项式和二次。
检查population2
和population5
通过显示模型、拟合系数和拟合系数的置信界限:
population2
系数(95%置信限):p1 = 0.006541 (0.006124, 0.006958) p2 = -23.51 (-25.09, -21.93) p3 = 2.113e+04 (1.964e+04, 2.262 2e+04)
population5
人口5 =线性模型Poly5:群体5(x)= p1 * x ^ 5 + p2 * x ^ 4 + p3 * x ^ 3 + p4 * x ^ 2 + p5 * x + p6,其中x由平均1890和std 62.05标准化。系数(具有95%置信度):P1 = 0.5877(-2.305,3.48)P2 = 0.7047(-1.684,3.094)P3 = -0.9193(-10.19,8.356)P4 = 23.47(17.42,29.52)P5 = 74.97(68.37,81.57)P6 = 62.23(59.51,64.95)
您还可以通过使用conf
:
ci = confint (population5)
ci =2×6.-2.3046 -1.6841 -10.1943 17.4213 68.3655 59.5102 3.4801 3.0936 8.3558 29.5199 81.5696 64.9469
系数上的置信度界限决定了它们的准确性。检查FIT方程(例如f (x) = p1 * x + p2 *……
)来查看每个系数的模型项。请注意,P2.
指的是p2 * x.
术语'poly2'
和p2 * x ^ 4
术语“poly5”
.不要将归一化系数直接与非归一化系数进行比较。
界限十字零P1
,P2.
, 和P3.
五次多项式的系数。这意味着你不能确定这些系数不等于零。如果高阶模型项的系数可能为零,则对拟合没有帮助,这表明该模型对人口普查数据拟合过度。
对于每个归一化多项式方程,与常数,线性和二次术语相关联的拟合系数几乎相同。然而,随着多项式程度的增加,与高度术语相关的系数边界交叉零,这表明拟合。
然而,小的置信度界不会越过零P1
,P2.
, 和P3.
对于二次配合,表明拟合系数是相当准确的。
因此,在检查图形和数值拟合结果之后,应该选择二次曲线population2
作为推断人口普查数据的最佳拟合。
现在你选择了最合适的,population2
,对于推断此人口普查数据,评估适合某些新查询点:
cdateFuture =(2000:10:2020)。';popFuture = population2 (cdateFuture)
popfuture =3×1274.6221 301.8240 330.3341
要计算未来人口预测的95%置信界限,使用pred
方法:
CI =预先(人口2,CdateFuture,0.95,'观察')
ci =3×2266.9185 282.3257 293.5673 310.0807 321.3979 339.2702
根据拟合和数据,用置信区间绘制预测的未来人口。
情节(Cdate,Pop,'o');xlim((1900、2040))在图(人口2)H =误差栏(Cdatefuture,Popfuture,Popfuture-Ci(:,1),CI(:,2) - 缺水,“。”);持有离开传奇(“cdate v流行”,'poly2','预言',...'地点',“西北”)
有关更多信息,请参阅多项式模型.