此示例显示如何使用曲线拟合工具箱™将多项式适用于某些人口普查数据。它还展示了如何符合单级指数方程并将其与多项式模型进行比较。
步骤显示如何:
使用不同的库模型加载数据并创建适合。
通过比较图形拟合结果来搜索最合适,并通过比较数值拟合结果,包括拟合系数和拟合统计的良好。
此示例的数据是文件普氏.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);传奇('地点'那'西北');
为了适应不同程度的多项式,改变Fittype字符串,例如,用于立方或三度多项式使用'poly3'
。输入的规模,Cdate.
,非常大,因此您可以通过居中和缩放数据来获得更好的结果。为此,使用'正常化'
选项。
人口3 =适合(Cdate,Pop,'poly3'那'正常化'那'上');人口4 =适合(Cdate,Pop,'poly4'那'正常化'那'上');人口5 =适合(Cdate,Pop,'poly5'那'正常化'那'上');人口6 =适合(Cdate,Pop,'poly6'那'正常化'那'上');
一个简单的人口增长模型告诉我们指数方程应该很好地符合这个人口普查数据。适合单一术语指数模型,使用'exp1'
作为fittype。
人口展开(Cdate,Pop,'exp1');
立即绘制所有适合,并在情节的左上角添加有意义的图例。
抓住上情节(人口3,'B');情节(人口4,'G');情节(人口5,'M');情节(人口6,'B--');情节(人民),'r--');抓住离开传奇('cdate v pop'那'poly2'那'poly3'那'poly4'那'poly5'那'poly6'那'exp1'那......'地点'那'西北');
绘制残差,指定'残留'
作为地块类型阴谋
功能。
情节(人口2,Cdate,Pop,'残留');
多项式方程的拟合和残留物都是相似的,使得难以选择最好的。
如果残差显示系统模式,则这是一个明确的标志,模型适合数据很差。
绘图(人群,Cdate,Pop,'残留');
单级指数方程的拟合和残差表明整体上的差。因此,它是一个糟糕的选择,您可以从候选人中删除指数拟合以获得最佳合适。
审查适合于2050年的行为。拟合人口普查数据的目标是推断最适合预测未来人口价值的目标。
默认情况下,拟合在数据的范围内绘制。要在不同的范围内绘制拟合,请在绘制拟合之前设置轴的X限制。例如,要查看从拟合外推的值,请将上X限制设置为2050。
情节(Cdate,Pop,'o');XLIM([1900,2050]);抓住上情节(人口6);抓住离开
检查情节。六程度多项式拟合超出数据范围的行为使其成为外推的良好选择,您可以拒绝这种合适。
绘制预测间隔,使用'predbs'
或者'predfun'
作为情节类型。例如,为了看到第五次多项式的预测范围,对于2050年的新观察:
情节(Cdate,Pop,'o');XLIM([1900,2050])持有上情节(人口5,'predbs');抓住离开
三次多项式的绘图预测间隔高达2050年的:
情节(Cdate,Pop,'o');XLIM([1900,2050])持有上情节(人口3,'predbs') 抓住离开
结构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统计通常是拟合质量的最佳指标。
大型上衣'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%的信心界,使用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 pop'那'poly2'那'预言'那......'地点'那'西北')
有关更多信息,请参阅多项式模型。