首页 > 其他分享 >回归分析汇总

回归分析汇总

时间:2024-08-28 14:26:28浏览次数:6  
标签:分析 共线性 变量 回归 boldsymbol 汇总 yi Regression

回归分析汇总

回归分析是一种预测性的建模技术,它研究的是因变量和自变量之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。

回归分析的作用

  • 找到真正影响因变量的自变量
  • 确定自变量对因变量影响的大小
  • 将回归模型用于预测

评估性能

常采用 M S E MSE MSE、 M A E MAE MAE以及 R 2 R^2 R2作为评价模型性能的指标

  • 回归平方和(Sum of Squared Regression)
    预测数据与原始数据均值之差的平方和
    S S R = ∑ i = 1 n ( y i ^ − y ˉ ) 2 SSR=\sum_{i=1}^n(\hat{y_i}-\bar{y})^2 SSR=i=1∑n​(yi​^​−yˉ​)2

  • 残差平方和(Sum of Squared Errors)
    拟合数据和原始数据对应点的误差的平方和
    S S E = ∑ i = 1 n ( y i − y i ^ ) 2 SSE=\sum_{i=1}^n(y_i-\hat{y_i})^2 SSE=i=1∑n​(yi​−yi​^​)2

  • 总偏差平方和(otal sum of squares)
    平均值与真实值的误差,反映与数学期望的偏离程度
    S S T = S S R + S S E = ∑ i = 1 n ( y i − y ˉ ) 2 SST=SSR+SSE=\sum_{i=1}^n(y_i-\bar{y})^2 SST=SSR+SSE=i=1∑n​(yi​−yˉ​)2

  • 决定系数(R-square score)
    R 2 ( y , y ^ ) = 1 − S S R S S T = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2(y,\hat{y})=1-\frac{SSR}{SST}=1-\frac{\sum_{i=1}^n(y_i-\hat{y}_i)^2}{\sum_{i=1}^n(y_i-\bar{y})^2} R2(y,y^​)=1−SSTSSR​=1−∑i=1n​(yi​−yˉ​)2∑i=1n​(yi​−y^​i​)2​

  • 绝对平均误差(Mean absolute error)
    MAE ( y , y ^ ) = 1 n ∑ i = 0 n ∣ y i − y ^ i ∣ \text{MAE}(y,\hat{y})=\frac1{n} \sum _ { i = 0 }^{n}|y_i-\hat{y}_i| MAE(y,y^​)=n1​i=0∑n​∣yi​−y^​i​∣

  • 均方误差(Mean squared error)
    M S E ( y , y ^ ) = 1 n S S E = 1 n ∑ i = 0 n ( y i − y ^ i ) 2 \mathrm{MSE}(y,\hat{y})=\frac{1}{n}SSE=\frac1{n}\sum_{i=0}^{n}(y_i-\hat{y}_i)^2 MSE(y,y^​)=n1​SSE=n1​i=0∑n​(yi​−y^​i​)2

线性回归(Linear Regression)

线性回归用于预测分析。 线性回归是一种线性方法,用于对标准或标量响应与多个预测变量或解释变量之间的关系进行建模。线性回归侧重于给定预测变量值的响应的条件概率分布。
y = β 0 + β 1 x + μ y=\beta_0+\beta_1x+\mu y=β0​+β1​x+μ

多元线性回归的基本假设

  • 变量之间的关系是线性的
  • 同方差性,或者变量和误差项的方差必须保持不变(干扰项必须服从随机分布)
  • 所有解释变量都是相互独立的(无多重共线性)
  • 所有变量都是正态分布的

参数估计方法

  • Ordinary Least Square(OLS)普通最小二乘,最小化SSE
    min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 \min_{\boldsymbol{w}}\sum_{i=1}^m(y_i-\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i)^2 wmin​i=1∑m​(yi​−wTxi​)2

  • Weighted Least Squares(WLS)带权重的最小二乘

  • Generalized Least Squares(GLS)广义最小二乘

sklearn中的LinearRegression使用OLS方法,statsmodels中支持OLSWLSGLS等多种方法

多重共线性

多重共线性是指线性回归模型中的解释变量之间由于存在精确或高度相关关系。多重共线性会导致模型失真、参数难以估计、模型稳定性低等等。检验多重共线性有以下方法:

  • 方差膨胀因子VIF,VIF值大于10时(严格是5),代表模型存在严重的多重共线性
  • 对自变量进行相关分析
  • 条件数Cond. No.

消除多重共线性的方法:

  • 删除高度相关的变量(逐步回归法)
  • 在损失函数中引入L2或L1正则项(Ridge和Lasso)
  • 特征合并或者特征组合
  • 特征降维(PCA、因子分析)

statsmodels提供了计算VIF和Cond. No. 的函数

什么时候会在意多重共线性?

如果你所关注的是模型的拟合或者预测效果,多重共线性问题对模型的拟合值和预测值是没有影响的(当然对置信区间是有影响)

如果你关注的是每个解释变量各自对被解释变量的影响(在经济学中称为“结构分析”),那也没有理由因为多重共线性问题而改变模型的结构

线性回归假设检验

模型显著性检验:

F检验:如果Prob(F-statistic)<0.05,则说明在置信度为95%时,可以认为回归模型是成立的。

系数显著性检验:

T检验:如果相应的P值<0.05(0.1),说明该系数在置信度为95%(90%)水平下,系数是显著的。如果系数不显著,说明对应的变量不能添加到模型中,需要对变量进行筛选,重新建立回归模型。

残差自相关性检验:

Durbin-Watson检验:其取值为[0,4],数值越接近2说明越没有自相关,越接近4说明残差具有越强的负自相关,越接近0说明残差具有越强的正自相关。残差中有很强的自相关说明模型需要调整

残差正态性检验:

Jarque-Bera检验:根据线性回归模型的要求,残差必须服从正态分布,所以Prob(JB)>0.5是我们想要的结果,越大越好。

多重共线性检验:

Cond. No.:条件数用来度量多元回归模型自变量之间是否存在多重共线性。条件数取值是大于0的数值,该值越小,越能说明自变量之间不存在多重共线性问题。

  • 一般情况下,Cond.No.<100,说明共线性程度小;
  • 如果100<Cond.No.<1000,则存在较多的多重共线性;
  • 如果Cond.No.>1000,则存在严重的多重共线性。

使用statsmodels进行OLS回归的输出结果

                            OLS Regression Results
==============================================================================
Dep. Variable:                      y   R-squared:                       0.610
Model:                            OLS   Adj. R-squared:                  0.610
Method:                 Least Squares   F-statistic:                     2826.
Date:                Wed, 27 Mar 2024   Prob (F-statistic):               0.00
Time:                        19:35:20   Log-Likelihood:                -15752.
No. Observations:               14447   AIC:                         3.152e+04
Df Residuals:                   14438   BIC:                         3.159e+04
Df Model:                           8
Covariance Type:            nonrobust
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const        -36.7306      0.775    -47.398      0.000     -38.250     -35.212
x1             0.4467      0.005     89.491      0.000       0.437       0.456
x2             0.0098      0.001     18.316      0.000       0.009       0.011
x3            -0.1188      0.007    -17.000      0.000      -0.133      -0.105
x4             0.7653      0.035     21.760      0.000       0.696       0.834
x5         -1.109e-06   5.94e-06     -0.187      0.852   -1.27e-05    1.05e-05
x6            -0.0044      0.001     -4.832      0.000      -0.006      -0.003
x7            -0.4171      0.008    -49.245      0.000      -0.434      -0.400
x8            -0.4305      0.009    -48.599      0.000      -0.448      -0.413
==============================================================================
Omnibus:                     3065.671   Durbin-Watson:                   2.028
Prob(Omnibus):                  0.000   Jarque-Bera (JB):             9085.339
Skew:                           1.104   Prob(JB):                         0.00
Kurtosis:                       6.196   Cond. No.                     2.31e+05
==============================================================================

多项式回归(Polynomial Regression)

这是线性回归的扩展,用于对因变量和自变量之间的非线性关系进行建模。通过多项式特征,我们可以很容易地拟合目标特征和输入特征之间的一些非线性关系。
y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 1 x 2 + β 4 x 1 2 + β 5 x 2 2 y=\beta_0+\beta_1x_1+\beta_2x_2+\beta_3x_1x_2+\beta_4x_1^2+\beta_5x_2^2 y=β0​+β1​x1​+β2​x2​+β3​x1​x2​+β4​x12​+β5​x22​

多项式回归不可避免会引入多重共线性

Ramsey’s RESET test for neglected nonlinearity

岭回归(Ridge Regression)

岭回归就是在残差平凡和最小化的基础上加了一个L2范数的惩罚项,L2范数就是平方和开根号,L2正则化只会让参数尽量小,不会取到0
min ⁡ w ( ∑ i = 1 m ( y i − w T x i ) 2 + λ ∥ w ∥ 2 2 ) \min_{\boldsymbol{w}}\left(\sum_{i=1}^m(y_i-\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i)^2+\lambda\|\boldsymbol{w}\|_2^2\right) wmin​(i=1∑m​(yi​−wTxi​)2+λ∥w∥22​)

套索回归(Lasso Regression)

套索回归就是在残差平凡和最小化的基础上加了一个L1范数的惩罚项,L1范数就是绝对值之和,L1正则化会将参数压缩到0
min ⁡ w ( ∑ i = 1 m ( y i − w T x i ) 2 + λ ∥ w ∥ 1 ) \min_{\boldsymbol{w}}\left(\sum_{i=1}^m(y_i-\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i)^2+\lambda\|\boldsymbol{w}\|_1\right) wmin​(i=1∑m​(yi​−wTxi​)2+λ∥w∥1​)

弹性网络回归(ElasticNet Regression)

结合套索回归和岭回归的改进,同时加入L1和L2正则化项
min ⁡ w ( ∑ i = 1 m ( y i − w T x i ) 2 + λ ρ ∥ w ∥ 2 2 + λ ( 1 − ρ ) 2 ∥ w ∥ 1 ) \min_{\boldsymbol{w}}\left(\sum_{i=1}^m(y_i-\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i)^2+\lambda\rho\|\boldsymbol{w}\|_2^2+\frac{\lambda(1-\rho)}{2}\|\boldsymbol{w}\|_1\right) wmin​(i=1∑m​(yi​−wTxi​)2+λρ∥w∥22​+2λ(1−ρ)​∥w∥1​)

逐步回归(Stepwise Regression)

逐步回归用于将回归模型与预测模型拟合。它是自动执行的。每一步,都会在解释变量集中添加或减去变量。逐步回归的方法是前向选择、后向消除和双向消除。

  • Forward selection:将自变量逐个引入模型,引入一个自变量后要查看该变量的引入是否使得模型发生显著性变化(F检验),如果发生了显著性变化,那么则将该变量引入模型中,否则忽略该变量,直至所有变量都进行了考虑。即将变量按照贡献度从大到小排列,依次加入。
  • Backward elimination:与Forward selection选择相反,在这个方法中,将所有变量放入模型,然后尝试将某一变量进行剔除,查看剔除后对整个模型是否有显著性变化(F检验),如果没有显著性变化则剔除,若有则保留,直到留下所有对模型有显著性变化的因素。即将自变量按贡献度从小到大,依次剔除。
  • Bidirectional elimination:逐步筛选法。是在第一个的基础上做一定的改进,当引入一个变量后,首先查看这个变量是否使得模型发生显著性变化(F检验),若发生显著性变化,再对所有变量进行t检验,当原来引入变量由于后面加入的变量的引入而不再显著变化时,则剔除此变量,确保每次引入新的变量之前回归方程中只包含显著性变量,直到既没有显著的解释变量选入回归方程,也没有不显著的解释变量从回归方程中剔除为止,最终得到一个最优的变量集合。

逻辑斯特回归

在线性回归的基础上,对输出结果应用sigmoid函数(分类器),作为类判别概率

激活函数

s i g m o i d ( x ) = 1 1 + e − x s i g m o i d ′ ( x ) = e − x ( 1 + e − x ) 2 = s i g m o i d ( x ) ( 1 − s i g m o i d ( x ) ) sigmoid(x)=\frac{1}{1+e^{-x}}\\ sigmoid^{'}(x)=\frac{e^{-x}}{(1+e^{-x})^2}=sigmoid(x)(1-sigmoid(x)) sigmoid(x)=1+e−x1​sigmoid′(x)=(1+e−x)2e−x​=sigmoid(x)(1−sigmoid(x))

对数损失函数

对数损失(Log Loss),也称为二元交叉熵损失(Binary Cross-Entropy Loss),是一种常用的损失函数,主要用于二分类问题中,用于衡量模型预测结果与真实标签之间的差异。
L o g   L o s s = − 1 N ∑ i = 1 N [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] \mathrm{Log~Loss}=-\frac1N\sum_{i=1}^N\left[y_i\log(\hat{y}_i)+(1-y_i)\log(1-\hat{y}_i)\right] Log Loss=−N1​i=1∑N​[yi​log(y^​i​)+(1−yi​)log(1−y^​i​)]

标签:分析,共线性,变量,回归,boldsymbol,汇总,yi,Regression
From: https://blog.csdn.net/qq_65799630/article/details/141639653

相关文章

  • 网络流量分析与异常检测系统是网络安全领域的重要工具
        网络流量分析与异常检测系统是网络安全领域的重要工具,用于监控网络流量并识别潜在的恶意活动或异常行为这类系统通常结合机器学习、数据挖掘和统计分析技术,以实现高准确性和实时性。在互联网迅速发展的今天,网络安全问题日益突出,网络流量分析与异常检测系统的重要性......
  • IsaacLab框架分析
    目录强化学习基本框架OnPolicyAlgorithm类PPO强化学习基本框架OnPolicyAlgorithm类OnPolicyAlgorithm类,是稳定基线3(StableBaselines3)中所有策略梯度(On-Policy)强化学习算法的基类,例如A2C和PPO。主要功能:初始化和设置:初始化算法的参数,包括策略网络、环境、学......
  • Pixhawk飞控不能解锁常见问题汇总
    在平时飞控调试和使用过程中,会碰到各种各样的问题导致飞控无法解锁。只要解锁条件不满足,飞控就会闪黄灯。遇到这种情况,我们应该首先将飞控连接地面站,在消息窗口查看警报,根据报警来处理。我们现将常见的报警汇总如下,供大家参考。持续更新,敬请收藏!首先连接飞控来到地面站查看报......
  • 【整理】 【Windows系列】Windows安全日志分析实战:关键事件+详解
    参考......
  • 深度确定问题中的树森林操作:分析与实现
    深度确定问题中的树森林操作:分析与实现前言定义与理解应用场景解决方法最坏情况运行时间的证明MAKE-TREE的实现FIND-DEPTH的实现GRAFT的实现最坏情况运行时间的紧确界结束语前言深度确定问题是一个在计算机科学、人工智能及多个应用领域广泛存在的问题,它......
  • 分享一个基于Python的程序员薪资数据分析可视化与岗位推荐系统flask爬虫毕设(源码、调
    ......
  • 免费、开源、详细完整的unity游戏、游戏源码、教程:人工智能分析和处理对话的美好三维
    这份unity游戏、游戏源码、教程:完全免费,完全开源,完整详细,通俗易懂,适合初学者入门,定期更新。我不想和任何人说话,任何人不要跟我说话,不要打扰我,我要安安静静的写。我解释一下原因:俗话说“道不同,不相与谋。”不是一个情感世界的人,就不该相互说话,两个不同情感世界的人,心灵是无法彼此......
  • 什么是数据分析
    什么是数据分析?数据分析检查、清理、转换和建模数据,以提取见解并支持决策。作为数据分析师,您的角色包括剖析大量数据集、挖掘隐藏的模式以及将数字转换为可操作的信息。数据分析流程是怎样的?数据分析过程是一个结构化的步骤序列,从原始数据到可操作的见解。以下是什么是数......
  • go.uber.org/ratelimit 源码分析
    go.uber.org/ratelimit源码分析go提供了一用来接口限流的包。其中"go.uber.org/ratelimit"包正是基于漏桶算法实现的。使用方式:通过ratelimit.New创建限流器对象,参数为每秒允许的请求数(RPS)。使用Take()方法来获取限流许可,该方法会阻塞请求知道满足限速要求。官方示......
  • 【计算机组成原理】汇总四、指令系统
    四、指令系统文章目录四、指令系统1.指令格式2.分类2.1根据地址码数目不同2.1.1零地址指令2.1.2一地址指令2.1.3二地址指令2.1.4三地址指令2.1.5四地址指令2.2根据指令长度2.3根据操作码的长度不同2.3.1==拓展操作码==2.4根据操作类型3.指令寻址3.1顺序寻址3.2跳跃寻......