数学建模|回归分析

什么是回归分析

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

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

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

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

线性回归

一元线性回归

模型为:

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

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) yiN(β0+βixi,σ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 xi,yi带入 y i = β 0 + β 1 x i + ε y_i=\beta_0+\beta_1 x_i+\varepsilon yi=β0+β1xi+ε,则对
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=1nεi2=i=1n[yi(β0+β1xi)]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=1n(xixˉ)2i=1n(xixˉ)(yiyˉ)

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

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

误差方差估计

残差:

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

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=1nei2=i=1n(yiy2^)2

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

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

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

数学建模|回归分析_第1张图片

模型的有效性检验

数学建模|回归分析_第2张图片

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

数学建模|回归分析_第3张图片

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 R2
  • F F F值, F ( 1 , n − 2 ) F_{(1,n-2)} F(1,n2)分布的分位数 F ( 1 , n − 2 ) , 1 − α F_{(1,n-2),1-\alpha} F(1,n2),1α大于 F F F值的概率 p p p,当 p < α p<\alpha p<α时,模型有效。

多元线性回归

标准方程

数学建模|回归分析_第4张图片

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

误差方差估计

数学建模|回归分析_第5张图片

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

数学建模|回归分析_第6张图片

模型有效性检测

数学建模|回归分析_第7张图片

预测

数学建模|回归分析_第8张图片

例子

多元线性回归模型:已知某湖八年来湖水中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)

运行结果:

取得其中的结果:

数学建模|回归分析_第9张图片

数学建模|回归分析_第10张图片

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

非线性回归

什么是非线性回归

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

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

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

函数nlinfit语法:

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

其中:

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

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

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

你可能感兴趣的:(数学建模,回归,概率论,机器学习,数学建模)