关键词:灰色预测 python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导

一、前言

本文的目的是用Python和类对灰色预测进行封装

二、原理简述

1.灰色预测概述

灰色预测是用灰色模型GM(1,1)来进行定量分析的,通常分为以下几类:

(1) 灰色时间序列预测。用等时距观测到的反映预测对象特征的一系列数量(如产量、销量、人口数量、存款数量、利率等)构造灰色预测模型,预测未来某一时刻的特征量,或者达到某特征量的时间。

(2) 畸变预测(灾变预测)。通过模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。

(3) 波形预测,或称为拓扑预测,它是通过灰色模型预测事物未来变动的轨迹。

(4) 系统预测,对系统行为特征指标建立一族相互关联的灰色预测理论模型,在预测系统整体变化的同时,预测系统各个环节的变化。

上述灰色预测方法的共同特点是:

(1)允许少数据预测;

(2)允许对灰因果律事件进行预测,例如:

灰因白果律事件:在粮食生产预测中,影响粮食生产的因子很多,多到无法枚举,故为灰因,然而粮食产量却是具体的,故为白果。粮食预测即为灰因白果律事件预测。

白因灰果律事件:在开发项目前景预测时,开发项目的投入是具体的,为白因,而项目的效益暂时不很清楚,为灰果。项目前景预测即为灰因白果律事件预测。

(3)具有可检验性,包括:建模可行性的级比检验(事前检验),建模精度检验(模型检验),预测的滚动检验(预测检验)。

2.GM(1,1)模型理论

GM(1,1)模型适合具有较强的指数规律的数列,只能描述单调的变化过程。已知元素序列数据:

做一次累加生成(1-AGO)序列:

其中

的紧邻均值生成序列:

其中,

建立GM(1,1)的灰微分方程模型为:

其中,

为发展系数,

为灰色作用量。设

为待估参数向量,即

,则灰微分方程的最小二乘估计参数列满足

其中

再建立灰色微分方程的白化方程(也叫影子方程):

白化方程的解(也叫时间响应函数)为

那么相应的GM(1,1)灰色微分方程的时间响应序列为:

再做累减还原可得

即为预测方程。

注1:原始序列数据不一定要全部使用,相应建立的模型也会不同,即

不同;

注2:原始序列数据必须要等时间间隔、不间断。

3.算法步骤

(1) 数据的级比检验

为了保证灰色预测的可行性,需要对原始序列数据进行级比检验。

对原始数据列

计算序列的级比:

若所有的级比

都落在可容覆盖

内,则可进行灰色预测;否则需要对

做平移变换,

,使得

满足级比要求。

(2) 建立GM(1,1)模型,计算出预测值列。

(3) 检验预测值:

① 相对残差检验,计算

,则认为达到一般要求,若

,则认为达到较高要求;

② 级比偏差值检验

根据前面计算出来的级比

, 和发展系数

, 计算相应的级比偏差:

, 则认为达到一般要求,若

, 则认为达到较高要求。

(4) 利用模型进行预测。

三、程序实现 python实现

python灰色预测_python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导...相关推荐

  1. [负荷预测]基于灰色GM(1,1)模型的中长期电力负荷预测

    目  录 一.灰色模型GM(1,1)原理 二.模型构建前检验 三.预测精度的检验 3.1 残差检验 3.2 后验差检验 四.灰色模型GM(1,1)算法 五.Matlab编程实现 5.1 程序代码 5. ...

  2. 等维递推GM(1,1)模型、无偏灰色模型

    (1)等维递推GM(1,1)模型 通常, 全数据GM(1,1)模型是使用固定的 nnn 期数据进行建模,但随着时间的推移,老数据的新息意义将逐步降低,未来的一些抗干扰因素将不断地侵入系统并产生影响,因 ...

  3. python线程创建对象_Python使用面向对象方式创建线程实现12306售票系统

    目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更 ...

  4. python 数据结构转换层_python – 具有Maxpooling1D和channel_first的Keras模型

    我目前尝试在Keras中为时间序列分类构建顺序模型时遇到问题.我想使用channels_first数据,因为从处理的角度来看它更方便(不过我只使用一个通道).这适用于我正在使用的Convolution ...

  5. 「 数学模型 」“灰色预测GM(1,1)模型原理及Matlab实例”讲解

    一.前言 小白将使用的灰色预测模型的Matlab代码贴在下面,代码使用了灰色模型进行两次回归预测,缺点是精度不高,预测后的残差有点大. 灰色预测模型主要内容: GM(1,1)模型(1阶1个影响因素): ...

  6. python灰色模型代码_python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导...

    来源公式推导连接 关键词:灰色预测 python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导 一.前言 本文的目的是用Python和类对灰色预测进行封装 二.原理简述 1.灰 ...

  7. python灰色预测_灰色系统预测GM(1,1)模型

    预备知识 (1)灰色系统 白色系统是指系统内部特征是完全已知的:黑色系统是指系统内部信息完全未知的:而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不 ...

  8. 灰色关联以及灰色预测GM(1,n),GM(1,1)模型(Python实现)

    **灰色关联以及灰色预测GM(1,n),GM(1,1)模型** 简介:本篇文章简单的介绍灰色关联以及灰色预测模型,使用python代码进行实现. 1. 灰色系统的概论 2. 关于灰色关联度那些事 3. ...

  9. 灰色预测GM(1,n)模型_python

    灰色系统理论及其应用系列博文: 一.灰色关联度分析法(GRA)_python 二.灰色预测模型GM(1,1) 三.灰色预测模型GM(1,n) 四.灰色预测算法改进1-背景值Z 五.灰色预测改进2-三角 ...

最新文章

  1. redis开启远程连接
  2. tensorflow 张量维度变化
  3. 基于 Ansj 的 elasticsearch 2.3.1 中文分词插件
  4. ceb怎么转换成word_PDF怎么转换成Word?分享免费转换技巧!
  5. MySQL数据库操作步骤---增删改查
  6. android 手势类的封装,Android手势识别简单封装类
  7. STM8单片机ADC连续扫描模式
  8. 猎豹MFC--CFile类家族介绍ADO连接数据库 打开数据库 关闭数据库 连接字符串
  9. linux mysql 修改root密码_MySQL忘了root密码,如何修改?
  10. openSUSE Tumbleweed 支持 Linux Kernel 4.20
  11. 第一期:GIS基本原理与arcgis软件
  12. 微信 app---uwp
  13. delete 的用法(Hive)(SQL)
  14. 腾讯天龙八部手游服务器账号上线,天龙八部手游服务器的注册已达到上限 服务器注册上限怎么解决...
  15. 微服务设计指导-使用云原生微服务解决传统海量跑批时引起的系统间“级联雪崩”以及效率
  16. ubantu启动黑屏解决办法
  17. 游戏显示计算机处于离线,为何我电脑上登着LOL,但是掌盟上却显示游戏离线?
  18. LSTM结构理解与python实现
  19. Linux-Nacos-服务注册中心搭建
  20. 平面左右手坐标系与旋转矩阵的碎碎念

热门文章

  1. Python单线程、多线程、多进程运行效率评测对比
  2. 用Google提供的Gson解析JSON数据
  3. Aboboo在桌面打不开问题
  4. 工作型PPT设计的10大建议
  5. Other -- Winzip和Winrar命令行的使用
  6. 弱电施工流程及规范(三)
  7. 天龙八部科举答题问题和答案(全5/8)
  8. Vue.js 提交表单
  9. JavaScript的form表单提交
  10. H5调摄像头并扫描条形码初探