此示例显示如何使用曲线拟合工具箱™将多项式适用于某些人口普查数据。它还展示了如何符合单义指数方程并将其与多项式模型进行比较。
这些步骤展示了如何:
使用不同的库模型加载数据并创建适合。
通过比较图形拟合结果,以及比较数值拟合结果(包括拟合系数和拟合优度统计量)来寻找最佳拟合结果。
此示例的数据是文件census.mat
.
加载普查
工作区包含两个新变量:
Cdate.
是一个禁区矢量,含有10年的10年度至1990年的增量。
流行音乐
是与美国人口数据相对应的美国群体矢量Cdate.
.
谁是Cdate.流行音乐
名称大小字节类类属性Cdate 21x1 168 Double Pop 21x1 168 Double
情节(Cdate,Pop,“o”的)
使用合身
函数来拟合多项式到数据。你指定一个二次多项式,用'poly2'
.第一个输出来自合身
是多项式,第二个输出,GOF.
,包含拟合统计的良好您将在后续步骤中检查。
[人口2,GOF] =适合(Cdate,Pop,'poly2');
要绘制拟合,请使用阴谋
功能。在左上角添加一个图例。
情节(population2、cdate、流行);传奇(“位置”那'西北');
为了适应不同程度的多项式,改变配合类型,例如,用于立方或三度多项式使用'poly3'
.输入的规模,Cdate.
,非常大,因此您可以通过居中和缩放数据来获得更好的结果。为此,使用'正常化'
选择。
人口3 =适合(Cdate,Pop,'poly3'那'正常化'那'在');人口4 =适合(Cdate,Pop,'poly4'那'正常化'那'在');人口5 =适合(Cdate,Pop,'poly5'那'正常化'那'在');人口6 =适合(Cdate,Pop,'poly6'那'正常化'那'在');
一个简单的人口增长模型告诉我们指数方程应该很好地符合这个人口普查数据。适合单一术语指数模型,使用'exp1'
作为fittype。
populationExp =适合(cdate、流行、'exp1');
一次绘制所有适合的情节,并在情节的左上角添加一个有意义的传奇。
抓住在情节(人口3,'B');情节(人口4,'G');情节(人口5,“米”);情节(人口6,“b——”);情节(populationExp'r--');抓住离开传奇('Cdate V pop'那'poly2'那'poly3'那'poly4'那'poly5'那'poly6'那'exp1'那......“位置”那'西北');
绘制残差,指定'残留'
作为情节类型阴谋
功能。
情节(population2 cdate、流行、'残留');
多项式方程的拟合和残差是相似的,使得难以选择最好的。
如果残差显示系统模式,则这是一个明确的标志,模型适合数据不佳。
绘图(人群,Cdate,Pop,'残留');
单项指数方程的拟合和残差表明它是一个较差的整体拟合。因此,这是一个糟糕的选择,你可以从最佳拟合的候选中去除指数拟合。
审视拟合的行为到2050年。拟合人口普查数据的目标是推断最适合预测未来人口价值的目标。
默认情况下,拟合在数据的范围内绘制。要在不同的范围内绘制拟合,请在绘制拟合之前设置轴的X限制。例如,要查看从拟合外推的值,请将上X限制设置为2050。
情节(Cdate,Pop,“o”);XLIM([1900,2050]);抓住在情节(人口6);抓住离开
检查情节。六程度多项式拟合超出数据范围的行为使其成为外推的良好选择,您可以拒绝这种合适。
绘制预测间隔,使用'prepobs'
或'predfun'
作为情节类型。例如,为了看到第五程度多项式的预测范围,对于2050年的新观察:
情节(Cdate,Pop,“o”);xlim((1900、2050))在情节(人口5,'prepobs');抓住离开
三次多项式高达2050年的绘图预测间隔:
情节(Cdate,Pop,“o”);xlim((1900、2050))在情节(人口3,'prepobs')举行离开
的结构体GOF.
显示了拟合统计数据'poly2'
健康。当您创建'poly2'
适合合身
在较早的步骤中的功能,您指定了GOF.
输出参数。
GOF.
gof =结构与字段:SSE:159.0293 RSQUARE:0.9987 DFE:18 adjrsquare:0.9986 RMSE:2.9724
检查因错误(SSE)和调整后的R-Square Statistics引起的平方和,以帮助确定最佳拟合。SSE统计是拟合的最小二乘误差,值更接近零,表示更好的拟合。当您向型号添加额外系数时,调整后的R-Square统计通常是拟合质量的最佳指标。
大型SSE'exp1'
表示它是一种糟糕的契合,您已经通过检查拟合和残留物来确定。最低的SSE值与'poly6'
.然而,这种拟合超出了数据范围的行为使其成为一个糟糕的外推选择,因此您已经通过检查带有新轴限制的图来拒绝这种拟合。
下一个最佳的SSE值与第五级多项式合适相关,'poly5'
,暗示这可能是最合适的。然而,剩余多项式拟合的SSE和调整后的r平方值都非常接近。你应该选择哪一个?
通过检查剩余适合的系数和置信度来解决最佳拟合问题:第五程度多项式和二次。
检查人口2
和人口5
通过显示拟合系数的型号,装配系数和置信度界限:
人口2
人口2 =线性模型poly2:群体2(x)= p1 * x ^ 2 + p2 * x + p3系数(95%置信度):p1 = 0.006541(0.006124,0006958)p2 = -23.51(-25.09,-21.93)P3 = 2.113E + 04(1.964E + 04,2.262E + 04)
人口5
人口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 =浓缩(人口5)
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 * x ...
)查看每个系数的模型术语。注意p2
是指p2 * x.
术语'poly2'
和p2 * x ^ 4
术语'poly5'
.不要直接比较标准化系数和非标准化系数。
界限十字零p1
那p2
,p3
第五型多项式的系数。这意味着您无法确定这些系数与零不同。如果更高阶模型术语可能具有零系数,则它们并不有用拟合,这表明该模型符合人口普查数据。
对于每个归一化多项式方程,与常数,线性和二次术语相关联的拟合系数几乎相同。然而,随着多项式程度的增加,与高度术语相关联的系数边界横向零,这表明拟合。
但是,小的置信度界不会越过零p1
那p2
,p3
对于二次拟合,表明拟合系数已知相当准确。
因此,在检查图形和数值拟合结果后,您应该选择二次人口2
最适合推算人口普查数据。
现在你选择了最合适的,人口2
,用于推断该人口普查数据,评估适合一些新的查询点:
Cdatefuture =(2000:10:2020)。';popfuture = panget2(Cdatefuture)
popFuture =3×1274.6221 301.8240 330.3341
在将来对人口预测上计算95%的信心界,使用预先
方法:
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 pop'那'poly2'那'预言'那......“位置”那'西北'的)
有关更多信息,请参阅多项式模型.