精华内容
下载资源
问答
  • 多元回归分析方法
    2021-04-18 12:54:28

    matlab多元回归工具箱 Excel数据分析工具进行多元回归分析.doc

    matlab多元回归工具箱 Excel数据分析工具进行多元回归分析

    导读:就爱阅读网友为您分享以下“Excel数据分析工具进行多元回归分析”资讯,希望对您有所帮助,感谢您对92的支持!

    使用Excel 数据分析工具进行多元回归分析

    使用Excel 数据分析工具进行多元回归分析与简单的回归估算分析方法基本相同。但是由于有些电脑在安装办公软件时并未加载数据分析工具,所以从加载开始说起(以Excel2010版为例,其余版本都可以在相应界面找到)。

    点击“文件”,如下图:

    在弹出的菜单中选择“选项”,如下图所示:

    在弹出的“选项”菜单中选择“加载项”,在“加载项”多行文本框中使用滚动条找到并选中“分析工具库”,然后点击最下方的“转到”,如下图所示:

    在弹出的“加载宏”菜单中选择“分析工具库”,然后点击 “确定”,如下图所示:

    加载完毕,在“数据”工具栏中就出现“数据分析”工具库,如下图所示:

    给出原始数据,自变量的值在A2:I21单元格区间中,因变量的值在J2:J21中,如下图所示:

    假设回归估算表达式为:

    试使用Excel 数据分析工具库中的回归分析工具对其回归系数进行估算并进行回归分析: 点击“数据”工具栏中中的“数据分析”工具库,如下图所示:

    在弹出的“数据分析”-“分析工具”多行文本框中选择“回归”,然后点击 “确定”,如下图所示:

    弹出“回归”对话框并作如下图的选择:

    上述选择的具体方法是:

    在“Y 值输入区域”,点击右侧折叠按钮,选取函数Y 数据所在单元格区域J2:J21,选完后再单击折叠按钮返回;这过程也可以直接在“Y 值输入区域”文本框中输入J2:J21;

    在“X 值输入区域”,点击右侧折叠按钮,选取自变量数据所在单元格区域A2:I21,选完后再单击折叠按钮返回;这过程也可以直接在“X 值输入区域”文本框中输入A2:I21; 置信度可选默认的95%。

    在“输出区域”如选“新工作表”,就将统计分析结果输出到在新表内。为了比较对照,我选本表内的空白区域,左上角起始单元格为K10. 点击确定后,输出结果如下:

    第一张表是“回归统计表”(K12:L17):

    其中:

    Multiple R :(复相关系数R )R 2的平方根,又称相关系数,用来衡量自变量x 与y 之间的相关程度的大小。本例R=0.9134表明它们之间的关系为高度正相关。(Multiple :复合、多种) R Square:复测定系数,上述复相关系数R 的平方。用来说明自变量解释因变量y 变差的程度,以测定因变量y 的拟合效果。此案例中的复测定系数为0.8343,表明用用自变量可解释因变量变差的83.43%

    Adjusted R Square:调整后的复测定系数R 2,该值为0.6852,说明自变量能说明因变量y 的68.52%,因变量y 的31.48%要由其他因素来解释。( Adjusted:调整后的)

    标准误差:用来衡量拟合程度的大小,也用于计算与回归相关的其它统计量,此值越小,说明拟合程度越好

    观察值:用于估计回归方程的数据的观察值个数。

    第二张表是“方差分析表”:主要作用是通过F 检验来判定回归模型的回归效果。

    该案例中的Significance F(F 显著性统计量)的P 值为0.00636,小于显著性水平0.05,所以说该回归方程回归效果显著,方程中至少有一个回归系数显著不为0. (Significance :显著) 第三张表是“回归参数表”:

    K26:K35为常数项和b1~b9的排序默认标示。

    L26:L35为常数项和b1~b9的值,据此可得出估算的回归方程为:

    该表中重要的是O 列, 该列的O26:O35中的 P-value为回归系数t 统计量的P 值。

    值得注意的是:其中b1、b7的t 统计量的P 值为0.0156和0.0175,远小于显著性水平0.05,因此该两项的自变量与y 相关。而其他各项的t 统计量的P 值远大于b1、b7的t 统计量的P 值,但如此大的P 值说明这些项的自变量与因变量不存在相关性,因此这些项的回归系数不显著。

    回归分析是一种应用很广的数量分析方法,用于分析事物间的统计关系,侧重数量关系变化。回归分析在数据分析中占有比较重要的位置。

    一元线性回归模型:指只有一个解释变量的线性回归模型,用来揭示被解释变量与另一个解释变量的线性关系。

    多元线性回归模型:指含有多个揭示变量的线性回归模型,用来揭示被解释变量与多个解释变量的线性关系。

    此篇文章主要讲述多元线性回归分析。

    方法/步骤

    线性回归分析的内容比较多,比如回归方程的拟合优度检验、回归方程的显著性检验、回归系数的显著性检验、残差分析、变量的筛选问题、变量的多重共线性问题。

    操作见图。回归分析通常需要

    更多相关内容
  • 统计学多元回归分析方法.pdf
  • 统计学多元回归分析方法(20210923190824).pdf
  • #资源达人分享计划#
  • #资源达人分享计划#
  • 为了研究安全生产与经济社会发展的关系,选择了其中27个样本国家的10万人死亡率和14个经济社会发展指标,运用多元回归分析方法,建立了10万人死亡率指标与经济社会指标之间的多元回归模型,分析影响安全生产状况的经济...
  • 多元回归分析(Multiple Regression Analysis)是指在相关变量中将一个变量视为因变量,其他一个或多个变量视为自变量,建立多个变量之间线性或非线性数学模型数量关系式并利用样本数据进行分析的统计分析方法。...
  • 数据回归-基于独立成分分析多元回归方法研究.pdf
  • 通过搜集徐州市2017年365天的日空气质量指数AQI数据,其9个相关影响变量数据(包括风力,机动车保有量,火电厂、炼钢厂、炼焦厂平均各排口每小时各主要污染物的排放量),在MATALB中采用多元线性回归方法建立了模型...
  • 利用线性回归方程构建发热量计算的数学模型,介绍回归分析方法的基本原理,以收集的40组洗混煤发热量的历史数据为基础,分析发热量与全水分、灰分等因素之间的影响关系,建立回归方程,并对回归方程的准确性进行验证。...
  • 数据分析方法多元线性回归.pdf数据分析方法多元线性回归.pdf数据分析方法多元线性回归.pdf数据分析方法多元线性回归.pdf数据分析方法多元线性回归.pdf数据分析方法多元线性回归.pdf数据分析方法多元线性回归.pdf数据...
  • 数据分析方法多元线性回归.docx数据分析方法多元线性回归.docx数据分析方法多元线性回归.docx数据分析方法多元线性回归.docx数据分析方法多元线性回归.docx数据分析方法多元线性回归.docx数据分析方法多元线性回归....
  • 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。 使用曲线/线来拟合这些数据点,在这种方式下,从曲线...

    回归定义

    回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。
    使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。

    最常用回归方法

    一、线性回归(Linear Regression)

    线性回归通常是人们在学习预测模型时首选的技术之一。在这种技术中,因变量是连续的,自变量可以是连续的也可以是离散的,回归线的性质是线性的。线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和一个或多个自变量(X)之间建立一种关系。
      用一个方程式来表示它,即 Y=a+b*X + e,其中a表示截距,b 表示直线的斜率,e 是误差项。这个方程可以根据给定的预测变量(s)来预测目标变量的值。
      使用最小二乘法得到一个最佳的拟合线,对于观测数据,它通过最小化每个数据点到线的垂直偏差平方和来计算最佳拟合线。因为在相加时,偏差先平方,所以正值和负值没有抵消。
      7
      可以使用R-square指标来评估模型性能。

    • 要点:
        自变量与因变量之间必须有线性关系。
        多元回归存在多重共线性,自相关性和异方差性。
        线性回归对异常值非常敏感。它会严重影响回归线,最终影响预测值。
        多重共线性会增加系数估计值的方差,使得在模型轻微变化下,估计非常敏感。结果就是系数估计值不稳定,在多个自变量的情况下,我们可以使用向前选择法,向后剔除法和逐步筛选法来选择最重要的自变量。

    二、逻辑回归(Logistic Regression)

    逻辑回归是用来计算「事件=Success」和「事件=Failure」的概率。当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,我们就应该使用逻辑回归。这里,Y的值从0到1,它可以用下方程表示。
      odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence
      ln(odds) = ln(p/(1-p))
      logit§ = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3…+bkXk
      上述式子中,p表述具有某个特征的概率。你应该会问这样一个问题:我们为什么要在公式中使用对数log呢?
      因为在这里我们使用的是的二项分布(因变量),我们需要选择一个对于这个分布最佳的连结函数。它就是Logit函数。在上述方程中,通过观测样本的极大似然估计值来选择参数,而不是最小化平方和误差(如在普通回归使用的)。
      6

    • 要点:
        它广泛的用于分类问题。
        逻辑回归不要求自变量和因变量是线性关系。它可以处理各种类型的关系,因为它对预测的相对风险指数OR使用了一个非线性的log转换。
        为了避免过拟合和欠拟合,我们应该包括所有重要的变量。有一个很好的方法来确保这种情况,就是使用逐步筛选方法来估计逻辑回归。它需要大的样本量,因为在样本数量较少的情况下,极大似然估计的效果比普通的最小二乘法差。
        自变量不应该相互关联的,即不具有多重共线性。然而,在分析和建模中,我们可以选择包含分类变量相互作用的影响。
        如果因变量的值是定序变量,则称它为序逻辑回归;如果因变量是多类的话,则称它为多元逻辑回归。

    三、多项式回归(Polynomial Regression)

    对于一个回归方程,如果自变量的指数大于 1,那么它就是多项式回归方程。如下方程所示:y=a+b*x^2
      在这种回归技术中,最佳拟合线不是直线。而是一个用于拟合数据点的曲线。
      5

    • 重点:
        虽然会有一个诱导可以拟合一个高次多项式并得到较低的错误,但这可能会导致过拟合。你需要经常画出关系图来查看拟合情况,并且专注于保证拟合合理,既没有过拟合又没有欠拟合。
        下面是一个图例,可以帮助理解:
      4
        明显地向两端寻找曲线点,看看这些形状和趋势是否有意义。更高次的多项式最后可能产生怪异的推断结果。

    四、逐步回归(Stepwise Regression)

    在处理多个自变量时,我们可以使用这种形式的回归。在这种技术中,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作。
      这一壮举是通过观察统计的值,如 R-square,t-stats 和 AIC 指标,来识别重要的变量。逐步回归通过同时添加/删除基于指定标准的协变量来拟合模型。

    • 最常用的逐步回归方法:
        标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测。
        向前选择法从模型中最显著的预测开始,然后为每一步添加变量。
        向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显着性的变量。
        这种建模技术的目的是使用最少的预测变量数来最大化预测能力。这也是处理高维数据集的方法之一。

    五、岭回归(Ridge Regression)

    岭回归分析是一种用于存在多重共线性(自变量高度相关)数据的技术。在多重共线性情况下,尽管最小二乘法(OLS)对每个变量很公平,但它们的差异很大,使得观测值偏移并远离真实值。岭回归通过给回归估计上增加一个偏差度,来降低标准误差。
      上面,我们看到了线性回归方程。还记得吗?它可以表示为:y=a+ bx
      这个方程也有一个误差项。完整的方程是:
      y=a+b
    x+e (error term), [error term is the value needed to correct for a prediction error between the observed and predicted value]
      => y=a+y= a+ b1x1+ b2x2+…+e, for multiple independent variables.
      在一个线性方程中,预测误差可以分解为2个子分量。一个是偏差,一个是方差。预测错误可能会由这两个分量或者这两个中的任何一个造成。在这里,我们将讨论由方差所造成的有关误差。
      岭回归通过收缩参数 λ(lambda)解决多重共线性问题。看下面的公式:
    3
      在这个公式中,有两个组成部分。第一个是最小二乘项,另一个是 β2(β-平方)的 λ 倍,其中 β 是相关系数。为了收缩参数把它添加到最小二乘项中以得到一个非常低的方差。

    • 要点:
      除常数项以外,这种回归的假设与最小二乘回归类似;它收缩了相关系数的值,但没有达到零,这表明它没有特征选择功能,这是一个正则化方法,并且使用的是L2正则化。

    六、套索回归(Lasso Regression)

    它类似于岭回归。Lasso (Least Absolute Shrinkage and Selection Operator)也会惩罚回归系数的绝对值大小。此外,它能够减少变化程度并提高线性回归模型的精度。看看下面的公式:
    2
      Lasso 回归与 Ridge 回归有一点不同,它使用的惩罚函数是绝对值,而不是平方。这导致惩罚(或等于约束估计的绝对值之和)值使一些参数估计结果等于零。使用惩罚值越大,进一步估计会使得缩小值趋近于零。这将导致我们要从给定的n个变量中选择变量。

    • 要点:
        除常数项以外,这种回归的假设与最小二乘回归类似;
        它收缩系数接近零(等于零),确实有助于特征选择;
        这是一个正则化方法,使用的是L1正则化;
        如果预测的一组变量是高度相关的,Lasso 会选出其中一个变量并且将其它的收缩为零。

    七、回归(ElasticNet)

    ElasticNet 是 Lasso 和 Ridge 回归技术的混合体。它使用 L1 来训练并且 L2 优先作为正则化矩阵。当有多个相关的特征时,ElasticNet 是很有用的。Lasso 会随机挑选他们其中的一个,而 ElasticNet 则会选择两个。
    1
    在高度相关变量的情况下,它会产生群体效应;选择变量的数目没有限制,它可以承受双重收缩。
      除了这 7 个最常用的回归技术,你也可以看看其他模型,如 Bayesian、Ecological 和 Robust 回归。

    如何正确选择回归模型?

    在多类回归模型中,基于自变量和因变量的类型,数据的维数以及数据的其它基本特征的情况下,选择最合适的技术非常重要。以下是你要选择正确的回归模型的关键因素:
      1.数据探索是构建预测模型的必然组成部分。在选择合适的模型时,比如识别变量的关系和影响时,它应该首选的一步。
      2.比较适合于不同模型的优点,我们可以分析不同的指标参数,如统计意义的参数,R-square,Adjusted R-square,AIC,BIC 以及误差项,另一个是 Mallows’ Cp 准则。这个主要是通过将模型与所有可能的子模型进行对比(或谨慎选择他们),检查在你的模型中可能出现的偏差。
      3.交叉验证是评估预测模型最好额方法。在这里,将你的数据集分成两份(一份做训练和一份做验证)。使用观测值和预测值之间的一个简单均方差来衡量你的预测精度。
      4.如果你的数据集是多个混合变量,那么你就不应该选择自动模型选择方法,因为你应该不想在同一时间把所有变量放在同一个模型中。
      5.它也将取决于你的目的。可能会出现这样的情况,一个不太强大的模型与具有高度统计学意义的模型相比,更易于实现。
      6.回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多重共线性情况下运行良好。
    新手可以按照这个逻辑选择:如果结果是连续的,就使用线性回归。如果是二元的,就使用逻辑回归!

    SPSS实操

    • SPSS 做因子分析,输出结果中有一项 Kaiser-Meyer-Olkin Measure of Sampling Adequacy. 它的值是在 [ 0, 1] 范围内,这个值大于 0.5 就证明原数据中的指标适合使用因子分析算法进行建模,小于 0.5 要不重新计算指标,要不换算法。SPSS 做多元线性回归,输出结果中的拟合度过低,说明指标与结果之间的相关性并不明显,要不重新计算指标,要不换算法。
    • 多元线性回归分析理论详解及SPSS结果分析

    第一步:导入数据
    路径:【文件】–【打开】–【数据】–【更改文件类型,找到你的数据】–【打开】–【然后会蹦出下图左中的筛选框,基本使用默认值就行,点确定】
    第二步:数据分析
    【分析】–【回归】–【线性】–【将因变量与自变量添加到对应的地方】–【其他都使用默认值】–【确定】
    第三步:结果分析
    第一项输出结果:输入/移去的变量
    回归
    第二项输出结果:模型汇总
    1.R表示拟合优度(goodness of fit),用来衡量模型的拟合程度,越接近 1 越好;
    2.R方表示决定系数,用于反映模型能够解释的方差占因变量方差的百分比,越接近 1 越好;
    3.调整R方是考虑自变量之间的相互影响之后,对决定系数R方的校正,比R方更加严谨,越接近 1 越好;
    4.标准估计的误差是误差项 ε 的方差 σ2的一个估计值,越小越好;
    一般认为:
    小效应:R (0.1~0.3),对应 R方(0.01~0.09);
    中等效应:R (0.3~0.5),对应 R方(0.09~0.25);
    大效应:R (0.5~1),对应 R方(0.25~1);
    模型
    该例属中等效应,偏斜错误数值稍稍有点高。
    第三项输出结果:变异数分析
    Anova表示方差分析结果,主要看 F 和 显著性值,为方差分析的结果,F检验的重点在 显著性值,具体大小不重要,其 F 值对应的显著性值小于 0.05 就可以认为回归方程是有用的。
    变异数
    显著性值为0小于0.05,该方程可用。
    第四项输出结果:系数
    系数表列出了自变量的显著性检验结果,

    • 非标准化系数中的 B 表示自变量的系数与常数项;
    • 标准系数给出的自变量系数与非标准化系数中的明显不同,这是因为考虑到不同自变量之间的量纲和取值范围不同;
    • t 值 与显著性值 是自变量的显著性检验结果,其 t 值对应的显著性 值小于 0.05 代表自变量对因变量具有显著影响,下图中,自变量Precipitation 对 因变量具有显著影响,而自变量Longitude的影响程度相对而言就弱了很多。
      系数
      综上所有的输出结果,说明 AQI、Precipitation与Longitude 的拟合效果还挺理想的。
      SPSS 给出的回归方程: Y = -15.6 -0.034 * Precipitation + 1.12 * Longitude
    展开全文
  • 多元回归分析(Multiple RegressionAnalysis)是多变量分析的基础,也是理解监督类分析方法的入口!实际上大部分学习统计分析和市场研究的人的都会用回归分析,操作也是比较简单的,但能够知道多元回归分析的适用...

    多元回归分析(Multiple Regression

    Analysis)是多变量分析的基础,也是理解监督类分析方法的入口!实际上大部分学习统计分析和市场研究的人的都会用回归分析,操作也是比较简单的,但能够知道多元回归分析的适用条件或是如何将回归应用于实践,可能还要真正领会回归分析的基本思想和一些实际应用手法!

    下面我们就来谈谈多元回归分析,这张图是利用多元线性回归制作的策略分析图,你可以理解X轴是重要性,Y轴是表现;

    sg_trans.gif

    首先,多元回归分析应该强调是多元线性回归分析!强调线性是因为大部分人用回归都是线性回归,线性的就是直线的,直线的就是简单的,简单的就是因果成比例的;理论上讲,非线性的关系我们都可以通过函数变化线性化,就比如:Y=a+bLnX,我们可以令

    t=LnX,方程就变成了 Y=a+bt,也就线性化了。

    一般我们采用的变化要根据数据分布特征来进行,下表是常用的变化方法:

    当然,变化的主要目的是线性化,同时期望数据分布是近似正态分布!

    第二,线性回归思想包含在其它多变量分析中,例如:判别分析的自变量实际上是回归,尤其是Fisher线性回归方程;Logistics回归的自变量也是回归,只不过是计算线性回归方程的得分进行了概率转换;甚至因子分析和主成分分析最终的因子得分或主成分得分也是回归算出来的;当然,还有很多分析最终也是回归思想!

    第三:什么是“回归”,回归就是向平均靠拢。

    第四:如果你用线性回归方式去解释过去,你只能朝着一个趋势继续,但未来对过去的偏离有无数种可能性;

    第五:线性回归方程纳入的自变量越多,越应该能够反应现实,但解释起来就越困难;

    第六:统计学家往往追求的是简约的模型和更高的解释度,往往关注模型R平方,共线性和回归诊断问题;

    第七:市场研究人员往往注重模型的解释合理性,是否与预设的直觉一直,是否支持了我的市场假设等;

    下面我们从市场研究人员的角度看看如何利用多元线性回归:

    多元线性回归分析的主要目的是:解释和预测

    假设我们收集了100个企业客户经理对我产品的总体满意度和分项指标的满意度评价,我期望知道,什么分项指标对我总体满意度有重要影响,它的改进更能够提升总体满意度;如果建立预测模型,我期望知道了分项指标的评价就能够预测总体满意度数值;

    sg_trans.gif

    在SPSS中选择回归分析后,把X10作为因变量,X1到X7作为自变量

    sg_trans.gif

    一般选择自变量进入方程的方法,可以先采用逐步回归,让计算机程序帮助确定变量的重要性,这在统计层面非常好,但是如果针对我现在的研究我需要采用Enter全部进入,如果某个指标不显著,就不在方程中了我如何与客户说呢?(假设他不懂统计,并且我需要完成上面的策略图);

    sg_trans.gif

    选择相应的统计参数和输出结果,注意:多变量分析都需要考虑缺省值问题,逐步回归中我们可以得到R平方的变化对我们理解方程有帮助!(Enter方法不需要)

    sg_trans.gif

    R平方是我们最需要关注的,该值说明了方程的拟合好坏,R平方=0.80非常不错了,说明:1)总体满意度的80%的变差都可以由7个分项指标解释,或者说,7个分项指标可以解释总体满意度80%的变差!2)R平方如果太大,大家不要高兴太早,社会科学很少有那么完美的预测或解释,一定存在了共线性!

    sg_trans.gif

    方程分析表的显著性表明了回归具有解释力!

    sg_trans.gif

    线性回归方程给出可预测的计算系数,但是,社会科学很少进行预测,重要的是解释;

    这里要注意的是如果自变量的测量尺度是统一的话,我们可以直接比较系数的大小,但是如果自变量的测量尺度不统一的话,我们必须看标准化回归系数,标准化回归系数去掉的量纲,且反应了重要性!我们就是需要重要性测量!

    当然,这个时候,研究人员应该关注每个指标的回归系数是否真的等于零,要进行假设检验!

    我这里就直接应用了,我们可以把7个自变量指标的均值作为表现,7个自变量的标准化相关系数作为重要性,完成散点图!重要的指标,表现差当然是我们急需改进的了,这就是前面策略图了。

    我这是典型的市场研究思维方式,不太关注统计意义,而且我将所有的坐标轴和坐标数值都让你看不到,我只是表现了测量,或许对市场洞察足够了;但记住统计学家不能这样!如果你是关注统计思想的人,应该要理解下面这张回归解释图!http://www.cda.cn/view/18657.html

    sg_trans.gif

    线性回归:提及因果关系, 必须非常谨慎!

    展开全文
  • 基于王斌会《多元统计分析及R语言建模》第4章第4节逐步回归。主要介绍回归变量的选择方法,涉及变量选择准则,逐步回归分析的步骤,以及算例。
  • 为解决三体船阻力性能预报实验成本昂贵且仿真模拟工作量较大的问题,针对以军舰DTMB5415为基础船型提出的高速三体船,对于基本数据库中29条包括货船、油船、集装箱船及化学品船各相关数据进行多元线性回归,得到了...
  • 多元线性回归分析的原理出发,利用最小二乘法准则,将...结合实例,通过方差分析表,进行F检验,计算P值,决定系数,将此方法回归分析结果与调用统计软件包中的regress函数的结果进行比较,说明此方法的有效性.
  • 选取30个煤炭企业2013—2017年期间人才变动的数据,提取煤炭年产量和年薪酬水平为主要因子,对2013—2017年的煤炭行业经营管理人才需求量进行预测,残差分析结果表明,用多元回归-灰色预测模型预测较单一方法更有效,构建...
  • 多元线性回归分析

    千次阅读 2021-10-21 09:24:41
    回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。...

    一、概念

    • 在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。

    二、EXCEL进行多元线性回归

    • 1.删掉表里的非数据项,以进行多元线性回归
      在这里插入图片描述
    • 2.选中要进行多元线性回归的区域,点击文件在这里插入图片描述
    • 3.选择更多里面的选项在这里插入图片描述
    • 4.进入加载项,点击转到在这里插入图片描述
    • 5.选择分析数据库在这里插入图片描述
    • 6.点击数据里的数据分析在这里插入图片描述
    • 7.选择回归在这里插入图片描述
    • 8.分别选中x和y值的区域,输出选项可以选新工作表组,这样就可以在新工作表里看到了,弄好之后点击确认就行了。在这里插入图片描述
    • 10、结果,intercept为截距,下面几行就是对应自变量的系数在这里插入图片描述

    三、代码方式实现多元线性回归

    3.1 用sklearn包实现

    3.1.1 不进行数据处理

    • 1.导入包
    import pandas as pd
    import numpy as np
    import seaborn as sns
    from sklearn import datasets
    from sklearn.linear_model import LinearRegression
    
    • 2.读取文件
    df = pd.read_csv('..\\source\\house_prices.csv')
    df.info()#显示列名和数据类型类型
    df.head(6)#显示前n行,n默认为5
    
    • 3.取出自变量和因变量
    #取出自变量
    data_x=df[['area','bedrooms','bathrooms']]
    data_y=df['price']
    
    • 4.进行多元线性回归并得出结果
    # 进行多元线性回归
    model=LinearRegression()
    l_model=model.fit(data_x,data_y)
    print('参数权重')
    print(model.coef_)
    print('模型截距')
    print(model.intercept_)
    
    • 结果
      在这里插入图片描述

    3.1.2 进行数据处理

    • 1.前面两步的步骤是一样的,接下来是进行异常值检测
    # 异常值处理
    # ================ 异常值检验函数:iqr & z分数 两种方法 =========================
    def outlier_test(data, column, method=None, z=2):
        """ 以某列为依据,使用 上下截断点法 检测异常值(索引) """
        """ 
        full_data: 完整数据
        column: full_data 中的指定行,格式 'x' 带引号
        return 可选; outlier: 异常值数据框 
        upper: 上截断点;  lower: 下截断点
        method:检验异常值的方法(可选, 默认的 None 为上下截断点法),
                选 Z 方法时,Z 默认为 2
        """
        # ================== 上下截断点法检验异常值 ==============================
        if method == None:
            print(f'以 {column} 列为依据,使用 上下截断点法(iqr) 检测异常值...')
            print('=' * 70)
            # 四分位点;这里调用函数会存在异常
            column_iqr = np.quantile(data[column], 0.75) - np.quantile(data[column], 0.25)
            # 1,3 分位数
            (q1, q3) = np.quantile(data[column], 0.25), np.quantile(data[column], 0.75)
            # 计算上下截断点
            upper, lower = (q3 + 1.5 * column_iqr), (q1 - 1.5 * column_iqr)
            # 检测异常值
            outlier = data[(data[column] <= lower) | (data[column] >= upper)]
            print(f'第一分位数: {q1}, 第三分位数:{q3}, 四分位极差:{column_iqr}')
            print(f"上截断点:{upper}, 下截断点:{lower}")
            return outlier, upper, lower
        # ===================== Z 分数检验异常值 ==========================
        if method == 'z':
            """ 以某列为依据,传入数据与希望分段的 z 分数点,返回异常值索引与所在数据框 """
            """ 
            params
            data: 完整数据
            column: 指定的检测列
            z: Z分位数, 默认为2,根据 z分数-正态曲线表,可知取左右两端的 2%,
               根据您 z 分数的正负设置。也可以任意更改,知道任意顶端百分比的数据集合
            """
            print(f'以 {column} 列为依据,使用 Z 分数法,z 分位数取 {z} 来检测异常值...')
            print('=' * 70)
            # 计算两个 Z 分数的数值点
            mean, std = np.mean(data[column]), np.std(data[column])
            upper, lower = (mean + z * std), (mean - z * std)
            print(f"取 {z} 个 Z分数:大于 {upper} 或小于 {lower} 的即可被视为异常值。")
            print('=' * 70)
            # 检测异常值
            outlier = data[(data[column] <= lower) | (data[column] >= upper)]
            return outlier, upper, lower
    
    • 2.得到异常集并进行丢弃
    outlier, upper, lower = outlier_test(data=df, column='price', method='z')#获得异常数据
    outlier.info(); outlier.sample(5)
    df.drop(index=outlier.index, inplace=True)#丢弃异常数据
    
    • 3.取出自变量和因变量
    #取出自变量
    data_x=df[['area','bedrooms','bathrooms']]
    data_y=df['price']
    
    • 4.进行多元线性回归并得出结果
    # 进行多元线性回归
    model=LinearRegression()
    l_model=model.fit(data_x,data_y)
    print('参数权重')
    print(model.coef_)
    print('模型截距')
    print(model.intercept_)
    
    • 结果
      在这里插入图片描述

    3.2 用线性回归模型的统计学库实现

    • 3.2.1 数据的预处理都是一样的,只是后面的导入的函数不一样了,下面是进行了虚拟变量设置并进行数据拼接
    # 对名义变量neighborhood进行处理
    # 设置虚拟变量
    nominal_data = df['neighborhood']
    # 设置虚拟变量
    dummies = pd.get_dummies(nominal_data)
    dummies.sample() # pandas 会自动帮你命名
    # 每个名义变量生成的虚拟变量中,需要各丢弃一个,这里以丢弃C为例
    dummies.drop(columns=['C'], inplace=True)
    dummies.sample()
    # 对名义变量style进行处理
    # 设置虚拟变量
    nominal_style_data = df['style']
    # 设置虚拟变量
    style_dummies = pd.get_dummies(nominal_style_data)
    style_dummies.sample() # pandas 会自动帮你命名
    # 每个名义变量生成的虚拟变量中,需要各丢弃一个,这里以丢弃lodge
    #原因:转化后的虚拟变量需要舍弃一个,才能得到满秩矩阵,可理解为当变量名可划分为n类时,只需要n-1个虚拟变量就能获取所有信息了
    style_dummies.drop(columns=['lodge'], inplace=True)
    style_dummies.sample()
    #数据拼接
    results = pd.concat(objs=[df, dummies], axis='columns') # 按照列来合并
    results = pd.concat(objs=[results, style_dummies], axis='columns') # 按照列来合并
    results.sample(3)
    
    • 3.2.2进行预测
    from statsmodels.formula.api import ols
    #使用虚拟变量
    lm = ols('price ~ area + bedrooms + bathrooms + A + B', data=results).fit()
    lm.summary()
    
    • 3.2.3 预测结果,结果会比用sklearn详细许多在这里插入图片描述

    • 3.2.4 提示可能出现多元共线性,检验一下,再次建模

    def vif(df, col_i):
        """
        df: 整份数据
        col_i:被检测的列名
        """
        cols = list(df.columns)
        cols.remove(col_i)
        cols_noti = cols
        formula = col_i + '~' + '+'.join(cols_noti)
        r2 = ols(formula, df).fit().rsquared
        return 1. / (1. - r2)
    test_data = results[['area', 'bedrooms', 'bathrooms', 'A', 'B']]
    for i in test_data.columns:
        print(i, '\t', vif(df=test_data, col_i=i))
    
    • 3.2.5 检验结果如下,可以看到bedroom和bathroom相关程度较高在这里插入图片描述
    • 3.2.6 去掉bedroom,再次建模
    # 去掉bedroom再次建模
    lm = ols(formula='price ~ area + bathrooms + A + B', data=results).fit()
    lm.summary()
    
    • 3.2.7 得出结果在这里插入图片描述

    3.3 分析

    当不进行数据处理时,用jupyter和使用excel进行数据分析的结果是一样的,但进行了数据清理之后回归方程与之前相差的挺大的,而进行了多元共线性检测以后,结果变得更为合理了。

    四、总结

    初步了解了多元线性回归的步骤,也清楚了异常数据对于回归方程的影响,在进行数据处理之前应该先进行数据预处理,同时也要考虑两个变量的关系。

    五、参考

    Excel-一元线性回归和多元线性回归(借助数据分析功能和直接计算)

    展开全文
  • 数学建模—多元回归分析

    千次阅读 2020-07-08 13:42:45
    title: 数学建模—多元回归分析 tags: 建模 EverydayOneCat 木星全貌???? 知识点 1.笔记 在了接受域中,接受X为0的假设,X对外没有比较显著的线性关系。 2.知识点补充 多元回归模型:含两个以上解释变量的回归...
  • 7个回归分析方法 什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。 这种技术通常用于 预测分析、 时间序列模型 以及发现变量之间的...
  • 提高煤矿生产安全系数,基于矿区多降雨量和煤炭产量实测数据,以降雨量和煤炭产量为涌水量影响因子,运用水文地质比拟法和多元非线性回归分析法,分别建立矿区涌水量预测模型,通过对比分析,确定更精确的预测方法。...
  • 并通过皮尔森相关性检验、拟合优度检验、F检验、t检验和残差分析方法对模型进行优化,得到了准确可靠的多元线性回归模型,此楔型具有拟合程度高、简易、直观等优势,为多元线性回归模型在需水量分析中的应用提供了...
  • 2 2 Matlab 实现多元回归实例 一一般... 这时就可以用到回归分析方法如果 只考虑 f 是线性函数的情形当自变量只有一个时即 x ? ? x1 , ,xn ? 中 n ?1 时称为一元线性回归当自变量有多个时即 x ? ? x1 , ,xn ? 中 n ?2
  • 文中通过采用某一个点的测井曲线或地震数据推测出该点的孔隙度或渗透率,基于多种测井信息的多元线性回归方法已成为储层孔隙度定量预测的主要方法,多元逐步回归分析方法的理论正好适用于这种实际问题。它是利用通过...
  • 多元回归分析(线性回归)

    万次阅读 多人点赞 2020-08-13 18:14:30
    多元线性回归分析一、回归的基本理解(1)回归的基本任务(2)回归里的关键词(3)回归里的数据类型(4)回归方程中的系数解释(5)核心解释变量和控制变量(6)特殊的自变量:虚拟变量X二、例题:电商平台的奶粉...
  • 多元回归分析(分类与运用)

    千次阅读 2021-08-31 23:28:41
    一、回归分析的任务就是, 通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进 而达到通过X去预测Y的目的。 常见的回归分析有五类:线性回归、0‐1回归(逻辑回归)、定序回归、计数回归 和生存回归,...
  • 清风数模课---多元回归分析

    千次阅读 2022-02-05 18:37:51
    清风数模课---多元回归分析笔记
  • 多元线性回归分析(Stata)

    万次阅读 多人点赞 2022-01-14 10:12:47
    回归分析的介绍与分类 回归分析的任务是:通过研究自变量X和因变量Y的关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的 三个关键字:相关性、因变量Y、自变量X 常见的回归分析有五类(划分的依据是因...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,530
精华内容 8,212
关键字:

多元回归分析方法