数学建模|回归分析

什么是回归分析

人们关心的 因变量自变量的关联性(非因果性)的影响,并且存在众多随机因素,难以用机理分析方法找出它们之间的关系;需要建立这些变量的数学模型,使得 能够根据自变量的数值预测因变量的大小,或者解释因变量的变化。

换句话说:回归分析是一种类相关性分析,就是通过分析已知数据和其造成的影响,来预测未知数据造成的影响。

一般来说,回归分析的主要步骤:

  1. 收集一组包含因变量和自变量的数据 选定因变量与自变量之间的模型,利用数据按照最小二乘准则计算模型中的系数;
  2. 利用统计分析方法对不同的模型进行比较,找出与数据拟合得最好的模型;
  3. 判断得到的模型是否适合于这组数据, 诊断有无不适合回归模型的异常数据;
  4. 利用模型对因变量作出预测或解释。

线性回归

一元线性回归

模型为:

y i = β 0 + β 1 x i + ε y_i=\beta_0+\beta_1 x_i+\varepsilon y i ​=β0 ​+β1 ​x i ​+ε

i = 1 , 2 , 3 , ⋅ ⋅ ⋅ , n i=1,2,3,···,n i =1 ,2 ,3 ,⋅⋅⋅,n
其中:x x x为自变量,β 0 \beta_0 β0 ​,β 1 \beta_1 β1 ​为回归系数,ε \varepsilon ε是随机变量(影响y y y的随机因素的总和)。
由于x , β x,\beta x ,β是非随机的,可以视作某个常数,故也可以理解为
y i ∼ N ( β 0 + β i x i , σ 2 ) y_i\sim N(\beta_0+\beta_ix_i,\sigma^2)y i ​∼N (β0 ​+βi ​x i ​,σ2 )
相当于正态总体的参数估计问题。

模型假设

  • 独立:对于不同的x , y x,y x ,y相互独立
  • 线性:y y y的期望是x x x的线性函数
  • 齐次:对于不同的x , y x,y x ,y的方差是常数
  • 正态:对于给定的x , y x,y x ,y服从正态分布

ε \varepsilon ε是相互独立的、期望为0 0 0、方差为σ 2 \sigma^2 σ2,正态分布的随机变量即:ε ∼ N ( 0 , σ 2 ) \varepsilon \sim N(0,\sigma^2)ε∼N (0 ,σ2 ),ε \varepsilon ε称为随机误差。

回归系数的最小二乘估计

将数据x i , y i x_i,y_i x i ​,y i ​带入y i = β 0 + β 1 x i + ε y_i=\beta_0+\beta_1 x_i+\varepsilon y i ​=β0 ​+β1 ​x i ​+ε,则对
Q ( β 0 , β 1 ) = ∑ i = 1 n ε i 2 = ∑ i = 1 n [ y i − ( β 0 + β 1 x i ) ] 2 Q(\beta_0,\beta_1)=\sum_{i=1}^n\varepsilon_i^2=\sum_{i=1}^n[y_i-(\beta_0+\beta_1x_i)]^2 Q (β0 ​,β1 ​)=i =1 ∑n ​εi 2 ​=i =1 ∑n ​[y i ​−(β0 ​+β1 ​x i ​)]2
随后对β 0 , β 1 \beta_0,\beta_1 β0 ​,β1 ​求偏导,得出:
β 0 ^ = y ˉ − β 1 ^ x ˉ \hat{\beta_0}=\bar{y}-\hat{\beta_1}\bar{x}β0 ​^​=y ˉ​−β1 ​^​x ˉ

β 1 ^ = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 \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}β1 ​^​=∑i =1 n ​(x i ​−x ˉ)2 ∑i =1 n ​(x i ​−x ˉ)(y i ​−y ˉ​)​

x ˉ = 1 n ∑ i = 1 n x i \bar{x}=\frac{1}{n}\sum_{i=1}^nx_i\x ˉ=n 1 ​i =1 ∑n ​x i ​

y ˉ = 1 n ∑ i = 1 n y i \bar{y}=\frac{1}{n}\sum_{i=1}^ny_i y ˉ​=n 1 ​i =1 ∑n ​y i ​

误差方差估计

残差:

e i = ε i ^ = y i − y i ^ e_i=\hat{\varepsilon_i}=y_i-\hat{y_i}e i ​=εi ​^​=y i ​−y i ​^​

Q = ∑ i = 1 n e i 2 = ∑ i = 1 n ( y i − y 2 ^ ) 2 Q=\sum_{i=1}^n e_i^2=\sum_{i=1}^n(y_i-\hat{y_2})^2 Q =i =1 ∑n ​e i 2 ​=i =1 ∑n ​(y i ​−y 2 ​^​)2

则σ 2 \sigma^2 σ2的无偏估计:
s 2 = σ 2 = Q n − 2 s^2=\sigma^2=\frac{Q}{n-2}s 2 =σ2 =n −2 Q ​

  • n − 2 ∼ Q n-2\sim Q n −2 ∼Q的自由度=数据容量-模型中含有的参数个数
  • s 2 s^2 s 2剩余方差(样本方差),s s s剩余标准差(样本标准差)

回归系数的区间估计和假设检验

数学建模|回归分析

; 模型的有效性检验

数学建模|回归分析

利用一元线性回归模型进行预测

数学建模|回归分析

; Matlab实现

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

输入:

  • y:因变量(列向量)
  • X:1与自变量组成的矩阵
  • alpha:显著性水平(若无值,则设为0.05)

输出:

  • b = ( β 0 ^ , β 1 ^ ) b=(\hat{\beta_0},\hat{\beta_1})b =(β0 ​^​,β1 ​^​)
  • bint:β 0 , β 1 \beta_0,\beta_1 β0 ​,β1 ​的置信区间
  • r:残差
  • rint:残差的置信区间
  • s:决定系数R 2 R^2 R 2
  • F F F值,F ( 1 , n − 2 ) F_{(1,n-2)}F (1 ,n −2 )​分布的分位数F ( 1 , n − 2 ) , 1 − α F_{(1,n-2),1-\alpha}F (1 ,n −2 ),1 −α​大于F F F值的概率p p p,当p < α p时,模型有效。

多元线性回归

标准方程

数学建模|回归分析

保证X T X X^TX X T X可逆只需要保证X X X满秩即可,n > m n>m n >m是因为观测y与变量x是有区别的,不然容易混淆。

; 误差方差估计

数学建模|回归分析

归回系数区间估计和假设检验

数学建模|回归分析

; 模型有效性检测

数学建模|回归分析

预测

数学建模|回归分析

; 例子

多元线性回归模型:已知某湖八年来湖水中COD浓度实测值(y)与影响因素湖区工业产值(x1)、总人口数(x2)、捕鱼量(x3)、降水量(x4)资料,建立污染物y的水质分析模型。

%输入数据
x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477]
x2=[0.450, 0.475, 0.485, 0.500, 0.535, 0.545, 0.550, 0.575]
x3=[2.170 ,2.554, 2.676, 2.713, 2.823, 3.088, 3.122, 3.262]
x4=[0.8922, 1.1610 ,0.5346, 0.9589, 1.0239, 1.0499, 1.1065, 1.1387]
y=[5.19, 5.30, 5.60,5.82,6.00, 6.06,6.45, 6.95]

 x=[ones(8,1),x1' x2' x3' x4']
[b,bint,r,rint,stats] = regress(y',x)

运行结果:

取得其中的结果:

数学建模|回归分析

数学建模|回归分析

所以y ^ = b x i \hat{y}=bx_i y ^​=b x i ​,R 2 = 0.9846 , F = 47.9654 , p = 0.0123 R^2=0.9846,F=47.9654,p=0.0123 R 2 =0 .9 8 4 6 ,F =4 7 .9 6 5 4 ,p =0 .0 1 2 3
通过查表可知,R 2 R^2 R 2代表决定系数(R R R代表相关系数),它的值很接近与1,说明此方程是高度线性相关的;
(这里使用的是F检验)
F F F检验值为47.9654 47.9654 4 7 .9 6 5 4远大于F 0.05 ( 4 , 3 ) = 9.12 {F_{0.05}}(4,3) = 9.12 F 0 .0 5 ​(4 ,3 )=9 .1 2,可见,检验结果是显著的。

非线性回归

什么是非线性回归

对于非线性回归分析,需要根据实际情况来确定函数类型,再根据已知的数据来估计非线性函数中的参数。常见的回归函数有幂函数、指数函数、对数函数、S型曲线函数,S型曲线函数中常见的是Logistic回归模型,其函数表达式为:

y = 1 a + b e − x y=\frac{1}{a+be^{-x}}y =a +b e −x 1 ​

对于非线性回归,往往需要根据已知的数据绘制散点图,以此分析出数据的变化趋势,进而确定回归模型。

函数nlinfit语法:

[beta,r,j] = nlinfit(x,y,@function,b0)

其中:

  • x表示自变量
  • y表示因变量
  • function表示回归函数的函数名
  • b0表示回归函数中参数的初值
  • beta表示回归参数的最优值
  • r表示残差
  • j表示雅克比矩阵

常见非线性函数模型:matlab 万能实用的非线性曲线拟合方法
例子请参照博客:非线性回归分析及其Matlab实现

参考博客:
数学建模——回归分析(上)
数学建模常用模型22:回归模型
非线性回归分析及其Matlab实现

Original: https://blog.csdn.net/CODE_WangZIli/article/details/122823007
Author: CODE_WangZIli
Title: 数学建模|回归分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/629927/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球