主要内容

线性回归

介绍

一个数据模型明确描述之间的关系预测响应变量。适合数据线性回归模型是线性模型中的系数。最常见的一种线性回归是一个最小二乘匹配可以适合行和多项式,线性模型。

之前模型对数量之间的关系,它是一个好主意来执行相关分析建立如果这些量之间存在线性关系。请注意,变量可以有非线性关系,相关分析不能检测到。有关更多信息,请参见线性相关

MATLAB®基本拟合UI可以帮助您满足您的数据,因此可以计算模型系数和情节模型上的数据。例如,看到的示例:使用基本拟合UI。你也可以使用MATLABpolyfitpolyval函数来满足您的数据模型中线性系数。例如,看到的编程拟合

如果你需要合适的数据与一个非线性模型,变换变量线性的关系。另外,尝试适合非线性函数直接使用统计和机器学习的工具箱™nlinfit函数,优化工具箱™lsqcurvefit函数,或通过应用函数的曲线拟合工具箱™。

这一主题解释了如何:

  • 执行简单线性回归使用\操作符。

  • 使用相关分析来确定两个量来证明相关拟合数据。

  • 符合线性模型的数据。

  • 评价拟合优度通过绘制残差和寻找模式。

  • 计算拟合优度指标R2R和调整2

简单线性回归

这个例子展示了如何执行简单线性回归使用事故数据集。示例还显示了你如何计算系数的决心 R 2 评价回归。的事故数据集包含美国的致命交通事故的数据。

线性回归模型之间的依赖关系,或响应变量 y 和一个或多个独立或预测变量 x 1 , , x n 。简单线性回归只考虑一个独立变量使用的关系

y = β 0 + β 1 x + ϵ ,

在哪里 β 0 是y轴截距, β 1 斜率(或回归系数), ϵ 误差项。

从一组开始 n 观测值的 x y 给出的 ( x 1 , y 1 ) , ( x 2 , y 2 ) 、…… ( x n , y n ) 。使用简单线性回归关系,这些值形成一个线性方程组。这些方程矩阵形式表示为

( y 1 y 2 y n ] = ( 1 x 1 1 x 2 1 x n ] ( β 0 β 1 ]

Y = ( y 1 y 2 y n ] , X = ( 1 x 1 1 x 2 1 x n ] , B = ( β 0 β 1 ]

现在的关系 Y = X B

在MATLAB中,您可以找到 B 使用mldivide运营商是B = X、Y

从数据集事故事故数据加载y和国家的人口数据x。找到的线性回归关系 y = β 1 x 在事故状态和一个国家的人口使用\操作符。的\操作员执行最小二乘回归。

负载事故x = hwydata (: 14);%的人口国家:y = hwydata (4);%事故/状态格式b1 y = x \
b1 = 1.372716735564871 e-04

b1斜率或回归系数。线性关系 y = β 1 x = 0 0 0 0 1 3 7 2 x

计算每个国家事故yCalcx使用的关系。可视化绘制实际值的回归y和计算值yCalc

yCalc1 = b1 * x;散射(x, y)情节(x, yCalc1)包含(国家的人口)ylabel (“致命的交通事故/状态”)标题(的线性回归事故和人口之间的关系网格)

图包含一个坐标轴对象。坐标轴对象与标题之间的线性回归关系事故和人口包含2散射类型的对象,线。

改善健康,包括截距 β 0 在你的模型 y = β 0 + β 1 x 。计算 β 0 通过填充x一个列的和使用\操作符。

X =[(长度(X), 1)的X];b = X、y
b =2×1102×1.427120171726538 - 0.000001256394274

这个结果代表的关系 y = β 0 + β 1 x = 1 4 2 7 1 2 0 + 0 0 0 0 1 2 5 6 x

可视化绘制在同一图的关系。

yCalc2 = X * b;情节(x, yCalc2,“——”)传说(“数据”,“坡”,的斜率和拦截,“位置”,“最佳”);

图包含一个坐标轴对象。坐标轴对象与标题之间的线性回归关系事故和人口包含3散射类型的对象,线。这些对象表示数据、边坡、边坡和拦截。

从图中,两个适合类似。找到更好的身体的一种方法是计算确定系数, R 2 R 2 是一个衡量的一个模型可以预测数据,以及介于 0 1 。的价值就越高 R 2 更好的模型是预测数据。

在哪里 y ˆ 代表的计算值 y y 的意思是 y , R 2 被定义为

R 2 = 1 - - - - - - = 1 n ( y - - - - - - y ˆ ) 2 = 1 n ( y - - - - - - y ) 2

找到更好的适合的两个适合通过比较值 R 2 。随着 R 2 值显示,第二个适合包括截距是更好的。

Rsq1 = 1 - sum ((y - yCalc1) ^ 2) /笔((y -意味着(y)) ^ 2)。
Rsq1 = 0.822235650485566
Rsq2 = 1 - sum ((y - yCalc2) ^ 2) /笔((y -意味着(y)) ^ 2)。
Rsq2 = 0.838210531103428

残差和拟合优度

残差之间的差异观察到的值的响应(依赖)变量和模型的价值预测。当你适应一个模型,该模型是适合您的数据,残差近似独立随机错误。也就是说,残差的分布不应该表现出明显的模式。

产生一个适合使用线性模型需要最小化残差的平方和。这最小化收益率称为最小二乘匹配。你可以洞察一个合适的“善良”视觉检验残差的阴谋。如果剩余情节模式(即残余数据点不似乎随机散射),随机显示不正确合适的数据模型。

评估每个适合你做的上下文数据。例如,如果你的目标拟合数据提取系数的物理意义,重要的是,你反映数据的物理模型。理解你的数据代表什么,它是如何测量,建模,以及它是如何评价拟合优度时是很重要的。

拟合优度的措施之一确定系数,或R2(发音r平方)。这个数据表明密切值你获得从拟合模型匹配模型的目的是预测因变量。统计学家经常定义R2从安装使用剩余方差模型:

R2= 1 - SS渣油/党卫军

党卫军渣油是回归的残差平方的总和。党卫军是平方之和从因变量的均值差异(总平方和)。都是积极的标量。

学习如何计算R2当您使用基本拟合工具,明白了系数R2的决心。想要了解更多关于计算R2统计量及其多元泛化,继续阅读。

例如:计算R2从多项式适合

你可以推出R2从一个多项式的系数回归确定多少差异y一个线性模型解释了,下面的例子描述了:

  1. 创建两个变量,xy的前两列变量在数据文件中count.dat:

    负荷计算。dat x = count(:,1); y = count(:,2);

  2. 使用polyfit计算线性回归预测yx:

    p = polyfit (x, y, 1) p = 1.5229 - -2.1911

    (1页)是斜率,(2页)线性预测的拦截。你也可以得到回归系数使用基本拟合界面

  3. 调用polyval使用p预测y结果,称yfit:

    yfit = polyval (p (x);

    使用polyval救了你自己输入合适的方程,在这种情况下看起来像:

    yfit = x + p p (1) * (2);
  4. 计算数字签署的剩余价值作为一个向量:

    yresid = y - yfit;

  5. 广场的残差和总他们获得残差平方和:

    SSresid =总和(yresid。^ 2);

  6. 计算的总平方和y乘以的方差y通过观察-的数量1:

    SStotal =(长度(y) 1) * var (y);

  7. 计算R2使用这个话题的引入中给出的公式:

    rsq = 1 - SSresid / SStotal rsq = 0.8707
    这表明,线性方程1.5229 * x -2.1911预测变量的方差的87%y

计算R调整2对多项式回归

你通常可以减少模型的残差拟合多项式。当你添加更多的条件,增加确定系数,R2。你会得到一个更加适合的数据,但以牺牲一个更复杂的模型,R2不能解释。然而,一个精致的统计,调整R2,包括惩罚条款的数量模型。调整R2因此,更适合比较不同模型适合相同的数据。调整R2被定义为:

R2调整= 1 -(党卫军渣油/党卫军)* ((n1)/ (n- - - - - -d1))

在哪里n的观测数据,d多项式的次数。(线性符合程度的1,二次安装2立方适合3,等等。)

下面的例子重复前面的例子的步骤,例如:从多项式适合计算R2,但执行一个立方(学位3)适合,而不是一个线性程度(1)。从立方,计算简单和调整R2值评估额外的条款是否提高预测能力:

  1. 创建两个变量,xy的前两列变量在数据文件中count.dat:

    负荷计算。dat x = count(:,1); y = count(:,2);

  2. 调用polyfit生成一个立方适合预测yx:

    p = polyfit (x, y, 3) p = -0.0003 0.0390 0.2233 6.2779

    (4页)的拦截立方预测。你也可以得到回归系数使用基本拟合界面

  3. 调用polyval使用系数p预测y,命名结果yfit:

    yfit = polyval (p (x);

    polyval对显式方程可以手动输入为:

    yfit = p (1) * x。^ 3 + x p (2) *。^ 2 + x + p p (3) * (4);

  4. 计算数字签署的剩余价值作为一个向量:

    yresid = y - yfit;

  5. 广场的残差和总他们获得残差平方和:

    SSresid =总和(yresid。^ 2);

  6. 计算的总平方和y乘以的方差y通过观察-的数量1:

    SStotal =(长度(y) 1) * var (y);

  7. 计算简单R2立方的适合使用这个话题的引入中给出的公式:

    rsq = 1 - SSresid / SStotal rsq = 0.9083

  8. 最后,计算调整R2为自由度帐户:

    rsq_adj = 1 - SSresid / SStotal *(长度(y) 1) /(长度(y)长度(p)) rsq_adj = 0.8945
    调整R2,0.8945,小于简单R2,.9083。它提供了一个更可靠的估计多项式模型预测的力量。

在许多多项式回归模型,添加条件方程提高R2R和调整2。在前面的例子中,使用一个立方装比线性增加两个统计数据。(你可以计算调整R2对于线性适合自己证明它具有较低的价值。)然而,这并不总是真的,比高阶配合线性:一个更复杂的配合可以降低调整R2比简单的配合,表明复杂性的增加是不公正的。同时,R2总是在0和1之间变化的多项式回归模型基本拟合工具生成,调整R2对于一些模型可以是负的,这表明一个拥有太多的模型。

相关性并不意味着因果关系。总是解释系数相关性和决心的谨慎。只系数量化多少方差在因变量合身的模型中删除。这些措施不适当描述你的模型或select,都的独立变量为解释变量的行为预测模型。

拟合数据曲线拟合工具箱功能

MATLAB曲线拟合工具箱软件扩展核心功能通过启用以下数据拟合功能:

  • 线性和非线性参数拟合,包括标准线性最小二乘非线性最小二乘法、加权最小二乘法,约束最小二乘,和健壮的拟合过程

  • 非参数拟合

  • 为确定拟合优度统计

  • 外推法、分化和整合

  • 对话框,便于数据分割和平滑

  • 储蓄健康结果以各种格式,包括MATLAB代码文件,mat文件,工作空间变量

有关更多信息,请参见曲线拟合工具箱文档。