主要内容

交互式装配

基本适配UI

MATLAB®Basic Fitting UI允许您交互:

  • 使用样条插值、保形插值或十次多项式对数据进行建模

  • 一个或多个图与数据相吻合

  • 绘制拟合的残差

  • 计算模型系数

  • 计算残差的范数(可以用来分析模型与数据吻合程度的统计数据)

  • 使用模型来插入或推断数据外部

  • 将系数和计算值保存到MATLAB工作区中,以便在对话框之外使用

  • 生成MATLAB代码以重新计算与新数据重新计算

请注意

基本拟合UI仅适用于2-D图。有关更先进的拟合和回归分析,请参阅曲线拟合工具箱™文档和统计和机器学习工具箱™文档。

准备基本舾装

基本拟合UI在拟合之前按升序排序您的数据。如果您的数据集很大并且这些值不按升序排序,则基本拟合UI需要更长的时间在拟合之前预处理数据。

你可以通过对你的数据进行排序来加快Basic Fitting UI的速度。要创建排序向量x_sorted.y_sorted来自数据向量xy,使用MATLAB种类功能:

[x_sorted, i] = sort(x);y_sorted = y(我);

打开基本配件UI

要使用Basic Fitting UI,必须首先在图形窗口中绘制数据,使用任何产生(仅)xy数据。

要打开基本配件UI,请选择基本配件从图窗口顶部的菜单中。

示例:使用基本拟合UI

这个例子展示了如何使用Basic Fitting UI来拟合、可视化、分析、保存和生成多项式回归的代码。

加载和绘制普查数据

该文件普氏.Mat.包含1790年至1990年的美国人口数据,每10年一次。

要加载和绘制数据,请在MATLAB提示符下键入以下命令:

负载人口普查情节(Cdate,Pop,“罗”

负载命令将以下变量添加到MATLAB工作空间:

  • cdate-列向量,包含从1790年到1990年的年份,以10为增量。它是预测变量。

  • 流行-列向量与美国人口每年在cdate.它是响应变量。

数据向量按年升序排列。这幅图显示了人口与年的关系。

现在可以用数据拟合一个方程来模拟人口随时间的增长。

用三次多项式拟合预测人口普查数据

  1. 通过选择打开“基本装配”对话框基本配件在图形窗口中。

  2. 在里面适合的类型区域,选择立方复选框可将三次多项式拟合到数据中。

    MATLAB使用您的选择来拟合数据,并如下所示将立方回归线添加到图表中。

    在计算拟合时,MATLAB遇到问题并发出以下警告:

    这个警告表明,模型的计算系数对响应(测量的总体)中的随机误差很敏感。它还建议了一些你可以做得更好的事情。

  3. 继续使用立方拟合。由于不能向普查数据添加新的观察结果,因此可以通过转换必须的值来提高拟合性z得分在重新计算之前。选择中心和缩放x轴数据选择对话框右上方的复选框,以使Basic Fitting工具执行转换。

    要了解数据如何居中和缩放,请参阅了解基本配件工具如何计算适合

  4. 误差估计(残差),选择规范的残差复选框。选择酒吧随着情节风格

选择这些选项将创建一个条形图形式的残差子图。

立方体契合是1790年之前的预测器,其中表示人口减少。该模型似乎在1790后合理地近似数据。然而,残差中的模式表明该模型不符合正常误差的假设,这是最小二乘拟合的基础。的数据1图例中标识的线是观察到的xcdate),y流行)数据值。的立方回归线表示对数据值进行定心和缩放后的拟合。请注意,该图显示了原始数据单元,尽管该工具使用转换后的z分数计算适合度。

为进行比较,尝试拟合另一个多项式方程的人口普查数据,选择它适合的类型区域。

查看并保存立方拟合参数

在“基本试装”对话框中,单击扩展结果按钮显示估计的系数和残差的范数。

单击。将合适的数据保存到MATLAB工作区出口到工作区按钮的数值结果面板。打开“Save Fit to Workspace”对话框。

选中所有复选框后,单击好的将拟合参数保存为MATLAB结构适合

适合
type: '多项式度3' coeff: [0.9210 25.1834 73.8598 61.7444]

现在,您可以在Basic Fitting UI之外,在MATLAB编程中使用拟合结果。

R2,决定系数

你可以得到一个指示,多项式回归预测你观察到的数据有多好通过计算确定系数,或者R-Square(写成R2).R2Statistic的范围从0到1,用来衡量自变量在预测因变量值时的有用程度:

  • R2近0附近的值表明拟合并不大于模型y =常数

  • R2值接近1表示自变量解释了因变量的大部分可变性。

R2是由残差,即观察到的相依值与拟合预测值之间的符号差异。

残差= y观察到的- y安装 (1)

R2本例中立方拟合的编号0.9988位于合适的结果在基本试衣对话框中。

来比较R2数为三次拟合到线性最小二乘拟合,选择线性适合的类型得到R2号,0.921。这一结果表明,总体数据的线性最小二乘拟合解释了92.1%的方差。由于该数据的三次拟合可以解释99.9%的方差,后者似乎是一个更好的预测器。然而,由于三次拟合使用三个变量(xx2, 和x3.),基本的R2价值并没有完全反映适合度有多强。评价多元拟合优度的一种更合适的方法是调整R2.有关计算和使用调整后的R的信息2,请参阅剩余和健康的善良

插入和外推人口价值

假设您想要使用立方模型来插值1965年的美国人口(原始数据中没有提供的日期)。

在“基本试衣”对话框中插入/推断数据,输入X值为1965,并检查情节评估数据盒子。

请注意

使用unscale和un居中X值。您不需要首先居中和缩放,即使您选择缩放X值来获得系数用三次多项式拟合预测人口普查数据.基本拟合工具在幕后进行必要的调整。

X值和相应的值f (X)由拟合计算并绘制如下图:

生成代码文件以再现结果

在完成一个基本拟合阶段之后,您可以生成MATLAB代码,用新数据重新计算拟合并重新生成绘图。

  1. 在Figure窗口中,选择文件>生成代码

    这将创建一个函数并在MATLAB编辑器中显示它。该代码向您展示了如何以编程方式再现使用Basic Fitting对话框交互完成的操作。

  2. 将第一行中的函数名更改为创作者更具体的东西,就像censusplot.用文件名将代码文件保存到当前文件夹中Censusplot.m.该功能始于:

    function censusplot(X1, Y1, valuesToEvaluate1)函数

  3. 生成一些新的随机扰动的人口普查数据:

    RNG('默认')随机变量=随机变量+ 10*随机变量(size(pop));
  4. 用新数据重新绘制图并重新计算拟合:

    censusplot (cdate randpop, 1965)

    你需要三个输入参数:x, y值(数据1)绘制在原始图中,加上一个x-value用于标记。

    下图显示生成的代码产生的曲线。新绘图与您生成的图形的外观相匹配,除了y数据值,立方拟合的等式,以及栏图中的残余值,如预期。

了解基本配件工具如何计算适合

基本拟合工具调用polyfit函数来计算多项式拟合。它调用多尔函数来评估适合。polyfit分析其输入,以确定数据是否符合要求的拟合程度。

当它发现严重条件数据时,polyfit计算回归以及它可以,但它也返回了可以提高拟合的警告。基本配件例子用三次多项式拟合预测人口普查数据显示此警告。

增加数据点是提高模型可靠性的一种方法。然而,向数据集添加观测结果并不总是可行的。另一种方法是将预测变量的中心和尺度进行归一化。(在这个例子中,预测器是人口普查日期的向量。)

polyfit函数通过计算归一化z得分

z x μ. σ.

在哪里x是预测的数据,μ.x, 和σ.的标准差是多少x.的z-scores给出数据的平均值为0,标准差为1。在Basic Fitting UI中,将预测器数据转换为z选择通过选择中心和缩放x轴数据复选框。

定心和定标后,计算模型系数y作为函数的数据z.它们与计算得到的系数不同(而且更健壮)y作为一个函数x.模型的形式和残差的范数不变。基本适配UI自动缩放z-得分,使拟合的plot在相同的规模上的原始x数据。

要了解所居中和缩放数据用作中介以创建最终图的方式,请在“命令”窗口中运行以下代码:

近装人口普查x = cdate;y =流行;z = (x-mean (x) /性病(x);%计算x个数据的z分数情节(x, y,“罗”%标绘数据为红色标记持有%准备轴以接受顶部的新图形zfit = linspace (z(1)、z(结束),100);pz = polyfit (z, y, 3);计算条件拟合yfit = polyval (pz、zfit);xfit = linspace (x(1),(结束),100);情节(xfit yfit,'b-'%图条件拟合vs. x数据

中心和缩放三次多项式图为一条蓝线,如图所示:

在代码中,计算z说明如何规范化数据。的polyfit如果你在调用函数时提供了三个返回参数,函数将执行转换本身:

(p, S,μ)= polyfit (x, y, n)
返回的回归参数,p,现在是基于标准化的x.返回向量,,包含的均值和标准差x.有关更多信息,请参见polyfit参考页面。