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

news2025/1/12 2:52:23

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.coloradmin.cn/o/1195170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI机器人小奥,学习不再填鸭

在这个充满科技魅力的时代,一款专为孩子学习量身打造的AI机器人“小奥”正式与大家见面! 它是一款集全球领先的人工智能、语音识别、语义理解、情感陪伴为一体的高科技教育产品,旨在帮助孩子提高学习兴趣、拓宽知识面,以科技创新助…

Windows 安装 Maven

Maven 安装 Maven 下载地址:https://maven.apache.org/download.cgi 下载 apache-maven-3.9.5-bin.zip 到本地解压到 D:\Software\apache-maven-3.9.5 配置阿里云镜像 配置阿里云远程仓库镜像地址,打开配置文件 D:\Software\apache-maven-3.9.5\conf\s…

根据DataFrame指定的列该列中如果有n个不同元素则将其转化为n行显示explode()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 根据DataFrame指定的列 该列中如果有n个不同元素 则将其转化为n行显示 explode() 选择题 以下代码两次输出结果分别为几行? import pandas as pd df pd.DataFrame({种类:[蔬菜,水…

软件工程一些图的画法

软件工程一些图的画法 【一】数据库设计:ER图【1】ER图简介【2】实体之间的关系【3】ER图绘制常见问题【4】ER图转关系模式 【二】流程图【1】流程图的作用【2】流程图中使用的符号【3】三种循环的流程图画法【4】流程图的基本结构【5】流程图常用的形式 【一】数据…

图书网站信息采集

首先,你需要安装Haskell的HTTP库,比如http-conduit。你可以使用cabal包管理器来安装它。 然后,你需要定义一个函数来处理HTTP请求。这个函数需要接受一个URL和一个代理服务器的地址作为参数。 import Network.HTTP.ConduitgetURL :: String…

classification_report分类报告的含义

classification_report分类报告 基础知识混淆矩阵(Confusion Matrix)TP、TN、FP、FN精度(Precision)准确率(Accuracy)召回率(Recall)F1分数(F1-score) classi…

springboot全局拦截sql异常

起因:非法用户可通过特定的输入(如输入内容超长)等操作,使后台逻辑发生错误,从而使后台sql语句暴露至前台,进而为sql攻击提供条件 处理流程:经查找com.mysql.cj.jdbc.exceptions的父类为SQLException,在全局异常处理类中增加如下配置,经测试不起作用 ExceptionHandler(SQLExce…

【计算机网络笔记】Internet网络的网络层——IP协议之IP数据报的结构

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

使用Redis实现热搜功能

Redis热搜 原理数据类型redis操作简单实现 实操封装方法执行方法最后使用springboot的定时任务对热搜榜单进行维护 原理 使用redis实现热搜的原理就是维护一个zset集合,然后使用score作为当前搜索词的搜索量,score越高的搜索词就说明该搜索词热度越高。…

OLED透明屏在智慧零售场景的应用

OLED透明屏在智慧零售场景中的应用主要包括以下几个方面: 商品展示:OLED透明屏可以作为商品展示窗口,使得产品可以在玻璃的透明表面上直接呈现展示,同时显示相关的文字和视频广告信息。这种宣传模式可以更加吸引顾客注意力&#…

若依框架前后端分离版,集成数据库版本控制flyway

在admin模块的pom.xml增加依赖 <!-- 数据库版本控制 --><dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId><version>7.15.0</version></dependency>在admin模块下的resources 的配置文…

多因素验证如何让企业邮箱系统登录更安全?

企业邮箱系统作为基础的办公软件之一&#xff0c;既是企业内外沟通的重要工具&#xff0c;也是连接企业多个办公平台的桥梁&#xff0c;往往涉及到客户隐私、业务信息、企业机密等等。为了保护邮箱账户的安全&#xff0c;设置登陆密码无疑是保护账户安全的常用措施之一。然而随…

Delphi 12 重返雅典 (RAD Studio 12)

RAD Studio 12 的新功能&#xff1a; 以最新的平台版本为目标&#xff01; RAD Studio 12 提供对 iOS 17&#xff08;仅适用于 Delphi&#xff09;、Android 14 和 macOS Sonoma 的官方支持。RAD Studio 12 还支持 Ubuntu 22 LTS 和 Windows Server 2022。 Delphi 源代码的多…

Paimon 与 Spark 的集成(一)

Paimon Apache Paimon (incubating) 是一项流式数据湖存储技术&#xff0c;可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。Paimon 采用开放的数据格式和技术理念&#xff0c;可以与 ApacheFlink / Spark / Trino 等诸多业界主流计算引擎进行对接&#xf…

GoLong的学习之路(二十三)进阶,语法之并发(go最重要的特点)(锁,sync包,原子操作)

这章是我并发系列中最后的一章。这章主要讲的是锁。但是也会讲上一章channl遗留下的一些没有讲到的内容。select关键字的用法&#xff0c;以及错误的一些channl用法。废话不多说。。。 文章目录 select多路复用通道错误示例并发安全和锁问题描述互斥锁读写互斥锁 syncsync.Wait…

有符号数是如何判断正负符号位的?

文章目录 有符号数是如何判断正负符号位的&#xff1f; 运行结果&#xff1a; 有符号数是如何判断正负符号位的&#xff1f; #include<stdio.h> int main() {int input_data 0;printf("Please input the data ! \n");scanf("%d",&input_data);…

[C/C++]数据结构 链表OJ题:环形链表(如何判断链表是否有环)

题目描述: 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…

Excel表列序号

题意&#xff1a; 给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1: 输入: columnTitle “A” 输出: 1 示例 2: 输…

C# .NET Core API Controller以及辅助专案

准备工作 Windows 10Visual Studio 2019(2017就有可以集中发布到publish目录的功能了吧)C#将方法封装(据说可以提高效率,就像是我们用的dll那种感觉新增专案作为我们API的辅助专案(作用类似dll&#xff0c;此处&#xff0c;你也可以在你自己的API专案里建文件夹&#xff0c;但…

线性代数-Python-04:线性系统+高斯消元的实现

文章目录 1 线性系统2 高斯-jordon消元法的实现2.1 Matrix2.2 Vector2.3 线性系统 3 行最简形式4 线性方程组的结构5 线性方程组-通用高斯消元的实现5.1 global5.2 Vector-引入is_zero5.3 LinearSystem5.4 main 1 线性系统 2 高斯-jordon消元法的实现 2.1 Matrix from .Vecto…