2020年五一杯数学建模A题煤炭价格预测问题解题全过程文档及程序

2020年五一杯数学建模

A题 煤炭价格预测问题

原题再现

  煤炭属于大宗商品,煤炭价格既受国家相关部门的监管,又受国内煤炭市场的影响。除此之外,气候变化、出行方式、能源消耗方式、国际煤炭市场等其他因素也会影响煤炭价格。请完成如下问题。
  1. 请建立数学模型,通过量化分析的方法,给出影响煤炭价格的主要因素(不超过10种),并且以秦皇岛港动力煤价格为例,给出从2019年5月1日至2020年4月30日,影响秦皇岛港动力煤价格的主要因素的排序(按影响程度从大到小排序,不超过10种)。
  2. 请结合秦皇岛港动力煤价格的历史数据(附件1),以及问题1中的影响煤炭价格的主要因素,建立煤炭价格预测模型,分别以天、周、月为单位,预测未来31天、35周、36个月的煤炭价格,并完成表1。
  3. 为了更加准确地预测秦皇岛港动力煤价格,请综合考虑未来各种情况(例如突发事件)引起的煤炭价格影响因素在结构性和重要性方面的变化,建立煤炭价格综合预测模型,并给出模型的预测结果。
  4. 为保障我国未来煤炭市场的平稳发展,请结合问题3的模型,向政府部门提供相关的政策建议。
  注:
  (1)附件1-秦皇岛港动力煤价格数据由“中国煤炭市场网”提供(https://www.cctd.com.cn/),数据是以“周”为单位的数据,相关的煤炭价格是日期所在周的价格。
  (2)本题中相关参数说明如下:
秦皇岛港动力煤:硫份0.8%,发热量5500kacl/kg;
  煤炭价格类型:煤炭平仓价(FOB价格,是指煤运到港口并装到船上的价格);
  煤炭价格单位:元/吨。

整体求解过程概述(摘要)

  本文主要建立了影响煤炭价格影响因素模型,并且对未来一段时间的煤炭价格进行预测,最后考虑了突发事件对煤炭价格的影响。
  在建立煤炭价格的影响因素模型时,我们选取了煤炭的生产量、可供量等二十二个因素进行逐步回归,得到回归方程之后通过系数的绝对值大小排序来确定影响煤炭价格的主要因素是全国铁路煤炭发运量和国际煤炭价格。之后我们又选取了原煤产量当期值、进口煤量、火力发电当期值、钢材产量当期值、全国铁路煤炭发运量、国际煤炭价格和国际石油价格七个因素构建影响秦皇岛煤炭价格的模型,检验这七个变量的多种共相关性得到影响秦皇岛煤炭价格各个因素影响效果的排序。
  预测煤炭价格时我们使用SPSS软件进行时间序列分析,以价格为因变量,选取附件1的数据为样本数据为样本数据,对煤炭价格数据进行分析,建立ARIMA模型对煤炭价格进行预测未来31天、35周、36个月的煤炭价格。
  在考虑未来突发事件对煤炭价格的影响时,首先检验了2006年7月3日~2020年4月30日这段时间内的突变点。之后使用分形理论来预测煤炭市场的价格。将4次突变点煤炭价格变动的绝对值的平均值作为突发因素加入预测模型,得到面对突发因素时的煤炭价格区间。

模型假设:

  一.由于政策一般具有长期性和稳定性且难以量化,所以假设政策在一段时间保持稳定不发生大的变化。
  二.假设所有统计到的数据都真实有效。
  三. 统计国际石油市场价格时不考虑多种进货渠道,以WTI价格指数为准。
  四. 煤炭开采技术一段时间保持稳定,即开采成本一段时间保持稳定。

问题分析:

  对于问题一,我们用y表示煤炭价格,之后通过查找资料我们又收集了与煤炭价格相关的22个因素,将它们作为自变量 xn(其中x表示第n个自变量)组成候选变量集合。运用MATLAB的逐步回归程序计算,最后得到回归方程,通过回归方程中各个因素的系数来判断各个因素对煤炭价格的影响。之后检验了变量的多种共相关性,用各个自变量系数的绝对值去衡量影响因素和对价格的贡献率就可以得到影响因素的排序。
  对于问题二,通过对秦皇岛港动力煤价格的走势分析,以及问题1中得出的影响煤炭价格的主要因素,以价格为因变量,选取附件1的数据为样本数据为样本数据,我们选取ARIMA模型建立煤炭价格预测模型,分别以天、周、月为单位,预测未来31天、35周、36个月的煤炭价格。
  对于问题三,我们首先求出2006~2020中每个月的价格平均值作为新的序列,之后检测突变点,将突变点价格变动绝对值的平均值作为突发因素。之后使用分形理论建立煤炭价格的预测模型,再将突变因素加入模型。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

load sn.txt  
[m,n]=size(sn);
x0=sn(:,[1:n-1]);y0=sn(:,n); 
hg1=[ones(m,1),x0]\y0;  
hg1=hg1'
fprintf('y=%f',hg1(1));
for i=2:n
    if hg1(i)>0  
       fprintf('+%f*x%d',hg1(i),i-1);
    else
       fprintf('%f*x%d',hg1(i),i-1)
    end
end
fprintf('\n')  
r=corrcoef(x0)  
xd=zscore(x0);  
yd=zscore(y0);  
[vec1,lamda,rate]=pcacov(r) 
f=repmat(sign(sum(vec1)),size(vec1,1),1); 
vec2=vec1.*f 
contr=cumsum(rate) 
df=xd*vec2; 
num=input('请选项主成分的个数:')   
hg21=df(:,[1:num])\yd  
hg22=vec2(:,1:num)*hg21  
hg23=[mean(y0)-std(y0)*mean(x0)./std(x0)*hg22, std(y0)*hg22'./std(x0)]  
fprintf('y=%f',hg23(1)); 
for i=2:n
    if hg23(i)>0
        fprintf('+%f*x%d',hg23(i),i-1);
    else
        fprintf('%f*x%d',hg23(i),i-1);
    end
end
fprintf('\n')
 
rmse1=sqrt(sum((hg1(1)+x0*hg1(2:end)'-y0).^2)/(m-n))  
rmse2=sqrt(sum((hg23(1)+x0*hg23(2:end)'-y0).^2)/(m-num)) 
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/130141.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

canvas 简单直线轨迹运动与线性插值计算

canvas 简单直线轨迹运动与线性插值计算 一、canvas 直线轨迹运行 添加 canvas 语法提示 通过/** type {HTMLCanvasElement} */代码块 来添加canvas的语法提示 <body><canvas id"canvas"></canvas> </body> <script>/** type {HTM…

软件模拟SPI协议的理解和使用编写W25Q64

SPI软件模拟的时序 SPI协议中&#xff0c;NSS、SCK、MOSI由主机产生&#xff0c;MISO由从机产生&#xff0c;在SCK每个时钟周期MOSI、MISO传输一位数据&#xff0c;数据的输入输出是同时进行的&#xff0c;所以读写数据也可以视作交换数据。所以读写时对数据位的控制都是用同一…

ke10javaweb停更

<jsp:getProperty property"isval" name "username"/> property来修改属性,name是类 所以如果调用tip在前面那么就是没有设置值 证明是先到java里面去运转

AI编程工具:一站式编程解决方案,引领AI编程新时代

在人工智能的巨浪之下&#xff0c;编程领域正在经历一场深刻的转型。这场转型的核心&#xff0c;就是AI智能编程工具的出现。它们为开发者提供了一种全新的编程方式&#xff0c;极大地提高了编程效率。在这场变革中&#xff0c;DevChat无疑是引领者之一。 一、DevChat&#xf…

计算机毕业设计 基于SpringBoot高校毕业与学位资格审核系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

AMD发布大小核 CPU,6核心直接砍成单核了

2022年 Intel 第12代酷睿发布&#xff0c;PE 大小核设计被正式带到了 PC 上。 P-Core 也就是传统的大核有着高性能、高功耗&#xff0c;而 E-Core 小核则是更讲究能效比以更低频率运行。 虽说小蝾也曾有对 Windows 调度方面的怀疑&#xff0c;但多线程性能确实实打实证明了其优…

2023年最受欢迎的9款产品原型工具大揭秘!

1.Pop (Prototyping on Paper) 价格&#xff1a;免费试用30天专业版960RMB/人/年 学习曲线&#xff1a;低 简介&#xff1a;POP是设计界面的原型工具&#xff0c;适用于iOS和Android平台。在POP的帮助下&#xff0c;开发人员或设计师只需在纸上简单地描述创意或想法&#xff…

SPI简介及FPGA通用MOSI模块实现

简介 SPI&#xff08;Serial Peripheral Interface&#xff0c;串行外围设备接口&#xff09;通讯协议&#xff0c;是Motorola公司提出的一种同步串行接口技术。是一种高速、全双工、同步通信总线。在芯片中只占用四根管脚用来控制及数据传输。 优缺点&#xff1a; SPI通讯协…

向量数据库:释放数据潜能,重塑信息世界

前言 想必各位开发者一定使用过关系型数据库MySQL去存储我们的项目的数据&#xff0c;也有部分人使用过非关系型数据库Redis去存储我们的一些热点数据作为缓存&#xff0c;提高我们系统的响应速度&#xff0c;减小我们MySQL的压力。那么你有听说过向量数据库吗&#xff1f;知道…

白嫖阿里云服务器教程来了,薅秃阿里云!

白嫖阿里云服务器攻略来了&#xff0c;在阿里云免费试用中心可以申请免费服务器&#xff0c;但是阿里云百科不建议选择免费的&#xff0c;只有3个月使用时长&#xff0c;选择99元服务器不是更香&#xff0c;2核2G配置3M固定带宽&#xff0c;一年99元&#xff0c;重点是新老用户…

【Linux】-文件操作(重定向、缓冲区以及Linux下一切皆文件的详解)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

如何自己实现一个丝滑的流程图绘制工具(九) 自定义连接线

背景 产品又有更近的想法了&#xff0c;bpmn-js的连接线你用的时候是看不到的&#xff0c;也就是你从左侧点击连接线的没有线随鼠标移动. 但是产品想要看得见的连接线移动拖拽。 咩有办法&#xff0c;不能换框架&#xff0c;那就只能自己实现啦&#xff01; 思路&#xff1a; …

06-MySQL-进阶-视图存储函数存储过程触发器

涉及资料 链接&#xff1a;https://pan.baidu.com/s/1M1oXN_pH3RGADx90ZFbfLQ?pwdCoke 提取码&#xff1a;Coke 一、视图 数据准备 create table student(id int auto_increment comment 主键ID primary key,name varchar(10) null comment 姓名,no varchar(10) null co…

JDBC(一)

第1章&#xff1a;JDBC概述 1.1 数据的持久化 持久化(persistence)&#xff1a;把数据保存到可掉电式存储设备中以供之后使用。大多数情况下&#xff0c;特别是企业级应用&#xff0c;数据持久化意味着将内存中的数据保存到硬盘上**&#xff0c;而持久化的实现过程大多通过各种…

利用中断做数码表

功能要求:1.按下KEY1&#xff0c;显示数字开始每0.5秒加1&#xff0c;加到&#xff08;10学号&#xff09;返回0&#xff0c;0显示2秒后继续开始重复加1。 2. 任何时候按下KEY2数字清零&#xff0c;并停止加1。 3. KEY1和KEY2分别采用查询和外部中断方式。 要求程序中有硬件…

概念解析 | 高光谱图像:揭开自然世界的神秘面纱

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:高光谱图像 高光谱图像:揭开自然世界的神秘面纱 Hyperspectral imaging - Wikipedia 背景介绍 我们生活的世界充满了丰富多彩的颜色。这些颜色来源于各种物体反射或吸收不同波长…

PM - 项目管理 产品管理区别

产品管理和项目管理是两个在企业中至关重要的职能部门&#xff0c;它们各自承担着不同的职责和任务。虽然两者在某些方面存在重叠&#xff0c;但它们的核心目标和方法有很大的不同。本文将对产品管理和项目管理进行详细的比较和分析。 “项目管理和产品管理有什么区别&#xff…

微服务架构下如何使用多环境多服务联合调试

在 微服务 架构中&#xff0c;项目被分解成多个独立的模块&#xff0c;每个模块对应一个微服务。这些微服务各自承担不同的任务&#xff0c;例如用户管理、支付处理或订单管理。它们可以使用不同的技术栈&#xff0c;独立开发、测试和部署。微服务之间通过 API 等方式进行通信&…

Node.js中的child_process模块的作用

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

【Python报错合集】Python元组tuple、张量tensor(IndexError、TypeError、RuntimeError……)~持续更新

文章目录 IndexError1. tuple index out of rangea. 示例代码b.报错原因c.解决方案 TypeError1. len() of a 0-d tensora. 示例代码b.报错原因c.解决方案 RuntimeError1. output with shape … doesnt match the broadcast shape …a. 示例代码b.报错原因c.解决方案 2. Cant ca…
最新文章