麻瓜 | 数学建模日记 | 第三天
python 灰色模型预测
建模体验
搞代码的一天,还是十分迷糊
不过幸好已确定以后用 python 来进行处理接下来的编程问题
麻瓜还可以!
灰色预测方法
附上未完成的代码
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
def step_ratio(x0):n = len(x0)ratio = [x0[i]/x0[i+1] for i in range (len(x0)-1)]print (f"级比:{ratio}")min_la,max_la = min(ratio),max(ratio)thred_la = [np.exp(-2/(n+2)),np.exp(2/(n+2))]if min_la <thred_la[0] or max_la > thred_la[-1]:print ("级比超过灰色模型的范围")else:print ("级比满足要求,可用GM(1,1)模型")return ratio,thred_ladef predict(x0):n = len(x0)x1 = np.cumsum(x0)z = np.zeros(n-1)for i in range (n-1):z[i] = 0.5*(x1[i]+x1[i+1])B = [-z,[1]*(n-1)]Y = x0[1:]u = np.dot(np.linalg.inv(np.dot(B,np.transpose(B))),np.dot(B,Y))x1_solve = np.zeros(n)x0_solve = np.zeros(n)x1_solve[0] = x0_solve[0] = x0[0]for i in range (1,n):x1_solve[i] = (x0[0]-u[1]/u[0])*np.exp(-u[0]*i)+u[1]/u[0]for i in range (1,n):x0_solve[i] = x1_solve[i]-x1_solve[i-1]return x0_solve,x1_solve,udef accuracy(x0,x0_sovle,ratio,u):epsilon = x0-x0_solvedelta = abs(epsilon/x0)print (f"相对误差:{delta}")#Q = np.mean(delta)#C = np.std(epsilon)/np.std(x0)S1 = np.std(x0)S1_new = S1*0.6745temp_P = epsilon[abs(epsilon-np.mean(epsilon))<S1_new]P = len(temp_P)/len(x0)print (f"预测准确率:{P*100}%")ratio_solve = [x0_solve[i]/x0_solve[i+1] for i in range (len(x0_solve)-1)]rho = [1-(1-0.5*u[0]/u[1])/(1+0.5)*u[0]/u[1]*(ratio[i]/ratio_solve[i])for i in range (len(ratio))]print (f"级比偏差:{rho}")return epsilon,delta,rho,Pif __name__ == '__main__':data = pd.DataFrame(data = {"year":[2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018],\"eqL":[418.65,435.08,460.11,463.36,467.40,470.00,472.66,475.55,477.50,477.70,483.00]})x0 = np.array(data.iloc[:,1])ratio,thred_la = step_ratio(x0)x0_solve,x1_solve,u = predict(x0)epsilon,delta,rho,P = accuracy(x0,x0_solve,ratio,u)plt.title("Predict Graph")plt.xlabel("Years")plt.ylabel("Result")plt.plot(data.year,data.eqL)plt.legend()plt.show()
麻瓜 | 数学建模日记 | 第三天相关推荐
- 麻瓜 | 数学建模日记 | 第二天
建模体验 又是一天的麻瓜 还有更大的进步空间 端正态度.心态.寻找第三位队友! 动态规划问题 2020年数学建模B "穿越沙漠"根据不同的情况下进行最佳的路线规划 最难的部分是把问 ...
- 麻瓜 | 数学建模日记 | 第一天
建模初体验 首次接触数学建模,第一课的第一感觉,是对实现中所存在的实际问题提出解决方案,并且要考虑诸多实际因素对该问题的影响,目前觉得这是最重要的,这是对问题解决方法的第一步,也就是思路,再者就是将该 ...
- 数学建模清风第三次直播:excel在数学建模中的应用
学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...
- 数学建模PPT(三)
一.论文写作 初评是在线评阅,评委通过盲评,给出绩.故评定参赛队的成绩好坏.高低,获奖级别,数模答卷,是唯一依据.是一些赛区参加复评的前提 ● 成绩:百分制,一般至少两到五个评委网评,将打分求平均,成 ...
- 数学建模matlab 优化模型,数学建模实验中三种优化模型的分析
1. 引言 在20世纪中期,数学建模 [1] 就在欧美国度首次被发现,而在中国的呈现稍晚些,但是大约在80年代初始咱们国家也就有了.它的核心即是创立数学模型 [2] ,使得问题获得最优化的解决.而数学 ...
- 数学建模【嫦娥三号软着陆轨道设计与控制策略】
2014年国赛A题 pdf下载地址 https://download.csdn.net/download/yaoning6768/10641219 摘要 嫦娥三号在高速飞行的情况下,要保证准确地在月球 ...
- 2020亚太杯数学建模_2020 年 APMCM 亚太地区大学生数学建模竞赛
亚太地区大学生数学建模竞赛(APMCM)今年已是第十届,本次竞赛将于2020年11月25日中午12点截止报名,2020年11月26日至11月30日正式开赛,现诚挚邀请各单位组织人员和同学们参赛. 一. ...
- 数学建模清风第二次直播:模拟退火算法
学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...
- 数学建模清风第一次直播:传染病模型和微分方程拟合
学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...
最新文章
- 再发布一个windows live writer 插件 图标信息框 wlw plugin icon info frame
- npm全局环境变量配置,全局配置cnpm
- 忘记SAP系统Client 000的所有账号密码
- 初探DispatcherServlet#doDispatch
- CityEngine 2012与ArcGIS 10.2破解心得
- px是什么意思计算机二级,px是什么意思?照片中的px是什么的缩写?
- python settings模块导入不了_python settings 中通过字符串导入模块
- C语言实现tolower
- Sql Server系列:键和约束
- JAVA设计模式之抽象工厂模式
- atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug
- 深圳市工信局、发改委与商务局项目
- 【Appium踩坑】WebDriverAgent 在iOS 14系统执行 test 时,一直报错:test crashed
- Win10 桌面图标出现空文件夹的删除及桌面图标排列问题
- html知识点整理(全)
- python会计系统_在Python中进行会计的最佳实践
- 银行测试的优势在哪里?
- 根据工作日/节假日收货要求计算预计发货时间
- 小视频伪原创工具 苹果手机短视频去水印
- PAT 1046 划拳 (15分)