数学建模——预测类模型

avatar
作者
猴君
阅读量:0

定义明晰

中短期预测(短期:1年内;中期:2-5年):例如天气预报、股票价格预测、销售量预测等。

长期预测(5-10年及以上):例如人口增长、能源消耗、气候变化等。

一、拟合、插值预测

中短期预测          数据需求小2/10/100

自变量(多个)+因变量(一个)           不可反推

1.插值与拟合之间的区别?

插值:原则上曲线要通过图像中给出的点

拟合:原则上不需要经过图像中的任何一个点,只要保证与各点的距离总体足够小即可

2.插值的主要方法?

分段线性插值:把已知相邻的两个点连起来,预测中间的值,但是用来预测未来的值误差极大

三次样条插值:如有韧性的木条,光滑曲线,可以显著降低月误差,但是总体不如高阶的拟合

3.拟合的主要方法?

最小二乘法:图像上与散点的y值相差平方和最小的一个解法,最为方便,也比较可信

卡尔曼滤波、进阶最小二乘、高次函数拟合…

【附】matlab插值实现:

插值点:在一个已知的数据点集合中,我们希望通过某种方法来估计或推断出其他位置的数值。

被插值点:我们希望获得插值结果的位置。

【附1】一维插值

yi = interp1(x,y,xi,'method')

%x,y为插值点,xiyi为被插值点和结果,xyxiyi通常为向量

%'method'表示插值方法:常用的有'nearest''linear''spline''cubic'

%spline:三次样条插值,构造三次多项式进行差值

【代码示范】

x=[1,2,3,4,5];

y=[1,2,3,4,5];

xi=1:0.5:5;

yi = interp1(x,y,xi,'spline');

【附2】二维插值

zi = interp2(x,y,z,xi,yi,'method')

%x,y,z为插值点,xiyi为被插值点,zi为输出的插值结果,即插值函数在(xiyi)处的值;xy为向量,xiyi为向量或矩阵,zzi为矩阵

%'method'表示插值方法:常用的有'nearest''linear''spline''cubic'

'nearest'表示最近邻插值,即用最近的已知点的值来估计未知点的值。

'linear'表示线性插值,即用两个最近的已知点之间的线性函数来估计未知点的值。

'spline'表示样条插值,即用一组光滑的多项式函数来逼近已知点,并在这些函数之间进行插值。

'cubic'表示三次样条插值,是样条插值的一种特殊情况,其中每个多项式函数都是三次的。

【代码示范】

x = 1:5;

y = 1:3;

temps = [82 80 81 82 84;79 63 61 65 81;84 84 82 85 86];

xi = 1:.2:5;

yi = 1:.2:3;

zi = interp2(x,y,temps,xi',yi,'spline');

mesh(xi,yi,zi)

二、线性回归

中短期预测          数据需求中10/100/1000

自变量(多个)+因变量(一个)           可反推

  1. 简单线性回归:一个自变量和一个因变量(线性,一&一)
  2. 多元线性回归:多个自变量和一个因变量(线性,多&一)
  3. 岭回归(L2正则化):系数缩小减小过拟合(解决过拟合,系数缩小)

  1. lasso(L1正则化):一些系数变为0,特征选择(解决过拟合,系数为0)

  1. 局部加权线性回归:非参数回归方法(非线性)

【补充】 “非参数”指的是该方法不需要对模型的形式、参数等进行假设,而是通过对每个测试点周围的训练点进行加权来进行预测。

线性回归每一个样本对应相同的回归系数👉易欠拟合

局部加权线性回归每一个样本都有一个自己的回归系数👉拟合度好但计算量大

适用场景:数据集小、其他模型欠拟合

  1. 多项式回归:数据升维+线性回归(非线性)

       数据升维后增加了特征,有利于解决欠拟合问题

局部加权线性回归与多项式回归之间的区别?

多项式回归适用于解决欠拟合问题。

局部加权线性回归则更适用于解决过拟合问题。

同时,还可以考虑使用正则化方法(如岭回归Lasso回归

三、时间序列模型

中短期预测          数据需求小12/36/60

因变量(一个)(时间序列数据)            不可反推

  1. 具有明显的季节性季节分解
  2. 没有季节性但具有平稳趋势指数平滑
  • 没趋势&没季节性:简单平滑
  • 有趋势&没季节性:线性关系:Holt线性趋势模型

                             非线性关系:阻尼趋势模型(非线性关系)

  • 没趋势&有季节性:简单季节性
  • 有趋势&有季节性:温特趋势

  1. 具有复杂趋势和季节性ARIMA模型

四、Logistic回归(逻辑回归)

长期预测              数据需求中10/100/1000

自变量(多个)+因变量(一个)           不可反推

要求:①变量之间的相关性需要比较小          ②样本的个数需要大于三倍自变量个数

缺点:容易欠拟合,一般准确度不太高

应用: 最经典的是:葡萄酒规划的问题上(好多因变量共同评价葡萄酒的品质)

补充:①逻辑回归结果很差情况下,决策树一般会比较好解决,适合少量样本多维特征情况

②可以考虑降维方法之后再用逻辑回归

③在有很多因变量的时候,可以用主成分分析或者聚类分析减少自变量

五、神经网络预测

长期预测              数据需求大50/500/5000

自变量(多个)+因变量(一个)           可反推

重点在于大量数据异常值&缺失值的处理(重点!避免简单删除替换)

1.交代清楚输入输出&迭代次数学习率等超参数

2.神经网络层数结点数

3.评价标准很重要(准确率,损失函数,稳定性…)

六、微分方程预测

中短期预测          数据需求小2/10/100

因变量(一个)(微分方程的解)            不可反推

找不到数据之间的关系,但是能找到变化量之间的关系的时候用

七、灰色预测

中短期预测          数据需求小4/10/50

因变量(一个)          不可反推

理论性不强,没法论证,能不用就不用,数据量非常少的时候可以考虑

八、马尔科夫链预测

中短期预测          数据需求中10/100/1000

因变量(一个)(状态转移)            不可反推

序列之间前后传递比较少的,数据和数据之间随机性比较强(比如今明天的气温没有直接联系,只能从趋势判断后天温度是多少)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!