当前位置: 首页 > news >正文

数学建模——回归分析

1.概念

回归分析是一种统计方法,用于研究变量之间的关系。它可以帮助我们确定一个或多个自变量(解释变量)对因变量(被解释变量)的影响程度,并建立数学模型来描述这种关系。

相关分析回归分析
区别相关分析是一种统计方法,用于衡量两个或多个变量之间的线性关系强度和方向。它主要关注变量之间的关联程度,而不涉及因果关系的推断。回归分析是一种用于研究一个因变量和一个或多个自变量之间关系的统计方法。它可以帮助我们建立因变量和自变量之间的数学模型,从而对因变量进行预测和控制。
侧重点变量之间的关联程度对因变量进行预测和控制

术语解释:

1.描述因变量y的期望值如何依赖于自变量x的方程叫做回归方程

比如y=a+bx注意这里没有误差项\epsilon

2.回归方程计算出的结果叫做估计值

3.实际测量结果称为观测值

4.观测值与估计值的差为残差(观测值-估计值).残差越小预测越精准

5.因变量 :也叫被解释变量、反应变量或输出变量。它是回归分析中要预测或解释的对象,其值被认为是由自变量所影响。例如,在研究广告投入对产品销售额的影响时,产品销售额就是因变量。

6.自变量 :也叫解释变量、预测变量或输入变量。它是用来预测或解释因变量的变量。在广告投入和产品销售额的例子中,广告投入就是自变量。

7.回归模型是描述因变量和自变量之间关系的数学方程。它可以是简单线性回归模型 y=a+bx+\epsilon

其中

yxab\epsilon
因变量自变量截距斜率误差项

也可以是多元线性回归模型 y=a+b_1x_1+b_2x_2+\cdots +b_nx_n+\epsilon ,包含多个自变量。

8.最小二乘法是一种估计回归模型参数的常用方法。它的基本原理是通过最小化实际观测值与模型预测值之间的误差平方和来确定回归模型的参数值。对于简单线性回归模型y=a+bx+\epsilon ,最小二乘法会找到使得 \sum (y_i-(a+bx_i))^2最小的 a 和 b 的值。

数学原理

假设有一组观测数据 $(x_i, y_i)$,拟合模型为 $y = f(x, \beta)$,其中 $\beta$ 为待估参数。最小二乘法的目标是找到$\beta$ 使得残差平方和最小:

S(\beta) = \sum_{i=1}^n [y_i - f(x_i, \beta)]^2

对线性模型 $y = X\beta + \epsilon$$X$ 为设计矩阵,$\epsilon$ 为误差),最小二乘解为:

$ \hat{\beta} = (X^T X)^{-1} X^T y $

应用步骤

  1. 数据准备
    收集观测数据 $(x_i, y_i)$,确定拟合模型形式(如线性、多项式等)。

  2. 构建设计矩阵
    对于线性模型 $y = \beta_0 + \beta_1 x$,设计矩阵 $X$为:
    $ X = \begin{bmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_n \end{bmatrix} $

  3. 计算参数估计
    使用公式 $\hat{\beta} = (X^T X)^{-1} X^T y$ 求解参数。若$X^T X$ 不可逆,需引入正则化或使用数值方法。

  4. 评估拟合效果
    通过残差分析、决定系数$R^2$等指标评估模型拟合优度。

9.似然函数的核心意义在于,它衡量了在给定观测数据的情况下,不同参数值的可能性。参数值使得似然函数最大的那个值,通常被认为是“最有可能”生成观测数据的参数值,这就是极大似然估计(Maximum Likelihood Estimation, MLE)的基本思想。

10.置信区间是对总体参数(如总体均值、总体比例等)的估计范围。它表示在给定的置信水平下,总体参数可能落入的区间范围。

11.预测区间是对未来某个个体观测值的估计范围。它不仅考虑了估计值的不确定性,还考虑了个体观测值本身的随机波动。一般预测区间范围会大一点

12.多重共线性是指在多元回归模型中,自变量之间存在高度相关性的情况。这会导致回归模型参数估计的不稳定,使得难以准确判断各个自变量对因变量的独立影响。例如,在一个包含自变量 “产品价格” 和 “产品促销力度” 的回归模型中,如果这两个自变量之间高度相关,就可能存在多重共线性问题。

13.显著性检验用于判断回归模型中的自变量对因变量的影响是否显著。常见的显著性检验有 t 检验和 F 检验。

t 检验用于检验单个自变量的回归系数是否显著不为 0 。如果某个自变量的 t 检验的 p− 值小于显著性水平(如 0.05),则认为该自变量对因变量的影响是显著的。
F 检验用于检验整个回归模型的显著性,即检验所有自变量对因变量的联合影响是否显著。如果 F 检验的 p− 值小于显著性水平,则认为整个回归模型是显著的。

回归分析的一般步骤:

step1step2step3step4
确定回归方程中的解释变量和被解释变量确立回归模型,建立回归方程(线性/非线性,一元/多元)检验回归方程预测

2.一元线性回归分析

y=\beta _0+\beta_1x

\begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix}=\begin{bmatrix} 1 &x_1 \\ 1& x_2\\ 1 &\cdots \\ 1&x_n \end{bmatrix}\begin{bmatrix} \beta_0\\ \beta_1 \end{bmatrix}\Leftrightarrow Y=X\beta

函数:

[b, bint, r, rint, stats] = regress(y, X);

参数

  • y:因变量(响应变量),是一个列向量。它包含要预测或解释的数据

  • X:自变量(预测变量),是一个矩阵,其中每一列代表一个自变量。通常,X 的第一列是全1的列(即截距项),以估计回归模型的截距(常数项)。如果 X 中不包含全1的列,则 regress 函数不会自动添加截距项。

返回值

补充残差绘图rcoplot(r,rint)

  • b回归系数的估计值。它是一个列向量,长度等于 X 的列数。例如,如果 X 有 k 列(包括截距项),则 b 将包含 k 个回归系数。

  • bint回归系数的置信区间,是一个矩阵,每行对应一个回归系数。置信区间的默认置信水平为 95%。

  • r残差,即实际观测值与模型预测值之间的差异。它是一个列向量,长度等于 y 的长度。

  • rint残差的置信区间,是一个矩阵,每行对应一个残差。置信区间的默认置信水平为 95%。可以使用 rint 来识别那些残差显著偏离零的观测值(即离群值)。

  • stats:一个包含四个统计量的向量:

    • stats(1):R 平方值(R-squared),表示模型对数据的解释程度。取值范围在 0 到 1 之间,值越接近 1,说明模型对数据的解释能力越强

    • stats(2):F 统计量,用于检验整个回归模型的显著性。F 统计量的值越大,说明模型越显著

    • stats(3)与 F 统计量对应的 p 值。p 值小于显著性水平(如 0.05)时,可以拒绝原假设(即所有回归系数都为零),认为模型显著。

    • stats(4)误差项的估计方差

绘图:

z = b(1) + b(2)*x
plot(x, Y,'k+',x,z,'r')

plot这里一次完成两个部分,前半部分是x与y的对应关系,后半段是画了直线

3.多元线性回归模型

y=\beta _0+\beta_1x_1+\cdots+\beta_kx_k(回归平面方程)

\left\{\begin{matrix} Y=X\beta+\epsilon \\ E(\epsilon )=0,COV(\epsilon ,\epsilon ) =\sigma ^2I_n \end{matrix}\right.

为k元线性回归模型,简记为(Y,X\beta,\sigma^2I_n)

Y=\begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix},X=\begin{bmatrix} 1 &x_{12} &x_{12} & \cdots & x_{1k}\\ 1& x_{21}& x_{22}& \cdots & x_{2k}\\ \cdots & \cdots & \cdots & \cdots & \cdots\\ 1& x_{n1} & x_{n2} & \cdots& x_{nk} \end{bmatrix},\beta=\begin{bmatrix} \beta_0 \\ \beta_1\\ \cdots \\ \beta_k \end{bmatrix}

补充知识点:

协方差:COV

含义:

协方差(Covariance)是衡量两个随机变量之间线性关系的统计量。它描述的是两个变量的变化趋势是否一致。

如果协方差        为正        ,说明两个变量倾向于同时增加或减少;                正相关

如果                   为负        ,说明一个变量增加时另一个变量倾向于减少;     负相关

如果                   为零        ,说明两个变量之间没有线性关系。                       无关

计算公式:

\text{Cov}(X, Y) = E[(X - E[X])(Y - E[Y])]

其中:

  • ( E[X] ) 和 ( E[Y] ) 分别是 ( X ) 和 ( Y ) 的期望值。
  • ( E ) 表示期望运算符。
作用:
  1. 检查模型假设:计算误差项的相关性主要是为了检查模型是否满足“误差项相互独立”这一假设。如果误差项之间有相关性,说明模型可能有问题,比如遗漏了重要变量或存在其他模式。

  2. 提高模型准确性:如果发现误差项有相关性,可以通过调整模型(比如引入新变量或改变模型形式)来提高预测的准确性。

  3. 确保统计推断有效:很多统计方法(比如假设检验)都依赖于误差项的独立性和同方差性。计算相关性可以确保这些方法得出的结论是可靠的。

简单来说,计算误差项的相关性是为了验证模型是否合理,并通过调整模型来提高预测的准确性和可靠性。

参数估计:

用最小二乘法求\beta_0, \ldots, \beta_k的估计量:作离差平方和

Q = \sum_{i=1}^{n} \left(y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_k x_{ik}\right)^2

选择\beta_0, \ldots, \beta_k使得Q最小

解得估计值\hat{\beta} = (X^T X)^{-1} (X^T Y)

得到的\hat{\beta}_i带入回归平面方程得到:

y = \hat{\beta}_0 + \hat{\beta}_1 x_1 + \cdots + \hat{\beta}_k x_k

称作经验回归平面方程,\hat{\beta}_i称作经验回归系数

数据检验:

检验模式作用计算决策规则
F检验检验整个回归模型是否显著,即所有解释变量对被解释变量的联合影响是否显著。

F=\frac{RSS/k}{ESS/(n-k-1)}

RSS 为回归平方和,ESS 为残差平方和,k 为解释变量个数,n 为样本容量。

若计算出的 F 值大于临界值,则拒绝原假设,认为回归模型整体显著。

R检验衡量模型对数据的拟合优度,表示解释变量对被解释变量变异的解释程度。R^2=\frac{RSS}{TSS}0 到 1 之间。R^2 越接近 1,模型拟合优度越高,解释变量对被解释变量的解释能力越强。
t检验检验模型中单个解释变量对被解释变量的影响是否显著。t=\frac{\hat{\beta}_j}{SE(\hat{\beta}_j)}若计算出的 t 值的绝对值大于临界值,则拒绝原假设,认为该解释变量对被解释变量的影响显著。

预测:

点预测 (Point Prediction)
  • 定义:点预测是为未来的某个特定观测值或某个事件的结果提供一个单一的预测值。

  • 特点

    • 提供一个具体的数值,表示预测结果。

    • 适合需要明确预测值的场景,如预测某个产品的销售额。

    • 没有反映结果的不确定性,只是一个中心估计值

  • 示例

    • 如果一个模型预测某产品下个月的销售额为5000元,这就是一个点预测。它仅给出一个具体的预测值,没有提供任何关于预测准确性或误差范围的信息。

区间预测 (Interval Prediction)
  • 定义:区间预测是为未来的某个特定观测值或某个事件的结果提供一个范围(区间),并给出该结果落在这个区间内的概率。

  • 特点

    • 提供一个范围(区间),表示预测结果可能落在的范围

    • 反映了结果的不确定性,给出预测值的上下限

    • 需要设定一个置信水平(如95%),表示预测结果落在这个区间内的概率。

  • 示例

    • 同样预测某产品下个月的销售额,区间预测可能会说销售额落在4500元到5500元之间的概率为95%。这个区间表示预测结果的不确定性,并且给出一个概率范围。

总结

  • 点预测:给出单一预测值,不反映不确定性。

  • 区间预测:给出预测区间,反映结果的不确定性,并给出置信概率。

matlab函数

[b, bint, r, rint, stats] = regress(y, X,alpha);

补充一个α:在回归分析中,显著性水平(Significance Level)是一个关键概念,通常用希腊字母 α 表示。它用于假设检验,帮助我们决定是否拒绝原假设。

逐步回归

最优的回归方程就是包含所有对Y有影响的变量,而不包含对Y影响不显著的变量回归方程

逐步回归分析法的思想:

从一个自变量开始,根据自变量对Y作用的显著程度,从大到小地依次逐个引入回归方程

当引入的自变量由于后引入变量而变得不显著时要将其剔除掉

引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的第一步

对于每一步都要进行Y值检验,以确保每次引入新的显著性变量前回归方程中只包含对Y作用的显著的变量

反复进行直到既无不显著的变量从回归方程中剔除,又无显著变量可以引入回归方程

stepwise(X, y, inmodel, alpha)
  1. X:解释变量矩阵,每一列代表一个解释变量。

  2. y:因变量向量。

  3. inmodel:可选参数,指定初始模型中包含的变量。它可以是一个逻辑向量或一个整数向量,表示哪些变量初始时包含在模型中。默认情况下,初始模型为空模型(不包含任何变量)。

  4. alpha:显著性水平,默认0.05

4.非线性回归

核心目标:

选定曲线然后想办法转化成熟悉的线性回归

比如:y=ae^x,左右同时取对数lny=lnae^x=lna+lne^x=lna+x

那么\hat{y}{}'=lny,x{}'=x,\hat{b}=lna然后就相当于求解线性回归,求出系数后再替换自变量和因变量即可

常规回归:

比较容易选定的曲线有:

双曲函数曲线y=\frac{x}{a+bx}

以第一个为例

左右取倒数

y=\frac{x}{a+bx}

\frac{1}{y}=\frac{a+bx}{x}

=a\cdot \frac{1}{x}+b

因此

Y=aX+b

Y=\frac{1}{y},X=\frac{1}{x}

y=\frac{a+bx}{x}

(a>0,b>0)

y=\frac{1}{a+bx}
幂函数曲线y=ax^b

左右取对,把xy分开

lny=lna+blnx

Y=lny,X=lnx

指数函数曲线y=ab^{x}

左右取对,把xy分开

lny=lna+xlnb

Y=lny,X=x

倒指数曲线y=ab^{\frac{c}{x}}

左右取对,把xy分开

lny=lna+\frac{c}{x}lnb

lny=lna+clnb\frac{1}{x}

Y=lny,X=\frac{1}{x}

对数函数曲线y=a+blnx

y=a+blnx

Y=y,X=lnx

s型曲线y=\frac{k}{1+ae^{-bx}}

两边取倒数再取对数

\frac{1}{y}=\frac{1+ae^{-bx}}{k}

\frac{k}{y}=1+ae^{-bx}

\frac{k}{y}-1=\frac{k-y}{y}=ae^{-bx}

ln\frac{k-y}{y}=lna-bx

Y=ln\frac{k-y}{y},X=x

多项式回归:

当没有比较合适的曲线拟合时采用

回归模型:Y=\beta_0+\beta_1x+\beta_2x^2+\cdots+\beta_px^p+\epsilon

回归多项式:Y=\beta_0+\beta_1x+\beta_2x^2+\cdots+\beta_px^p

[p,S] = polyfit(x, y, n)

参数说明

  1. x:自变量数据向量,表示数据点的横坐标。

  2. y:因变量数据向量,表示数据点的纵坐标。

  3. n:多项式次数,指定拟合多项式的最高次数。

返回值

  • p:返回一个行向量,包含拟合多项式的系数。向量的长度为 n + 1,按降幂排列,即从最高次项到常数项。

  • S:是一个数据结构用来估计误差

一元多项式回归命令

polytool(x, y, n)
polytool(x, y, n, alpha)

参数说明

  1. x:自变量数据向量,表示数据点的横坐标。

  2. y:因变量数据向量,表示数据点的纵坐标。

  3. n:多项式次数,指定拟合多项式的最高次数。

  4. alpha:显著性水平,用于确定置信区间的宽度。默认值为 0.05,对应的置信水平为 95%。

功能

  • 交互式界面polytool 打开一个交互式界面,显示拟合的多项式曲线和置信区间。

  • 预测值:可以预测指定自变量值对应的因变量值。

  • 置信区间:提供预测值的置信区间范围。

预测和预测误差估计

求polyfit所得到的回归多项式在x处的预测值

Y=polyval(p,x)

求polyfit所得到的回归多项式在x处的预测值以及预测值的显著性为alpha的置信区间

[Y,DELTA]=polyconf(p,x,S,alpha)

多元二项式回归

rstool(X, y, model, alpha)
  • X:预测变量矩阵,每列代表一个变量。
  • y:响应变量向量。
  • model:可选字符串,指定模型类型:
    • 'linear'(默认):线性项。
    • y=\beta_0+\beta_1x_1+\cdots +\beta_mx_m
    • 'purequadratic':线性项加纯二次项。
    • y=\beta_0+\beta_1x_1+\cdots +\beta_mx_m+\sum_{j=1}^{n}\beta_{jj}x_{j}^2
    • 'interaction':线性项加交互项。
    • y=\beta_0+\beta_1x_1+\cdots +\beta_mx_m+\sum_{1\leq j\neq k \leq m}^{}\beta_{jk}x_{j}x_k
    • 'quadratic':完全二阶模型(线性+交互+二次项)。
    • y=\beta_0+\beta_1x_1+\cdots +\beta_mx_m+\sum_{1\leq j, k \leq m}^{}\beta_{jk}x_{j}x_k
  • alpha:置信区间显著性水平(默认 0.05)。

返回值:

  • beta 是回归系数向量,表示拟合模型的参数。
  • rmse 是均方根误差,衡量模型的拟合精度。
  • residuals 是残差向量,表示观测值与预测值之间的差异。

一般非线性回归

beta = nlinfit(X, Y, modelfun, beta0)
[beta, R, J, CovB, MSE] = nlinfit(X, Y, modelfun, beta0)

参数:

  • X: 自变量数据(矩阵或列向量)
  • Y: 因变量观测值(列向量)
  • modelfun: 非线性模型函数句柄(需预先定义 .m 文件)
  • beta0: 参数初始估计值(向量)

返回值:

  • beta: 拟合参数的最优估计值
  • R: 残差向量
  • J: 雅可比矩阵(用于置信区间计算)
  • CovB: 参数估计的协方差矩阵
  • MSE: 均方误差

预测和误差估计(作图)

[Y,DELTA]=nlpredci('model',x,beta,r,J)
http://www.xdnf.cn/news/1277983.html

相关文章:

  • 【GPT入门】第44课 检查 LlamaFactory微调Llama3的效果
  • 集成电路学习:什么是Parameter Server参数服务器
  • 机器学习-增加样本、精确率与召回率
  • Java开源代码源码研究:我的成长之路与实战心得分享
  • 学习分库分表的前置知识:高可用系统架构理论与实践
  • 构建企业级Odoo 18 WMS——功能、架构与拓展蓝图
  • LeetCode每日一题,2025-8-10
  • 《C语言》结构体和联合体练习题--2
  • 前端学习日记 - 前端函数防抖详解
  • 无人机集群协同三维路径规划,采用梦境优化算法(DOA)实现,Matlab代码
  • python魔法属性__doc__介绍
  • 区块链让物联网真正链接万物
  • Mysql系列--5、表的基本查询(上)
  • 【论文阅读】Deep Adversarial Multi-view Clustering Network
  • C语言:指针(2)
  • 基于ECharts的智慧社区数据可视化
  • Knuth‘s TwoSum Algorithm 原理详解
  • JS实现数组扁平化
  • 【C#补全计划】万类之父中的方法
  • Linux环境下实现简单TCP通信(c)
  • 《算法导论》第 16 章 - 贪心算法
  • [激光原理与应用-221]:设计 - 皮秒紫外激光器 - 常见技术难题、原因与解决方案
  • 博览会(树形DP)
  • 性能解析案例
  • Speaking T2 - Dining Hall to CloseDuring Spring Break
  • 论文复现与分析内容关于一种实用的车对车(V2V)可见光通信(VLC)传播模型
  • 攻击实验(ARP欺骗、MAC洪范、TCP SYN Flood攻击、DNS欺骗、DHCP饿死)
  • Doubletrouble靶机练习
  • Leaflet地图高亮与编辑功能实现
  • Jmeter性能测试之检测服务器CPU/Memory/磁盘IO/网络IO