数学建模|回归分析
什么是回归分析
人们关心的因变量受自变量的关联性(非因果性)的影响,并且存在众多随机因素,难以用机理分析方法找出它们之间的关系;需要建立这些变量的数学模型,使得能够根据自变量的数值预测因变量的大小,或者解释因变量的变化。
换句话说:回归分析是一种类相关性分析,就是通过分析已知数据和其造成的影响,来预测未知数据造成的影响。
一般来说,回归分析的主要步骤:
- 收集一组包含因变量和自变量的数据 选定因变量与自变量之间的模型,利用数据按照最小二乘准则计算模型中的系数;
- 利用统计分析方法对不同的模型进行比较,找出与数据拟合得最好的模型;
- 判断得到的模型是否适合于这组数据, 诊断有无不适合回归模型的异常数据;
- 利用模型对因变量作出预测或解释。
线性回归
一元线性回归
模型为:
模型假设
- 独立:对于不同的
相互独立 - 线性:
的期望是 的线性函数 - 齐次:对于不同的
的方差是常数 - 正态:对于给定的
服从正态分布
回归系数的最小二乘估计
将数据
误差方差估计
残差:
则
的自由度=数据容量-模型中含有的参数个数 剩余方差(样本方差), 剩余标准差(样本标准差)
回归系数的区间估计和假设检验

模型的有效性检验

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

Matlab实现
1 | b=regress(y,X) |
输入:
- y:因变量(列向量)
- X:1与自变量组成的矩阵
- alpha:显著性水平(若无值,则设为0.05)
输出: -
多元线性回归
标准方程

保证
误差方差估计

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

模型有效性检测

预测

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

且

所以
非线性回归
什么是非线性回归
对于非线性回归分析,需要根据实际情况来确定函数类型,再根据已知的数据来估计非线性函数中的参数。常见的回归函数有幂函数、指数函数、对数函数、S型曲线函数,S型曲线函数中常见的是Logistic回归模型,其函数表达式为:
对于非线性回归,往往需要根据已知的数据绘制散点图,以此分析出数据的变化趋势,进而确定回归模型。
函数nlinfit语法:
1 | [beta,r,j] = nlinfit(x,y,@function,b0) |
其中:
- x表示自变量
- y表示因变量
- function表示回归函数的函数名
- b0表示回归函数中参数的初值
- beta表示回归参数的最优值
- r表示残差
- j表示雅克比矩阵
常见非线性函数模型:matlab 万能实用的非线性曲线拟合方法 例子请参照博客:非线性回归分析及其Matlab实现