[数学建模从入门到入土] 预测模型

[数学建模从入门到入土] 预测模型

个人导航

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

时间序列预测

  1. ARIMA

  2. 多元线性回归

  3. Logistic回归

  4. LSTM和决策树

更加在乎过程的可解释性, 不要一味追求结果高

核心思路分类:

  • 因果关联分析 : 分析可能存在影响的因素
    (因变量与自变量的关联)
  • 时间延续性分析 : 关注数据在时间推移中的变化
    (因变量和时间,历史数据的关联)

ARIMA问题描述

自回归积分滑动平均模型ARIMA

一种处理非平稳时间序列的统计方法

通过对时间序列进行差分处理(使其平稳化), 结合自回归AR和滑动平均MA的特性, 建立预测模型

三个参数:

  • p p p: 自回归AR的阶数
  • d d d: 差分次数(使时间序列平稳)
  • q q q: 滑动平均MA的阶数

X t = ϕ 1 X t − 1 + ϕ 2 X t − 2 + ⋯ + ϕ p X t − p + θ 1 ϵ t − 1 + θ 2 ϵ t − 2 + ⋯ + θ q ϵ t − q + ϵ t X_t = \phi_1 X_{t-1} + \phi_2 X_{t-2} + \dots + \phi_p X_{t-p} + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \dots + \theta_q \epsilon_{t-q} + \epsilon_t Xt=ϕ1Xt−1+ϕ2Xt−2+⋯+ϕpXt−p+θ1ϵt−1+θ2ϵt−2+⋯+θqϵt−q+ϵt

ϕ 1 , ϕ 2 , ... , ϕ p \phi_1 , \phi_2 , \dots , \phi_p ϕ1,ϕ2,...,ϕp: 自回归参数

θ 1 , θ 2 , ... , θ p \theta_1 , \theta_2 , \dots , \theta_p θ1,θ2,...,θp: 滑动平均参数

ϵ t \epsilon_t ϵt: 白噪声误差项

步骤:

  1. 数据准备: 对非平稳序列进行差分处理
  2. 参数估计: 拟合(p, d, q)参数
  3. 模型验证: 检验模型的拟合效果
  4. 未来预测: 根据模型对未来的时间序列值进行预测
1.数据准备

理论背景:ARIMA模型适用于平稳时间序列,而非平稳时间序列需要通过差分处理使其平稳。平稳性是时间序列分析的基本要求,指序列的均值和方差不随时间变化,并且序列的自相关函数仅取决于滞后时间,而与时间点无关。如果时间序列不平稳,可能表现为以下特性:

  • 均值随时间变化,呈现上升或下降趋势
  • 方差随时间变化,数据波动幅度逐渐增大或减小
  • 存在周期性或季节性波动

对于非平稳时间序列,常用以下方法进行平稳化处理:

  • 差分法:通过计算相邻数据点的差分,去除趋势性,使数据平稳。差分公式为:
    △ X t = X t X t 1 \triangle X_t = X_t X_{t1} △Xt=XtXt1

    对数据多次差分后,可以逐步消除趋势性

  • 对数变换:对数据取对数,减小数据的波动幅度

  • 季节性调整:如果数据具有周期性波动特性,可以对每个周期的平均值进行调整

在模型构建过程中,模型的三个参数 ( p , d , q ) (p,d,q) (p,d,q) 的选择非常关键:

  • p:自回归部分的阶数,表示当前值与p个滞后值之间的线性关系
  • d:差分次数,用于将非平稳时间序列转化为平稳时间序列
  • q:移动平均部分的阶数,表示当前值与α个随机误差项之间的关系

常用方法确定模型阶数包括:

  • 绘制自相关函数(ACF)图:判断MA(移动平均)部分的阶数
  • 绘制偏自相关函数(PACF)图:判断AR(自回归)部分的阶数
2.模型建立与参数估计

ARIMA模型的核心是通过最小二乘法拟合模型参数,使得模型预测值与实际值之间的误差平方和最小

通过历史数据,估计模型参数 ϕ , θ \phi, \theta ϕ,θ,需要先计算误差项 ϵ \epsilon ϵ,再通过最小二乘法拟合模型

3.未来预测

利用ARIMA模型预测未来值时,需要最近 p p p 个时间序列值和 q q q 个误差项值

回归

研究自变量(解释变量)和因变量(被解释变量)之间的关系

一元线性回归:
y = β 0 + β 1 x + ϵ y=\beta_0+\beta_1x+\epsilon y=β0+β1x+ϵ

ϵ \epsilon ϵ: 通常是独立同分布的, 均值为 0 0 0, 方差为 σ 2 \sigma^2 σ2

找最优参数 β 0 \beta_0 β0 和 β 1 \beta_1 β1 使预测值 y ^ \hat{y} y^ 与实际值 y y y 的偏差最小

多元线性回归:
y = β 0 + β 1 x 1 + β 2 x 2 + . . . + β p x p + ϵ y=\beta_0+\beta_1 x_1+\beta_2 x_2+...+\beta_p x_p+\epsilon y=β0+β1x1+β2x2+...+βpxp+ϵ

谁的 β \beta β越大, 说明哪个指标的权重更大, 更重要

  1. 数据准备阶段
    • 数据收集
    • 数据清洗
    • 数据转换与标准化
  2. 特征选择与处理
    • 检查变量间的线性关系
    • 多重共线性检测
    • 特征工程
  3. 模型构建阶段
    • 确定模型
    • 拆分数据集
    • 模型训练
    • 检查模型拟合
  4. 模型评估阶段
    • 拟合优度 R 2 R^2 R2
    • 调整后的 R 2 R^2 R2
    • 均方误差MSE
    • 均分根误差RMSE
    • 平均绝对误差MAE
  5. 模型优化与改进
    • 特征选择优化
    • 非线性改进
    • 数据变换
    • 正则化方法
1.数据准备阶段

数据收集: 覆盖范围广, 具有代表性

数据清洗:

  • 缺失值(删除, 填补)
  • 异常值(箱线图识别)

检查一致性: 单位, 取值范围

数据转换与标准化: 略

2.特征选择与处理

检查变量间的线性关系:

  • 散点图可视化, 相关矩阵
  • pearson相关系数

如果某个自变量和因变量的相关性很弱, 可以考虑剔除

多重共线性检测:

计算变量的方差膨胀因子(VIF), 一般认为 V I F > 10 VIF>10 VIF>10时说明共线性较强

如果存在多重共线性, 可以通过以下方法解决:

  • 提出相关性强的变量
  • 使用正则化方法(岭回归, LASSO回归)
  • PCA降维

特征工程:

  • 添加新特征: 构建交互项( x 1 × x 2 x_1 \times x_2 x1×x2) 或 非线性项( x 2 x^2 x2)
  • 编码分类变量: 对类别型变量进行处理(独热编码, 数值化编码)
3.模型构建阶段

确定模型形式: y = β 0 + β 1 x 1 + β 2 x 2 + . . . + β p x p + ϵ y=\beta_0+\beta_1 x_1+\beta_2 x_2+...+\beta_p x_p+\epsilon y=β0+β1x1+β2x2+...+βpxp+ϵ

拆分数据集: 留出法(7:3或8:2)

模型训练:

  • 用训练集拟合多元线性回归模型, 常用最小二乘法OLS
  • 通过最小化残差平方和RSS估计回归系数 β \beta β

检查模型拟合:

  • 检查回归系数的显著性 -> 通过t检验和p值
  • 检查模型的整体显著性 -> 通过F检验
  • 确认误差项是否满足正态性和同方差性假设 -> 残差分析
4.模型评估阶段

拟合优度 R 2 R^2 R2: 反映模型对数据的解释能力, 范围[0, 1]
R 2 = 1 − R S S T S S R^2=1-\frac{RSS}{TSS} R2=1−TSSRSS

调整后的 R 2 R^2 R2: 适用于多元回归, 能够平衡模型复杂度
R a d j u s t e d 2 = 1 − ( 1 − R 2 ) ( n − 1 ) n − p − 1 R^2_{adjusted}=1-\frac{(1-R^2)(n-1)}{n-p-1} Radjusted2=1−n−p−1(1−R2)(n−1)

均方误差MSE:
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 MSE=n1i=1∑n(yi−y^i)2

均分根误差RMSE:
R M S E = M S E RMSE = \sqrt{MSE} RMSE=MSE

平均绝对误差MAE:
M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ MAE = \frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}_i| MAE=n1i=1∑n∣yi−y^i∣

5.模型优化与改进

特征选择优化:

  • 逐步回归, LASSO回归, 岭回归 -> 最优特征子集
  • 剔除不显著或相关性过高的变量

非线性改进:

  • 如果数据存在非线性关系,可以引入多项式特征 或通过非线性回归方法改进

数据变换:

  • 对因变量或自变量进行对数、平方根或其他变换,改善模型的拟合效果

正则化方法:

  • 使用**岭回归(L2正则化)LASSO回归(L1正则化)**解决过拟合或多重共线性问题

例子:

马尔科夫预测模型

基于状态转移的预测方法

假设未来状态仅依赖于当前状态,而与历史状态无关

通过构建状态转移概率矩阵,描述系统从一个状态转移到另一个状态的概率,并利用该矩阵迭代预测未来状态的概率分布

  1. 数据准备:将历史数据转化为离散状态
  2. 状态转移概率矩阵计算:统计各状态间的转移次数,计算转移概率
  3. 状态预测:利用转移概率矩阵和当前状态分布,通过矩阵运算迭代预测未来状态分布

P t + 1 = P t ∗ T P_{t+1}=P_t*T Pt+1=Pt∗T

  • P t P_t Pt: 当前时刻的状态概率分布
  • T T T: 状态转移概率矩阵
  • P t + 1 P_{t+1} Pt+1: 下一时刻的状态概率分布
1.数据准备
2.构建状态转移概率矩阵
3.预测未来状态分布
相关推荐
高工智能汽车3 小时前
爱芯元智通过港交所聆讯,智能汽车芯片市场格局加速重构
人工智能·重构·汽车
大力财经3 小时前
悬架、底盘、制动被同时重构,星空计划想把“驾驶”变成一种系统能力
人工智能
梁下轻语的秋缘4 小时前
Prompt工程核心指南:从入门到精通,让AI精准响应你的需求
大数据·人工智能·prompt
FreeBuf_4 小时前
ChatGPT引用马斯克AI生成的Grokipedia是否陷入“内容陷阱“?
人工智能·chatgpt
福客AI智能客服4 小时前
工单智转:电商智能客服与客服AI系统重构售后服务效率
大数据·人工智能
柳鲲鹏4 小时前
OpenCV:超分辨率、超采样及测试性能
人工智能·opencv·计算机视觉
逄逄不是胖胖4 小时前
《动手学深度学习》-54循环神经网络RNN
人工智能·深度学习
AIGC合规助手5 小时前
AI智能硬件I万亿市场预测+算法、大模型备案合规手册
大数据·人工智能·智能硬件
物联网APP开发从业者5 小时前
2026年AI智能硬件集成开发十大平台技术场景深度解析
人工智能·智能硬件
玄同7655 小时前
LangChain 核心组件全解析:构建大模型应用的 “乐高积木”
人工智能·python·语言模型·langchain·llm·nlp·知识图谱