灰色系统理论中,GM(1,1)建模很常用,但他是有一定适应范围的。

GM(1,1)适合于指数规律较强的序列,只能描述单调变化过程。对于具有一定随机波动性的序列,我们考虑使用Verhulst预测模型,或者GM(2,1)模型。

Verhulst和GM(2,1)适合于非单调的摆动发展序列或者具有饱和状态的 S 形序列

Verhulst预测模型

Verhulst模型的定义如下:

对于模型参数,使用最小二乘估计有以下结果:

最终,可以求得灰色Verhulst的解为:

Verhulst模型应用:道路交通事故预测

对于交通事故死亡人数统计数据,我们首先做出大体曲线变化图,以从整体上着手。

可见曲线呈现S型,考虑使用verhulst建模。建模过程如下:

最后我们还要进行一步模型精度检验。灰色模型有一套具体的检验标准,后注。

检验三个指标:相对误差、绝对关联度、均方差比值。利用MATLAB检验结果如下:

可见:

平均相对误差为 3.74%  ,则模型精度为二级;同时算得绝对关联度 g 为 0.9845,
均方差比值 C 为 0.2355,则模型精度为一级,可见模型精度较高,可用于事故预测。

附MATLAB程序:

 clc,clear
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37...
7.39 7.81 8.35 9.39 10.59 10.94 10.44];
n = length(x1);
nian=:;
plot(nian,x1,'o-');
x0=diff(x1); %作累减生成
x0=[x1(),x0]
z1=0.5*(x1(:n)+x1(:n-)) %求紧邻均值生成序列
B=[-z1',z1'.^]
Y=x0(:end)'
ab_hat=B\Y %估计参数 a,b 的值
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
x=subs(x,{'a','b','x0'},{ab_hat(),ab_hat(),x1()}); %代入参数值
yuce=subs(x,'t',:) %计算预测值
%下面显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后
x=vpa(x,)
x1_all=[x1,9.92,10.71]; %加上 年的两个观测值
yuce()=yuce(); % 年有两个观测值,要对应两个相同的预测值
epsilon=x1_all-yuce %计算残差
delta=abs(epsilon./x1_all) %计算相对误差
delta_mean=mean(delta) %计算平均相对误差
x1_all_0=x1_all-x1_all(); %观测值数据列的始点零化像
yuce_0=yuce-yuce(); %预测值数据列的始点零化像
s0=abs(sum(x1_all_0(:end-))+0.5*x1_all_0(end));
s1=abs(sum(yuce_0(:end-))+0.5*yuce_0(end));
tt=yuce_0-x1_all_0;
s1_s0=abs(sum(tt(:end-))+0.5*tt(end));
absdegree=(+s0+s1)/(+s0+s1+s1_s0) %计算灰色绝对关联度
c=std(epsilon,)/std(x1_all,) %计算标准差比值

灰色预测模型检验标准:

1. 残差合格模型

2. 关联度合格模型

3. 均方差比合格模型

由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见下表

GM(2,1)模型和DGM模型

1. GM(2,1)模型

弱化算子

对于初期增长势头过于猛烈的模型,为了提高精度,可以考虑使用弱化算子处理原始数列。

对应的,依旧是最小二乘估计参数,再对微分方程求解,得到:

2. DGM(2,1)模型

证明略。

GM(1,N)模型和GM(0,N)模型

1. GM(1,N)

2. GM(0,N)模型

总结:灰色预测法与传统统计方法的比较

【数学建模】灰色系统理论II-Verhulst建模-GM(1,N)-GM(2,1)建模的更多相关文章

  1. 数学建模-灰色预测模型GM(1,1)_MATLAB

    GM(1,1).m %建立符号变量a(发展系数)和b(灰作用量) syms a b; c = [a b]'; %原始数列 A A = [174, 179, 183, 189, 207, 234, 22 ...

  2. 《Entity Framework 6 Recipes》翻译系列 (5) -----第二章 实体数据建模基础之有载荷和无载荷的多对多关系建模

    2-3 无载荷(with NO Payload)的多对多关系建模 问题 在数据库中,存在通过一张链接表来关联两张表的情况.链接表仅包含连接两张表形成多对多关系的外键,你需要把这两张多对多关系的表导入到 ...

  3. 【数学建模】数模day13-灰色系统理论I-灰色关联与GM(1,1)预测

    接下来学习灰色系统理论. 0. 什么是灰色系统? 部分信息已知而部分信息未知的系统,我们称之为灰色系统.相应的,知道全部信息的叫白色系统,完全未知的叫黑色系统. 为什么采用灰色系统理论? 在给定信息不 ...

  4. 卓金武《MATLAB在数学建模中的应用》 第2版

    内容介绍 本书的作者都具有实际的数学建模参赛经历和竞赛指导经验.书中内容完全是根据数学建模竞赛的需要而编排的,涵盖了绝大部分数学建模问题的matlab求解方法.本书内容分上下两篇.上篇介绍数学建模中常 ...

  5. 2020华为杯数学建模B题-RON建模 赛后总结与分析

    好久好久没有写博客了...挺累的,从二月份开始找暑期实习,接着在进行暑期实习,然后马不停蹄地进行秋招,现在总算结束实习,前两天又参加了华为杯数学建模竞赛,感觉接下来就会很轻松了,希望能好好休息休息.这 ...

  6. Python小白的数学建模课-07 选址问题

    选址问题是要选择设施位置使目标达到最优,是数模竞赛中的常见题型. 小白不一定要掌握所有的选址问题,但要能判断是哪一类问题,用哪个模型. 进一步学习 PuLP工具包中处理复杂问题的字典格式快捷建模方法. ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (30) ------ 第六章 继承与建模高级应用之多对多关联

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第六章  继承与建模高级应用 现在,你应该对实体框架中基本的建模有了一定的了解,本章 ...

  8. .NET应用架构设计—面向对象分析与设计四色原型模式(彩色建模、领域无关模型)(概念版)

    阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我 ...

  9. Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》

    一.引言 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围.高精度.高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观.位置 ...

随机推荐

  1. jsp基础语言-jsp异常

    JSP异常 jsp页面执行时会出现两种异常,实际是javax.servlet.jsp包中的两类异常JsError和JspException. 1.JsError 在jsp文件转换成servlet文件时 ...

  2. 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务

     Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...

  3. C#检查字符串是否是合法的HTTP URL地址的代码

    在研发过程,把开发过程较好的一些内容片段记录起来,下面的内容是关于C#检查字符串是否是合法的HTTP URL地址的内容,应该是对各位有较大用处. protected string HTTPChecke ...

  4. asyncio异步IO--协程(Coroutine)与任务(Task)详解

    摘要:本文翻译自Coroutines and Tasks,主要介绍asyncio中用于处理协程和任务的方法和接口.在翻译过程中,译者在官方文档的基础上增加了部分样例代码和示意图表,以帮助读者对文档的理 ...

  5. 智能POS常见问题整理

    智能POS预警值为小于所设的数量,H5就会变为锁定状态 智能POS查看数据库方法: 商米D1:设置-存储设备和USB-内部存储设备-浏览-winboxcash tablet.db为智能POS数据库 W ...

  6. python--继承--方法的重写---和父类的扩展

    1.方法的重写 父类的方法不能满足子类的需要,可以对方法重写 具体的实现方式,就相当于在子类中定义了一个和父类同名的方法并实现 重写之后只会对子类的方法调用,而不会调用父类封装的方法 2.对父类方法进 ...

  7. Servlet是否单例?

    1,测试环境: Java SE版本:1.8.0_161(AMD64) Tomcat版本:9.0.7(AMD64) 2,试验 (1)编写HelloServlet. 由于测试代码很简单,此处只列出doGe ...

  8. LeetCode算法题-Valid Palindrome II(Java实现)

    这是悦乐书的第287次更新,第304篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第155题(顺位题号是680).给定非空字符串s,最多可以删除一个字符. 判断它是否是回 ...

  9. Jenkins+VS项目持续集成

    软件安装 安装包下载连接:https://jenkins.io/download/ 安装步奏:略 账户名:admin 密码:C:\Program Files (x86)\Jenkins\secrets ...

  10. .net 获取远程访问的ip

    这两天一直做获取远程访问的ip和自己的ip相关的问题. 在解决获取ip相关问题的时候,主要使用了上下文对象,httpcontext对象.原理很简单,内部有两大对象,request和response.里 ...