Statistics and Machine Learning Toolbox

运用统计与机器学习进行数据分析及建模

 

Statistics and Machine Learning Toolbox™ 提供一系列函数和 App,可用于数据描述、分析和建模。您可以使用描述性统计量、可视化和聚类进行探索性数据分析;对数据进行概率分布拟合;生成用于蒙特卡罗模拟的随机数,以及执行假设检验。借助工具箱提供的回归和分类算法,您可以基于数据进行推断并构建预测模型;您既可选择分类学习器和回归学习器进行交互式操作,也可使用 AutoML 以编程方式操作。

针对多维数据分析和特征提取,此工具箱提供了主成分分析 (PCA)、正则化、降维和特征选择方法,让您能够识别预测能力最强的变量。

此工具箱提供了有监督、半监督和无监督机器学习算法,包括支持向量机 (SVM)、提升决策树、k 均值和其他聚类方法。您可以应用可解释性方法(例如部分依赖图和 LIME),并自动生成 C/C++ 代码以进行嵌入式部署。对于那些无法存储到内存的大型数据集,该工具箱中的许多算法同样适用。

开始:

探索性数据分析

使用包含交互式图形的统计绘图以及描述性统计量,对数据进行探查。使用聚类识别模式和特征。

可视化

使用概率图、箱线图、直方图、分位数-分位数图(Q-Q 图)以及用于多元分析的高级绘图(如树状图、双标图和 Andrews 图),以直观方式探查数据。

使用多维散点图表现各变量之间的关系。

描述性统计量

使用少量关联性强的关键数值,快速理解和描述可能较大的数据集。

使用分组均值和方差探查数据。

聚类分析

通过使用 k 均值、k 中心点、DBSCAN、分层聚类和谱聚类、高斯混合和隐马尔可夫模型对数据分组来发现规律。

将 DBSCAN 应用于两个同心组。

特征提取和降维

将原始数据转化为最适合机器学习的特征。以迭代方式探查和创建新特征,并选择有助于优化性能的特征。

特征提取

使用无监督学习方法(如稀疏滤波和重构 ICA)从数据中提取特征。您还可以使用专门的方法,从图像、信号、文本和数值数据中提取特征。

从移动设备提供的信号中提取特征。

特征选择

自动识别数据建模中预测能力最强的特征子集。特征选择方法包括逐步回归、序列特征选择、正则化和集成法。

NCA 有助于选择可最大程度保留模型准确度的特征。

特征变换和降维

将现有(非分类)特征变换为新的预测变量以实现降维,这些新变量丢弃的描述性特征较少。特征变换方法包括 PCA、因子分析和非负矩阵分解。

PCA 可以在保留大部分信息的情况下,将高维向量投影到低维直角坐标系中。

机器学习

使用交互式 App 或自动化机器学习 (AutoML) 构建预测性分类和回归模型。自动选择特征、识别最佳模型并调优超参数。

训练、验证和调优预测模型

比较各种机器学习算法,选择特征,调优超参数,并评估多种常用分类和回归算法的性能。使用交互式 App 构建和自动优化预测模型,并使用流数据以增量方法改进模型。

模型可解释性

运用成熟的可解释性方法提高黑盒机器学习模型的可解释性,包括部分依赖图、个体条件期望 (ICE) 以及与模型无关的局部可解释性解释 (LIME)。

LIME 可构建复杂模型的局部简单近似。

自动化机器学习 (AutoML)

自动调优超参数、选择特征和模型、使用成本矩阵处理数据集不平衡,从而提高模型性能。

通过贝叶斯优化实现超参数高效优化。

回归和方差分析

使用线性和非线性回归、混合效应模型、广义线性模型和非参数化回归,将一个连续响应变量建模为一个或多个预测变量的函数。使用方差分析将方差分配到不同的源。

线性和非线性回归

基于多种线性和非线性回归算法选择多个预测变量或响应变量,对复杂系统的行为建模。拟合具有嵌套和/或交叉随机效应的多层或分层、线性、非线性和广义线性混合效应模型,以便进行纵向或面板分析、重复测量和成长建模。

使用回归学习器交互式拟合回归模型。

非参数化回归

使用 SVM、随机森林、高斯过程和高斯核,无需指定模型来描述预测变量与响应之间关系,即可生成准确的拟合。

使用分位数回归识别离群值。

方差分析 (ANOVA)

将样本方差指定给不同的源,然后确定方差产生于总体组内还是组间。使用单因素、双因素、多因素、多变量和非参数化方差分析,以及协方差分析 (ANOCOVA) 和重复测量方差分析 (RANOVA)。

使用多因素方差分析检验多个组。

概率分布和假设检验

将数据拟合到分布。分析样本间差异是否显著,或者是否在随机数据变化下保持稳定。生成服从各种分布的随机数。

概率分布

进行连续和离散概率分布拟合,使用统计绘图来评估拟合优度,计算 40 多种不同分布的概率密度函数和累积分布函数。

使用分布拟合器交互式进行分布拟合。

随机数生成

利用拟合或构建的概率分布生成伪随机和准随机数流。

以交互方式生成随机数。

假设检验

执行单样本、配对样本或独立样本 t 检验、分布检验(卡方、Jarque-Bera、Lilliefors 和 Kolmogorov-Smirnov)和非参数检验。检验自动校正和随机性,并比较分布(双样本 Kolmogorov-Smirnov)。

单侧 t 检验中的拒绝域。

工业统计

用统计方法分析影响和数据趋势。应用工业统计方法,例如自定义的试验设计和统计过程控制。

试验设计 (DOE)

定义、分析和可视化自定义的 DOE。就如何操作关联式数据输入创建现实计划并加以测试,获取有关计划对数据输出所产生影响的信息。

应用 Box-Behnken 设计,以生成更高阶的响应面。

统计过程控制 (SPC)

评估过程变异以监控和改进产品或过程。创建控制图,估计过程能力,执行计量可重复性和可再现性研究。

使用控制图监控制造过程。

可靠性和生存分析

执行 Cox 比例风险回归和分布拟合,对带删失或不带删失的失效时间数据进行可视化和分析。计算经验风险、生存、累积分布函数以及核密度估计。

失效数据,其中包含“删失”值的例子。

大数据、并行化和云计算

对超出内存的数据应用统计和机器学习方法。通过并行化加快针对集群和云实例的统计计算和机器学习模型训练速度。

使用 Tall 数组分析大数据

在多种分类、回归和聚类算法中运用 Tall 数组和 Tall 表,以便基于无法放入内存的数据集训练模型,而无需更改代码。

利用 Parallel Computing Toolbox 或 MATLAB Parallel Server 加快计算速度。

云和分布式计算

使用云实例加快统计和机器学习计算速度。在 MATLAB Online™ 中执行完整的机器学习工作流程。

在 Amazon 或 Azure 云实例上执行计算。

部署、代码生成和 Simulink 集成

将统计和机器学习部署到嵌入式系统,使用 C 代码加速计算密集型运算,并与企业系统和 Simulink 模型集成。

代码生成

使用 MATLAB Coder™ 为分类和回归算法的推断、描述性统计量和概率分布生成可移植、可读的 C 或 C++ 代码。使用 Fixed Point Designer™ 生成降精度的 C/C++ 预测代码,并在不重新生成预测代码的情况下更新已部署模型的参数。

两个部署途径:生成 C 代码或编译 MATLAB 代码。

与 Simulink 集成

将机器学习模型与 Simulink 模型相集成,以部署到嵌入式硬件或用于系统仿真、验证和确认。

与应用程序和企业系统集成

使用 MATLAB Compiler™,将统计和机器学习模型部署为独立应用程序、MapReduce 或 Spark™ 应用程序、Web App 或者 Microsoft® Excel® 插件。使用 MATLAB Compiler SDK™,构建 C/C++ 共享库、Microsoft .NET 程序集、Java® 类和 Python® 程序包。

使用 MATLAB Compiler 集成大气质量分类模型。

最新特性

AutoML

自动选择最佳模型和相关超参数以进行回归 (fitrauto)

可解释性

获取与模型无关的局部可解释性解释 (LIME)

SVM 预测模块

在 Simulink 中仿真 SVM 模型并生成代码

增量学习

增量式训练线性回归和二类分类模型

半监督学习

使用图和自训练模型(fitsemigraph、fitsemiself),根据部分类标签外推至整个数据集

代码生成

为预测生成单精度 C/C++ 代码

性能

加快 SVM 模型训练

关于这些特性和相应函数的详细信息,请参阅发行说明

Machine Learning Onramp

交互式入门课程,介绍了面向分类问题的机器学习实用方法。