在本系列的最后一篇文章中,我们讨论了多元线性回归模型。费尔南多创建了一个模型,根据五个输入参数估算汽车价格。

费尔南多的确获得了一个比较好的模型,然而,费尔南多想要获得最好的输入变量集

本文将详细介绍模型选择方法

模型选择方法的想法很直观。它回答了以下问题:

如何为最佳模型选择正确的输入变量?

如何定义最佳模型?

最优模型是使数据与评估指标的最佳值相匹配的模型。

可以有很多评估指标。 调整后的r平方是多元线性回归模型的选择评估指标。

有三种方法可以选择最佳变量集。他们是:

  • Best Subset
  • Forward Stepwise
  • Backward Stepwise

1、Best Subset

让我们说我们有k个变量。最佳子集方法的过程如下:

  1. 从NULL模型开始,即没有预测变量的模型。我们称这个模型为M0。
  2. 找到1个变量的最优模型。这意味着该模型是一个简单的回归量,只有一个自变量。我们称这个模型为M1。
  3. 找到包含2个变量的最优模型。这意味着该模型是一个只有两个独立变量的回归量。我们称这个模型为M2。
  4. 找到包含3个变量的最优模型。这意味着该模型是一个只有三个独立变量的回归量。我们称这个模型为M3。
  5. 等等...我们得到了演练。重复这个过程。测试最佳模型的所有预测变量组合。

对于k变量,我们需要从以下模型集中选择最佳模型:

  • M1:具有1个预测变量的最优模型。
  • M2:具有2个预测变量的最优模型。
  • M3:具有3个预测变量的最佳模型。
  • Mk:具有k个预测变量的最优模型。

选择M1 ... Mk中的最佳模型,即最适合的模型

最好的子集是一个精心设计的过程。它梳理了整个预测变量列表。它选择了最好的组合。但是,它有自己的挑战。

最佳子集为每个预测变量及其组合创建模型。这意味着我们正在为每个变量组合创建模型。模型的数量可以是非常大的数量。

如果有2个变量,则有4种可能的模型。如果有3个变量,则有8种可能的模型。一般来说,如果有p个变量,则有2 ^ p个可能的模型。这是很多可供选择的型号。想象一下,有100个变量(很常见)。想象一下,有100个变量(很常见)。将有2 ^ 100个可能的模型。令人难以置信的数字。

在费尔南多的情况下,只有5个变量,他将不得不创建和选择2 ^ 5个模型,即32个不同的模型。

2、逐步向前法

尽管最佳子集是详尽的,但它需要大量的计算能力。这可能非常耗时。逐步向前试图缓解这种痛苦。

让我们说我们有k个变量。前进逐步的过程如下:

  1. 从NULL模型开始,即没有预测变量的模型。我们称之为M0。将预测变量添加到模型中。一次一个。
  2. 找到1个变量的最优模型。这意味着该模型是一个简单的回归量,只有一个自变量。我们将此模型称为M1。
  3. 再向M1添加一个变量。找到包含2个变量的最优模型。请注意,附加变量已添加到M1。我们将此模型称为M2。
  4. 再向M2添加一个变量。找到包含3个变量的最优模型。请注意,附加变量已添加到M2。我们将此模型称为M3。
  5. 等等......我们得到了演练。重复此过程直到Mk即只有k变量的模型。

对于k变量,我们需要从以下模型集中选择最佳模型:

  • M1:具有1个预测变量的最优模型。
  • M2:具有2个预测变量的最优模型。这个模型是M1 +一个额外的变量。
  • M3:具有3个预测变量的最佳模型。这个模型是M2 +一个额外的变量。
  • Mk:具有k个预测变量的最优模型。这个模型是Mk-1 +一个额外的变量。

再次,选择M1 ... Mk中的最佳模型,即具有最佳拟合的模型

与最佳子集方法相比,前向逐步选择创建的模型更少。如果有p个变量,则会有大约p(p + 1)/ 2 + 1个模型可供选择。远低于最佳子集方法的模型选择。想象一下,有100个变量; 基于前向逐步方法创建的模型数量为100 * 101/2 + 1即5051模型。

在费尔南多的情况下,只有5个变量,他将不得不创建和选择5 * 6/2 + 1模型,即16种不同的模型。

3、逐步向后

现在我们已经理解了模型选择的前向逐步过程。让我们讨论后向逐步过程。它与前向逐步过程相反。前进逐步从没有变量的模型开始,即NULL模型。在对比度上,向后逐步从所有变量开始。向后逐步的过程如下:

  1. 让我们说有k个预测因子。从完整模型开始,即包含所有预测变量的模型。我们称这个模型为Mk。从完整模型中删除预测变量。一次一个。
  2. 找到k-1变量的最优模型。从Mk中删除一个变量。为所有可能的组合计算模型的性能。选择具有k-1变量的最佳模型。我们将此模型称为Mk-1。
  3. 找到k-2变量的最优模型。从Mk-1中删除一个变量。为所有可能的组合计算模型的性能。选择具有k-2变量的最佳模型。我们称这个模型为Mk-2。
  4. 等等......我们得到了演练。重复此过程,直到M1即只有1个变量的模型。

对于k变量,我们需要从以下模型集中选择最佳模型:

  • Mk:具有k个预测变量的最优模型。
  • Mk-1:具有k-1个预测因子的最优模型。这个模型是Mk - 一个额外的变量。
  • Mk-2:具有k-2个预测变量的最优模型。这个模型是Mk - 另外两个变量。
  • M1:具有1个预测变量的最优模型。

二、Model Building

既然模型选择的概念很明确,那么让我们回到费尔南多。回想一下本 系列 的前一篇文章。费尔南多有六个变量发动机尺寸,马力,峰值转速,长度,宽度和高度。他希望通过创建多元回归模型来估算汽车价格。他想保持平衡并选择最佳模特。

他选择应用前向逐步模型选择方法。统计包计算所有可能的模型并输出M1到M6。

让我们解释输出。

  • 模型1:它应该只有一个预测器。最佳拟合模型仅使用引擎大小作为预测器。调整后的R平方为0.77。
  • 模型2:它应该只有两个预测变量。最佳拟合模型仅使用发动机尺寸和马力作为预测器。调整后的R平方为0.79。
  • 模型3:它应该只有三个预测变量。最佳拟合模型仅使用发动机尺寸,马力和宽度作为预测器。调整后的R平方为0.82。
  • 模型4:它应该只有四个预测变量。最佳拟合模型仅使用发动机尺寸,马力,宽度和高度作为预测器。调整后的R平方为0.82。
  • 模型5:它应该只有五个预测变量。最佳拟合模型仅使用发动机尺寸,马力,峰值转速,宽度和高度作为预测器。调整后的R平方为0.82。
  • 模型6:它应该只有六个预测变量。最佳拟合模型仅使用所有六个预测变量。调整后的R平方为0.82。

回想一下关于创建最简单但有效的 模型 的讨论。

“所有型号都应尽可能简单,但不能简单。”

费尔南多选择了最简单的模型,以提供最佳性能。在这种情况下,它是模型3.该模型使用发动机尺寸,马力和宽度作为预测器。该模型能够得到调整后的0.82的R平方,即模型可以解释82%的训练数据变化。

统计包提供以下系数。

根据发动机尺寸,马力和宽度估算价格。 价格= -55089.98 + 87.34 engineSize + 60.93 马力+ 770.42 宽度

费尔南多选择了最好的模特。该模型将使用发动机尺寸,马力和汽车宽度估算价格。他希望在训练和测试数据上评估模型的性能。

回想一下,他已将数据分成训练和测试集。费尔南多使用训练数据训练模型。测试数据是看不见的数据。Fernando评估模型在测试数据上的性能。这才是真正的考验。

在训练数据上,该模型表现良好。 调整后的R平方为0.815 =>模型可以解释训练数据的81%变化。但是,为了使模型可以接受,它还需要在测试数据上表现良好。

Fernando在测试数据集上测试模型性能。该模型计算出测试数据的调整后的R平方为0.7984。这意味着即使在看不见的数据上,模型也可以解释79.84%的变化。

费尔南多现在有一个简单而有效的模型来预测汽车价格。但是,发动机尺寸,马力和宽度的单位是不同的。他考虑着。

  • 如何使用通用的比较单位估算价格变化?
  • 发动机尺寸,马力和宽度的价格有多大?

该系列的下一篇文章即将发布。它将讨论将多元回归模型转换为计算弹性的方法。

连续 模型 是指 模型 是连续函数的一类 模型 总称,具体建模 方法 主要是微分方程建模。微分方程建模是数学建模的重要 方法 ,因为许多实际问题的数学描述将导致求解微分方程的定解问题。把形形色色的实际问题化成微分方程的定解问题,大体上可以按以下几步:1.根据实际要求确定要研究的量( 自变量 、未知函数、必要的参数等)并确定坐标系。2.找出这些量所满足的基本规律(物理的、几何的、化学的或生物学的等等)。3.运用这些规律列出方程和定解条件。MATLAB在微分 模型 建模过程中的主要作用是求解微分方程的解析解,将微分方程转化为一般的函数形式。另外,微分方程建模,一定要做数值模拟,即根据方程的表达形式,给出变量间关系的图形,做数 最近我们被客户要求撰写关于多元逐步回归的研究报告,包括一些图形和统计输出。包含更多的预测变量不是免费的:在系数估算的更多可变性,更难的解释以及可能包含高度依赖的预测变量方面要付出代价。确实, 对于样本大小在线性 模型 中可以考虑。或等效地,使用预测变量p 拟合 模型 需要最小样本量。下一部分代码的输出阐明了和之间的区别。当减小时,自由度量化的变异性的增加。既然我们已经更多地了解了预测变量过多的问题,我们将重点放在 为多元回归 模型 变量上。如果没有独特的解决方案,这将是一项艰巨的任务。 接下来我们讨论另一个简单点的计算回归系数的 方法 :前向逐步回归。该算法属于贪心算法,经过多次迭代计算出最佳的回归系数,在每次迭代中增加或减少某个权重观察其错误率变化。 选择 对误差影响小的方向: def stageWise(xArr,yArr,eps=0.01,numIt=100): xMat = mat(xArr); yMat=mat(yArr).T yMean = mean(yMa 前一篇博客,我们使用了缩减法中的岭回归来改进线性回归算法。其好处是能够减少过拟合,增大 模型 方差减小偏差。此博客将使用另一种 方法 对线性回归算法进行改进,其主要目的是找出对结果影响最大的几个属性值。 和岭回归一样,lasso是也是属于缩减法的一种。但是由于其计算比较复杂,繁琐,我们使用另外一个简单的算法进行替代,这个算法就是前向逐步算法,该算法可以达到和lasso算法几乎一样的结果。 这里前向逐步算法主要使用了贪心算法的思想,即每进行一步都要减少误差,直到最后迭代结束。 前向逐步算法原理分析 需要评价回归 模型 最优的准则,来判断哪个 模型 性能最好。 残差平方和SSE越小,决定系数R2R^2R2越大越好:并非如此,增加 自变量 个数会达到上述效果,但是考虑到多重共线性、变量测量误差累计、参数数目增加等因素,未必会好 自由度调整复决定系数达到最大: 自变量 增多,复决定系数增大,但是残差自由度减小(残差自由度等于样本个数减掉变量个数)。自由度减小意味着可靠性低,即区间预测的幅度变大,无实际应用意义。采用调整复决定系数:adjR2=1−n−1n−p−1(1−R2)adjR^2=1-\frac{n-1}{n-p- 可以看下这篇对虚拟变量的直观介绍:什么是虚拟变量?怎么设置才正确? 虚拟变量陷阱: 所谓的“虚拟变量陷阱”就是当一个定性变量含有m个类别时, 模型 引入m个虚拟变量,造成了虚拟变量之间产生完全多重共线性,无法估计回归参数。 下图例子中若同时加入New York和California的虚拟变量则会使得D2=1-D1成立,从而造成多重共线性,掉入虚拟变量陷进。 原标题:SPSS分析技术:回归 模型 自变量 筛选 方法 ;欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区。 对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入头条数据爱好者交流群,数据爱好者们都在这儿。基础回顾上篇文章,我们以两个 自变量 的分析案例为例,介绍了如果使用SPSS进行多重线性分析,如果是新... 本文重点介绍机器学习 模型 中输入变量(预测因子)的 选择 ,预处理以及评估的相关细节。多种规范化的 方法 以及它们的特点都将在此被讨论。在处理过程中将极大影响 模型 训练最终结果的环节也将在此探讨。我们将仔细看看,并评估新的及鲜为人知的用于确定输入数据信息量和可视化的 方法 。 我们将使用“RandomUniformForests”包,计算并分析变量不同值和各种组合的重要概念,预测因子和目标的对应关系,预测因子之间的相互作用,以及将所有重要的方面都考虑在内后预测因子集的最优选取。 我们将使用“RoughSets”