Curve Fitting Toolbox

主要功能

  • 用于曲线和曲面拟合的 Curve Fitting 应用程序
  • 使用自定义方程求解线性和非线性回归
  • 具有优化起始点和解算参数的回归模型库
  • 插值方法,包括 B 样条、薄板样条和张量积样条
  • 平滑方法,包括平滑样条、局部回归、Savitzky-Golay 滤波和移动平均数
  • 预处理例程,包括偏值移除和分段、缩放和加权数据
  • 后处理例程,包括插值、外推、置信区间、积分和导数
Surface generated using the Curve Fitting app.

使用 Surface Fitting Tool 生成的曲面。该工具支持多种拟合方法,包括线性回归、非线性回归、插值和平滑。

使用 Curve Fitting Toolbox

Curve Fitting Toolbox 提供最广泛应用的拟合曲线和曲面数据的方法,包括线性和非线性回归、样条和插值以及平滑。该工具箱提供稳健回归的选项,以拟合包含偏值的数据集。所有算法都可通过函数或 Curve Fitting 应用程序访问。

使用 Surface Fitting Tool 将多个候选模型拟合到单个数据序列。

使用 Curve Fitting 应用程序将多个候选模型拟合到单个数据序列。您可以直观地比较拟合的曲面,或使用拟合优度测量方法,比如 R2、调整后的 R2、误差平方和、均方根误差。

交互式数据拟合

Curve Fitting 应用程序简化了常规任务,包括:

  • 从 MATLAB® 工作区导入数据
  • 实现数据的可视化,以执行探索性数据分析
  • 使用多种拟合算法生成拟合结果
  • 评估模型的精确度。
  • 执行后处理分析,包括插值和外推、生成置信区间、计算积分和导数
  • 将拟合结果导出到 MATLAB 工作区,供进一步分析。
  • 自动生成 MATLAB 代码,以捕获工作数据和自动执行任务
使用 Surface Fitting Tool 生成的 MATLAB 函数。

使用 Curve Fitting 应用程序生成的 MATLAB 函数。

利用命令行

利用命令行可以编制自定义函数,供分析和可视化使用。这些函数使您能够:

  • 用新数据集重复分析
  • 用多个数据集重复分析(批处理)
  • 将拟合例程嵌入 MATLAB 函数
  • 扩充工具箱的基本功能

Curve Fitting Toolbox 为命令行拟合提供了简单而直观的语法,如以下示例所示:

  • 线性回归:fittedmodel = fit([X,Y], Z, 'poly11');
  • 非线性回归:fittedmodel = fit(X, Y, 'fourier2');
  • 插值:fittedmodel = fit([Time,Temperature], Energy, 'cubicinterp');
  • 平滑:fittedmodel = fit([Time,Temperature], Energy, 'lowess', ‘spanâ€, 0.12);

拟合操作的结果存储在一个叫做 “fittedmodel.†的对象中。通过将某一方法应用于此对象,可以执行绘图、评估和计算积分与导数等后处理分析,如以下示例所示:

  • 绘图:plot(fittedmodel)
  • 差分:differentiate(fittedmodel, X, Y)
  • 评估:fittedmodel(80, 40)

Curve Fitting Toolbox 可从交互式拟合转移到命令行。使用该应用程序可以自动生成 MATLAB 代码。还可以使用该应用程序创建拟合对象,并将其导出到 MATLAB 工作区,以供进一步分析。

用自定义可视化方法扩充工具箱的功能。

用自定义可视化方法扩充工具箱的功能。热图的颜色对应于拟合曲面与参考模型之间的偏差。

回归

Curve Fitting Toolbox 支持线性和非线性回归。

线性回归

该工具箱支持 100 多种回归模型,包括:

  • 线和面
  • 高次多项式(曲线最高达九阶,曲面最高达五阶)
  • 傅立叶级数与幂级数
  • 高斯
  • 威布尔函数
  • 指数
  • 有理函数
  • 正弦的和

所有这些标准回归模型都包括优化的解算参数和起始条件,以提高拟合质量。另外,您也可以使用“Custom Equation”选项,指定您自己的回归模型。

在 Curve Fitting 应用程序中,可通过使用下拉菜单,生成基于复杂参数模型的拟合。 在命令行下,您可以使用直观的名称访问相同的模型。

使用第二阶傅立叶级数的非线性回归。

使用第二阶傅立叶级数的非线性回归。您可以将参数 "fourier" 传递到拟合命令(左上),或在拟合编辑器中选择第二阶傅立叶级数(右上)。

使用 Surface Fitting Tool 的“Custom Equation”选项生成的曲面。

使用 Curve Fitting 应用程序的“自定义方程”(Custom Equation) 选项生成的曲面。您可以指定一个自定义方程或输入一个 MATLAB 函数。

利用 Curve Fitting Toolbox 中的回归分析选项,您可以:

  • 在两种稳健回归类型中选择:双平方或最小绝对残差
  • 指定解算的起始条件
  • 限制回归系数
  • 选择信赖域算法或 Levenberg-Marquardt 算法
Surface Fitting Tool 中的 Fit Options GUI。

使用 Curve Fitting 应用程序调整拟合选项。您可以控制稳健回归的类型、最优化解算的选择和有关起始条件和约束的最优化解算的行为。

样条和插值

Curve Fitting Toolbox 支持多种插值方法,包括 B 样条、薄板样条和张量积样条。Curve Fitting Toolbox 提供高级样条操作的函数,包括断点/节点操作、优化节点放置和数据点加权。

三次 B 样条和用于计算该样条的四次多项式。

三次 B 样条和用于计算该样条的四次多项式。样条是用于在大的区间上表示函数的平滑分段的多项式。

可采用 PP 形式和 B 形式表示多项式样条。PP 形式从断点和局部多项式系数的角度来描述样条,在对样条进行详细评估时很有用。B 形式把样条描述为 B 样条的线性组合,具体来说是节点序列和 B 样条系数。

Curve Fitting Toolbox 还支持其他类型的插值,包括:

  • 线性插值
  • 最近邻点插值
  • 分段三次插值
  • 双谐曲面插值
  • 分段三次 Hermite 插值多项式 (PCHIP)

用于构造样条近似值的 Curve Fitting Toolbox 命令可容纳向量值栅格数据,使您能够以任意维数创建曲线和曲面。

使用 Surface Fitting Tool 的线性插值。

使用 Curve Fitting 应用程序的线性插值。

平滑

平滑算法广泛用于消除数据集内的噪点,同时保留重要的形态。Curve Fitting Toolbox 支持平滑样条和局部回归,使您能够生成预测模型,而无需指定变量间的函数关系。

局部回归模型。

局部回归模型。平滑技术可用于生成预测模型,而无需指定变量间的参数关系。

非参数拟合 4:07
当无法用函数形式描述变量间的关系时,开发一个预测模型。

Curve Fitting Toolbox 支持使用一次多项式 (lowess) 或二次多项式 (loess) 的局部回归。该工具箱还提供稳健的局部回归选项,以容纳数据集内的偏值。Curve Fitting Toolbox 还支持移动平均平滑法,如 Savitzky-Golay 滤波。

使用 Savitzky-Golay 滤波的探索性数据分析。

使用 Savitzky-Golay 滤波的探索性数据分析。利用平滑数据可以识别周期分量。

预览和预处理数据

Curve Fitting Toolbox 支持的工作流非常全面,从探索性数据分析 (EDA) 到模型开发和比较,再到后处理分析,无所不包。

您可以采用二维或三维方式标绘数据集。该工具箱提供一些选项,可以删除偏值、分割数据序列、加权或排除数据点。

Curve Fitting Toolbox 使您可以自动居中和缩放数据集,实现数据标准化并提高拟合质量。当变量尺度存在很大差异或不同维度的数据点之间距离变动时,可以使用居中和缩放选项。

使用居中和缩放选项实现数据标准化,以提高拟合质量。

使用居中和缩放选项实现数据标准化,以提高拟合质量。

使用 Curve Fitting Tool 排除偏值。

使用 Curve Fitting 应用程序排除异常值(上)您可以创建排除规则(左中),删除符合某些指定条件的所有数据点,也可以使用图形化排除选项(底部),单击数据点并将其从样本中删除。

使用 Surface Fitting Tool 权衡数据点。

使用 Curve Fitting 应用程序权衡数据点。

开发、比较和管理模型

利用 Curve Fitting Toolbox,您可以将多个候选模型拟合到一个数据集。然后,您可以结合使用描述性统计、目视检查和验证等方法,评估拟合优度。

描述性统计

Curve Fitting Toolbox 提供一系列的描述性统计,包括:

  • R 平方和调整后的 R 平方
  • 误差平方和及均方根误差
  • 自由度

拟合表在一个可排序的表中列出了所有的候选模型,使您能够快速比较和对比多个模型。

Surface Fitting Tool,提供了候选模型的可排序表。

Curve Fitting 应用程序,提供了候选模型的可排序表。

数据的目视检查

使用该工具箱,您可以目视检查候选模型,发现那些在汇总统计中难以察觉的拟合问题。例如,您可以:

  • 生成并行排列的曲面图和残差图,搜索残差中的形态
  • 同时绘制多个模型,比较它们拟合关键区域内数据的好坏程度
  • 将两个模型之间的差异绘作一个新曲面
使用 Surface Fitting Tool 生成的曲面。

使用 Curve Fitting 应用程序生成的曲面。热图的颜色对应于拟合曲面与参考模型之间的偏差。

验证技术

Curve Fitting Toolbox 支持验证技术,可帮助防止过度拟合。您可以使用训练数据集生成预测模型,将您的模型应用于验证数据集,然后评估拟合优度。

    后处理分析

在选择了可最佳描述您的数据序列的曲线或曲面后,便可以执行后处理分析。Curve Fitting Toolbox 使您可以:

  • 创建绘图
  • 使用模型来估计值(评估)
  • 计算置信区间
  • 创建预测边界
  • 确定曲线下的面积(积分)
  • 计算导数
使用 Curve Fitting Tool 进行后处理分析。

使用 Curve Fitting 应用程序进行后处理分析,将自动创建原始数据的散点图以及拟合曲线。还会显示拟合曲线的一阶导数和二阶导数。

以下示例显示命令行下的后处理如何将直观的命令应用于拟合操作所创建的对象:

  • 评估:EnergyConsumption = fittedmodel(X, Y)
  • 绘图:EnergySurface = plot(fittedmodel)
  • 积分:Volume_Under_Surface = quad2d(fittedmodel, Min_X, Max_X, Min_Y, Max_Y)
  • 差分:Gradient = differentiate(fittedmodel, X,Y)
  • 计算置信区间:Confidence_Intervals = confint(fittedmodel)
使用命令行后处理来计算和绘制坡度。

使用命令行后处理来计算和绘制坡度。

试用 Curve Fitting Toolbox

获取试用版软件

MATLAB和Simulink在能源与电力行业的应用

观看网上技术交流会录像