机器学习回归分析系列0-最基础的简单线性回归

 01 回归分析概述

回归分析是一种用于理解和量化变量之间关系的统计方法。无论是在社会科学、自然科学、经济学,还是在工程学、医学等领域,回归分析都被广泛应用。通过构建模型,我们可以探索和解释变量之间的关联,并利用这些模型进行预测和推断。

1.1 什么是回归分析?

回归分析的核心思想是通过一个或多个自变量(独立变量)来预测或解释因变量(应变量)的变化。例如,研究人员可能会使用回归分析来探讨教育水平、工作经验等因素如何影响工资收入。回归分析不仅限于预测,它还可以帮助我们理解变量之间的关系,例如判断某个因素是否对结果产生显著影响。

最简单的回归模型是线性回归,它假设因变量与自变量之间的关系可以用一条直线表示。尽管这种假设简单,但线性回归的思想可以扩展到更复杂的模型,比如多项式回归、对数回归、以及其他形式的非线性回归模型。

1.2 为什么使用回归分析?

回归分析之所以重要,是因为它提供了一种系统化的方法来研究变量之间的关系。通过回归分析,我们可以:

  • 解释现象:回归模型帮助我们理解变量之间的关系,例如一个政策变化如何影响经济指标。
  • 预测结果:基于已知数据,回归分析可以用来预测未来的结果。
  • 控制混杂因素:在多变量环境中,回归分析可以帮助我们控制其他因素的影响,从而更清晰地观察某个特定变量的作用。
  • 检验假设:回归分析可以用于假设检验,以确定某个变量是否显著影响结果。
1.3 回归模型的类型

回归模型有多种形式,选择合适的模型取决于研究问题的性质和数据的特征。常见的回归模型包括:

  • 线性回归:假设因变量与一个或多个自变量之间的关系是线性的。
  • 逻辑回归:用于二分类结果的回归模型,因变量是二元的(如0或1)。
  • 多项式回归:考虑自变量的多项式形式,适用于因变量与自变量之间的关系呈现曲线形的情况。
  • 分层线性模型:用于处理分层数据或嵌套结构的数据,常用于社会科学研究。
  • 贝叶斯回归:结合贝叶斯推理,允许在回归分析中引入先验信息。

每种模型都有其特定的应用场景和假设条件,选择适当的回归模型是数据分析中的关键步骤

1.4 回归分析的历史背景

回归分析的历史可以追溯到19世纪。它的最初应用是由弗朗西斯·高尔顿(Francis Galton)提出的,他通过研究发现了“回归现象”,即子女的身高往往会回归到平均值。这一发现促使他提出了“回归”一词,用来描述这一统计规律。高尔顿的工作为现代回归分析奠定了基础。

随后,卡尔·皮尔逊(Karl Pearson)发展了相关系数的概念,用于度量两个变量之间的线性关系。20世纪早期,罗纳德·费希尔(Ronald Fisher)进一步扩展了回归分析的理论框架,提出了最小二乘法估计和方差分析(ANOVA),这些工具成为现代统计学的重要组成部分。

随着计算能力的增强和数据量的增加,回归分析在20世纪中后期得到了广泛应用。从经济学到生物医学,再到社会科学,回归分析成为了各个领域中研究变量关系的标准方法。近年来,随着大数据和机器学习的兴起,回归分析的应用领域进一步扩展,成为数据科学家和研究人员必备的工具之一。

1.5 回归分析的现代应用

在当今社会,回归分析已经成为各个领域中不可或缺的工具。无论是政策制定者、经济学家,还是生物学家和社会科学研究者,回归分析都在帮助他们做出数据驱动的决策。

  • 经济学:经济学家使用回归分析来研究变量之间的因果关系,例如分析税收政策如何影响消费行为。
  • 医学:在医学研究中,回归分析被用于评估治疗效果,控制混杂因素,或者预测患者的生存率。
  • 社会科学:社会科学研究者通过回归分析研究社会现象,如教育水平对收入的影响。
  • 环境科学:研究人员利用回归分析来评估气候变化对生态系统的影响,或预测自然灾害的发生概率。
  • 商业与市场研究:企业使用回归分析来预测销售趋势,分析客户行为,或者优化市场策略。

总之,回归分析在帮助我们理解复杂现象、预测未来趋势和进行科学推断方面发挥着重要作用。。


02 简单线性回归

2.1 简介

简单线性回归是回归分析中最基础的形式之一,它用于研究两个变量之间的线性关系。假设我们有一个因变量 y和一个自变量 x,简单线性回归模型可以表示为: y=β0+β1x+ϵ其中,β0 是截距,表示当 x=0时 y 的值;β1 是斜率,表示x 每增加一个单位,y 预期增加的量;ϵ是误差项,表示模型未能解释的部分。

2.2 估计回归系数

在简单线性回归中,我们的目标是通过数据估计出回归系数 β0和 β1​。最常用的方法是最小二乘法(Ordinary Least Squares, OLS),它通过最小化残差平方和来找到最佳拟合直线。

残差是指实际观察值与回归模型预测值之间的差异:

残差=\text\ = y_i - (\beta_0 + \beta_1 x_i)

最小二乘法的思想是选择 β0 和 β1​ ,使得所有观测点的残差平方和最小。

根据最小二乘法的公式,我们可以求得:

\hat{\beta}_1 = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^{n} (x_i - \bar{x})^2}

\hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{x}

其中,\bar{x}\bar{y}分别是 x 和 y的样本均值。

2.3 模型拟合与解释

一旦我们估计出了回归系数  \hat{\beta}_0\hat{\beta}_1 ​,我们就可以使用回归方程来预测新的 y值。同时,回归系数也可以帮助我们解释 x对 y的影响。例如,如果 \hat{\beta}_1​>0,则说明 x 与 y之间存在正相关关系,x增加会导致 y增加。

此外,回归模型的截距 \hat{\beta}_0的实际意义取决于自变量 xxx 是否在零值附近有意义。例如,在某些情况下,零值可能没有实际意义,这时我们通常更关注斜率系数 \hat{\beta}_1

2.4 残差分析

残差分析是评估回归模型拟合效果的关键步骤。通过分析残差,我们可以检验模型假设的合理性,并发现数据中的异常点或模式。

  • 残差图:将残差与自变量 x绘制在一起,可以帮助我们识别残差是否随机分布。理想情况下,残差应该随机分布在0附近,且不随 x 的变化而呈现系统性趋势。
  • 正态性假设:最小二乘法的一个重要假设是误差项 ϵ服从正态分布。通过绘制残差的直方图或QQ图,我们可以检查这一假设是否成立。
  • 异方差性:异方差性指的是残差的方差随 x的变化而变化。如果存在异方差性,残差的散点图会呈现出一种漏斗形状,这表明模型中可能缺少一些重要的自变量。
2.5 置信区间与假设检验

除了估计回归系数,我们还可以构造置信区间和进行假设检验,以进一步评估模型的可靠性。

  • 置信区间:对于回归系数 \hat{\beta}_1​ ,我们可以构造一个置信区间来表示我们对该估计值的置信程度。置信区间越窄,表明估计值越精确。
  • 假设检验:我们通常会进行 H0:\hat{\beta}_1=0的假设检验,以判断自变量 x 是否对因变量 y有显著影响。如果 p值小于预设的显著性水平(如0.05),我们可以拒绝原假设,认为 x 对 y 的影响是显著的。
2.6 预测与推断

回归分析的另一个重要应用是预测与推断。通过拟合的回归模型,我们可以对新的数据点进行预测,并通过置信区间和预测区间来衡量预测的不确定性。

  • 置信区间:用于估计回归模型对总体参数(如均值)的不确定性。
  • 预测区间:用于估计回归模型对单个新观测值的预测不确定性。

预测区间通常比置信区间更宽,因为它不仅考虑了参数估计的不确定性,还考虑了未来观测的随机性。

2.7 R中的简单线性回归

在R中,我们可以使用lm()函数来拟合简单线性回归模型。例如,以下代码展示了如何在R中拟合一个简单线性回归模型并提取相关的估计值和诊断信息:

# 生成模拟数据
x <- rnorm(100)
y <- 2 + 3 * x + rnorm(100)

# 拟合简单线性回归模型
model <- lm(y ~ x)

# 输出回归结果
summary(model)

# 绘制残差图
plot(model)

以上代码拟合了一个简单的线性回归模型,并通过summary()函数提供了模型的详细信息,包括回归系数、标准误、t值和p值等。plot()函数可以帮助我们可视化残差,以评估模型的拟合效果。

2.8 示例:Galton的身高数据

让我们通过一个经典的例子来更好地理解简单线性回归。这个例子基于弗朗西斯·高尔顿(Francis Galton)的研究数据,展示了父母的身高与子女身高之间的关系。

高尔顿的数据记录了父母的平均身高和他们成年子女的身高。我们可以使用简单线性回归来分析父母的身高(自变量)与子女的身高(因变量)之间的关系。

首先,我们载入数据并拟合一个简单的线性回归模型:

# 载入数据集
data("GaltonFamilies", package = "HistData")
galton <- GaltonFamilies

# 计算父母的平均身高
galton$parentHeight <- (galton$father + galton$mother) / 2

# 拟合简单线性回归模型
model <- lm(childHeight ~ parentHeight, data = galton)

# 输出回归结果
summary(model)

模型输出的结果显示,父母身高对子女身高有显著影响。斜率系数的估计值表明,父母平均身高每增加1单位,子女身高平均增加大约0.5单位。

2.9 解释模型结果

回归模型的结果可以通过多种方式进行解释。最直接的方式是看回归系数的符号和大小。正的回归系数意味着自变量与因变量之间存在正向关系,反之亦然。

在高尔顿的例子中,回归系数的大小反映了父母身高对子女身高的影响程度。截距项表示当父母平均身高为零时,子女的预期身高。这在现实中没有实际意义,但在模型中,它有助于确定回归线的位置。

除了回归系数,模型的 R^2值也是一个重要的衡量指标。R^2表示模型解释的因变量总变异的比例。在高尔顿的例子中,较高的 R^2值意味着父母的身高很好地解释了子女身高的变异性。

2.10 模型诊断

在任何回归分析中,模型诊断都是一个关键步骤,用来确保模型的适用性和准确性。在简单线性回归中,我们可以通过残差分析来诊断模型是否符合假设条件。

  1. 残差正态性:绘制残差的直方图或QQ图,检查残差是否呈正态分布。
  2. 残差的独立性和同方差性:绘制残差图,检查残差是否随机分布,并且没有显示出系统性模式。
  3. 异常值和高杠杆点:识别可能显著影响模型拟合的异常值和高杠杆点,并根据情况决定是否应移除这些点。

在高尔顿的例子中,我们可以使用以下代码来进行模型诊断:

# 残差正态性检查
hist(residuals(model), main="Residuals Histogram", xlab="Residuals")

# QQ图
qqnorm(residuals(model))
qqline(residuals(model))

# 绘制残差图
plot(fitted(model), residuals(model), main="Residuals vs Fitted")
abline(h=0, col="red")

这些图形将帮助我们评估模型是否符合线性回归的基本假设,并识别数据中的潜在问题。

2.11 简单线性回归的局限性

虽然简单线性回归是一个强大的工具,但它也有一些局限性:

  • 线性假设:简单线性回归假设因变量和自变量之间的关系是线性的,但在现实中,这种关系可能是非线性的。
  • 单一自变量:简单线性回归仅考虑一个自变量,而实际情况通常涉及多个影响因变量的因素。
  • 对异常值敏感:简单线性回归对数据中的异常值非常敏感,这些异常值可能会显著影响模型的拟合结果。
  • 无法控制混杂变量:简单线性回归无法控制可能同时影响自变量和因变量的混杂变量,这可能导致混淆或偏差。

尽管如此,简单线性回归仍然是理解和分析数据关系的一个起点。随着分析的深入,我们通常会扩展到更复杂的回归模型,如多元回归、广义线性模型和分层模型等。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值