美文网首页
教你用灰色预测未来5年的发展情况

教你用灰色预测未来5年的发展情况

作者: 科技州与数据州 | 来源:发表于2020-06-21 09:54 被阅读0次

01 什么是灰色预测

灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来的发展趋势。鉴于灰色预测对小数据量预测的优良性能,本文对多个影响因素的数据项使用灰色模型进行预测。

02 GM模型灰色预测的原理

灰色系统理论是基于关联空间、光滑离散函数等概念定义灰导数与灰微分方程,进而用离散数据列建立微分方程形式的动态模型,即灰色模型是利用离散随机数经过生成变为随机性被显著削弱而且较有规律的生成数,建立起的微分方程形式的模型,这样便于对其变化过程进行研究和描述。

GM(1,1)模型的G表示grey灰色,M表示model模型,主要实现原理如下:

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

GM(1,1)模型采用“五步建模(系统定性分析、因素分析、初步量化、动态量化、优化)”法,建立一种差分微分方程模型gm(1,1)预测模型,主要步骤包括:

令 x(0)=(x⑴,x⑵,…,x(n))

作一次累加生成, k

x(k)= ∑x(m) 消除数据的随机性和波动性

m=1

有 x=(x⑴,x⑵,…,x(n))=(x⑴,x⑴+x⑵,…,x(n-1)+x(n))

x可建立白化方程:dx/dt+ax=u 即gm(1,1).

该方程的解为: x(k+1)=(x⑴-μ/a)exp(-ak)+μ/a

其中:α称为发展灰数;μ称为内生控制灰数

03 实战:预测未来5年发展情况

假设有很多历史的统计数据,如下图:

现在想预测未来5年的以上7个变量的数值。

第一步,导入训练数据,选择训练范围。

inputfile = u'

input-mining-GM11-before-edit.csv' #输入的数据文件

outputfile = u'

input-mining-GM11-after.xls' #灰色预测后保存的路径

data = pd.read_csv(inputfile) #读取数据

data.index = range(1, 37)#训练数据范围,结束数据要比实际行数大1

第二步,初始化要预测的数据和不同维度的变量

data.loc[37] = None

data.loc[38] = None#需要预测几年就要多初始化

data.loc[39] = None#需要预测几年就要多初始化

data.loc[40] = None#需要预测几年就要多初始化

data.loc[41] = None#需要预测几年就要多初始化

l = ['x1', 'x2','x3','x4','x8', 'x12','x13']

第三步,使用GM灰色预测模型进行预测

for i in l:

f = GM11(data[i][:-5].as_matrix())[0]#-1表示预测1年的数据,-2表示预测2年的数。这是修改的代码!

data[i][37] = f(len(data)-4) #26行的预测结果,多预测1个月

data[i][38] = f(len(data)-3) #26行的预测结果,多预测1个月

data[i][39] = f(len(data)-2) #26行的预测结果,多预测1个月

data[i][40] = f(len(data)-1) #26行的预测结果,多预测1个月

data[i][41] = f(len(data)) #27行的预测结果,多预测2个月

data[i] = data[i].round(2) #保留0位小数

第四步,导出结果并进行准确度的验证

data[l+['y']].to_excel(outputfile) #结果输出

准确度的验证公式为:相对误差=|测算值-真实值|/真实值*100%

如果喜欢请点“赞”,如果想交流或获取完整代码,请关注我。

相关文章

  • 教你用灰色预测未来5年的发展情况

    01 什么是灰色预测 灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻...

  • 程序员的未来加班史!

    在未来,加班情况泛滥成灾, 人类生理及心理健康受到严重损害。 专家预测,这种趋势如继续肆意发展, 不久的未来,人类...

  • 《哈佛的6堂独立思考课》

    如何预测未来呢?首先,我们需要思考该“方案”如果成为现实,会发生什么事?同时设想发展顺利,与发展不顺利时的情况。其...

  • 《易经》与预测学

    预测学是一门预测未来的科学,是对事物未来发展趋势或结局的推测和判定,包括短期预测及中、长期预测。预测学中融合了许多...

  • 一个人太相信命运会怎样?

    文|青衣 预测未来,只是未来一个可能发展的路线,每一个当下选择都会影响未来的命运,所以即使预测给你一个方向,最终决...

  • 灰色预测模型代码

    灰色预测模型是一种常用的时间序列预测模型,其思路十分简单,只要给定一个原始的时间序列串就可以预测出未来几期的结果,...

  • 未来发展空间预测公式

    他:“有个问题想和你交流。” 我:“请讲!” 他:“现在我处于创业阶段,经常会遇到各种事,但每次思考来思考去,最终...

  • 正确应对变化,让变化成就你

    【橙子的读书笔记】 我们喜欢预测未来,但未来 通常和我们预测不经相符。我们希望事情都像我们规划的那样发展,一切尽在...

  • 【数学建模】灰色预测及Python实现

    关键词:灰色预测、Python、pandas、numpy 一、前言   本文的目的是用Python和类对灰色预测进...

  • 读《投资最重要的事》-预测?

    1、为什么预测是不靠谱的? 依靠目前的技术和人类发展水平的客观,预测关乎未来,未来也是依靠现有的体系进行的推论,有...

网友评论

      本文标题:教你用灰色预测未来5年的发展情况

      本文链接:https://www.haomeiwen.com/subject/iryoxktx.html