MATLAB预测算法与示例
本文最后更新于:17 天前
灰色系统
灰色系统理论是华中理工大学邓聚龙教授在1982年提出发展的.在我国已经成为社会、经济、科学技术等诸多领域进行预测、决策、评估、规划控制、系统分析与建模的重要方法。
特点:
对时间序列短、统计数据少、信息不完全系统的分析与建模,具有独特的功效。
- 用灰色数学处理不确定量,使之量化。
- 充分利用已知信息寻求系统的运动规律
- 灰色系统理论能处理贫信息系统
定义:
及含有已知信息又含有未知信息的系统称为灰色系统,区别于白色系统与黑色系统的重要标志是系统各因素之间是否具有确定的关系。
分类
- 数列预测(主要是时间序列)
- 灾变与异常值预测
方法
- 给定观测数据列:
- 经一次累加得:
- 假设$x^{(1)}$满足一阶常微分方程:其中$a$是常熟,$u$称为发展灰数,为内生控制灰数,是对系统的常定输入,此方程满足初始条件:
当$t = t_0$时, $x^{(1)} = x^{(1)}(t_0)$的解为: $$ \[{x^{(1)}}(t) = \left[ {{x^{(1)}}({t_0}) - \frac{u}{a}} \right]{e^{ - a(t - {t_0})}} + \frac{u}{a}\] $$ 等间隔取样的离散值(注意到$t_0 = 1$)则为: $$ x^{(1)}(k+1) = \left[ x^{(1)}(1) - \frac{u}{a} \right] e^{-ak} + \frac{u}{a} $$ 使用最小二乘法原理得到参数的估计值:
其中$B$矩阵等于:
y向量为:$y = {({x^{(0)}}(2),{x^{(0)}}(3),…,{x^{(0)}}(N))^T}$
精度检验
- 计算残差$E(t)$
- 计算相关统计量:样本的标准差(分母为$N$)$S_1$,样本残差的标准差(分母为$N-1$):$S_2$
- 计算后验差比值:$C = \frac{S_2}{S_1}$,小概率误差:$[ = P{ |E(k) - \bar E| < 0.6745{S_1}} ]$(T检验)
| :—-: | :—-: |
| 后验差大小C | 符合原假设的概率P |
| <0.35 | >0.95 |
| <0.45 | >0.80 |
| <0.50 | >0.70 |
| >=0.65 | <=0.70 |
BP神经网络
表述
人工神经网络是具有适应性的简单单元组成的广泛并行互连的网络,能模拟生物神经系统对真实世界物体所做出的交互反应。常采用误差反传算法或其变化形式的网络模型。
本质是数学近似映射,包括:
- 拟合->预测
- 分析->聚类分析
其具有:
- 自学习
- 自组织
- 较好容错性
基本结构
- 输入层
- 隐藏层
- 输出层
步骤
网络结构的确定,包括网络拓部结构和每个神经元相应函数的选取
$$ \[ne{t_i} = \sum\limits_{j = 1}^n {{w_{ij}}{x_j}} - \theta = \sum\limits_{j = 0}^n {{w_{ij}}{x_j}} \\ y_i = f(net_i) $$
输入与输出的关系:激活函数可以使用:
- 线性函数$f(x) = kx + b$
- S型函数$f(x) = \frac{1}{1+e^{-ax}}$
- 阈值函数: $$ f(x) = \left\{ {\begin{array}{*{20}{l}} {T,}&{x > c}\\ {k*x,}&{|x| \le c}\\ { - T,}&{x < - c} \end{array}} \right. $$
- 双极S型函数:$f(x) = \frac{2}{1+e^{-ax}}-1$
网络模型分类:
- 前馈神经网络
- 反馈神经网络
- 自组织神经网络
权值和阈值的确定
- 模拟
实现
1 |
|
蒙特卡洛方法
统计模拟法,随机抽样技术,是一种随机模拟方法,使用随机数来解决很多计算问题的方法。
表述
当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率,数学期望有关的量时,通过某种实验的方法,得出该事件发生的概率,或该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。即使用随机数计算概率。
粒子群算法(PSO)
群体迭代,粒子在解空间追随最优的粒子进行搜索。
算法流程
- Initial
初始化粒子群体,群体规模,随机位置和速度 - Evaluation
根据fitness function,评价每个粒子的适应度 - Find the Gbest
根据适应度更新全局最佳位置gbest,更新公式
$[v{id}^k = wv{id}^{k - 1} + {c1}{r_1}(pbes{t{id}} - x{id}^{k - 1}) + {c_2}{r_2}(gbes{t_d} - x{id}^{k - 1})]$ - Update the Velocity
根据公式更新每个粒子的速度与位置
如果为满足结束条件,则返回步骤2,通常算法达到最大迭代次数G_max或者最佳适应度的增量小于阈值为止。
- 群体大小(int)
- 惯性因子$w$和学习因子$c_1,c_2$
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!