2023年小美赛认证杯国际赛A题解题思路+数据分享版+部分代码
小美赛作为一个与美赛高度相似的比赛,通常作为很多队伍的美赛练手赛,本次也将尝试帮助大家对A题进行求解,希望能够对大家有所帮助。真实的选题人数评估预计明天进行公布
难度 B>D=C>A
选题 A>B>D>C
问题A(MCM)太阳黑子预测
A题,以太阳黑子为命题背景进行命题。通过题目就可以看出主要就是预测模型,对于预测模型大家需要只要一个前提,对于预测而言,没有对错只有精度高低。现在的市场上对于这个题目其实早就有了答案,比如问题一的结束时间,下图是中科院(应该是)的文章。所以,本次比赛是带着答案,去解问题。要的就是装模做样。

通过题目给出的三个网站,以及利用newbing chatgpt进行检索找到了一些可以解题的数据,下面是网盘的数据分享链接,大家可以参考使用。

数据分享链接:https://pan.baidu.com/s/18qt3aV4PzDUF65eP2b_1DQ
提取码:sxjm
下面带来每个题目的解题思路:
首先收集了数据,数据预处理是第一步,我们不可能直接拿着数据去做,网站可明确说明是存在一定缺失值的。所以,对于缺失值甚至于可能存在的异常值需要进行相应的处理。采用线性插值(拉格朗日、牛顿差值等)进行补充,采用3Σ原则、箱型图进行判定异常值。都是需要处理的。切记,数据预处理至少有十分的分值设定,一定要做相应的处理。

问题一、请预测当前和下一个太阳周期的开始和结束。
该问题是有明确答案的,大家可以参考我给出的第一张图中所说的。那么如何装模做样的得出这样的结果的,在给出的名字为 问题一周期时长以及 太阳周期最小值最大值 文件中,大家可以使用周期长度,进行单指标预测即可。

至于预测模型的选择,还是那个前提,预测模型没有对错只有精度高低。下面是简单给大家罗列了常见的预测模型,对于下面这些预测模型选择什么都是对的,大家可以根据自己的掌握程度以及喜爱程度进行选择即可。

问题二、请预测下一个太阳周期的太阳最大值的开始时间和持续时间;
可以与问题一一样,采用最大值或者最小值的数据进行单指标预测,也可以使用全指标中引入各种各种各样的指标,进行多指标预测。这里就我个人而言,更喜欢前者。
| Year | Month | Day | Time | Sunspot_Group | Additional_Code1 | Group_Type | Observed_Umbral_Area |
| Whole_Spot_Area | Corrected_Umbral_Area | Corrected_Whole_Spot_Area | Space1 | Distance_From_Center | Space2 | Position_Angle | Space3 |
| Carrington_Longitude | Space4 | Latitude | Space5 | Central_Meridian_Distance |

问题三、预测当前和下一个太阳周期中太阳黑子的数量和面积,并在你的论文中解释你的模型的可靠性。
需要预测数量和面积,这里两种思路。对于太阳黑子的数量,整理的数据集中已经给出了,大家直接可以选择预测模型进行预测。主要是对于面积的预测

对于面积来来讲,目前我有两种想法:
1、 直接使用与问题三太阳黑子数量预测相同的模型进行预测
2、 拟合出(黑子数量与面积)关系式 直接利用关系式以及数量数据的结果进行面积的评估预测。
目前,我将采用使用牛顿插值处理数据集+问题一使用arima进行单指标预测+问题二使用灰色预测进行单指标预测+问题三构架arima、灰色、LSTM预测模型的加权平均预测预测太阳黑子数量+构建非线性拟合关系式(黑子数量与面积)利用黑子数量预测的结果直接得到面积的预测值
使用数据集就是我分享的数据集
数据分享链接:https://pan.baidu.com/s/18qt3aV4PzDUF65eP2b_1DQ
提取码:sxjm
下面是部分处理数据的代码,大家可以参考使用
import pandas as pd# 文件路径
file_path = '/mnt/data/g1874.txt'# 定义列名称和宽度
col_names_pre_1977 = ['Year', 'Month', 'Day', 'Time', 'Greenwich_sunspot_group', 'Group_type_1874_1981', 'Observed_umbral_area_1874_1981', 'Whole_spot_area', 'Corrected_umbral_area', 'Corrected_whole_spot_area', 'Distance_from_center', 'Position_angle', 'Carrington_Longitude', 'Latitude', 'Central_meridian_distance'
]col_names_post_1977_pre_1982 = ['Year', 'Month', 'Day', 'Time', 'NOAA_USAF_group','Group_type_1874_1981', 'Observed_umbral_area_1874_1981', 'Whole_spot_area', 'Corrected_umbral_area', 'Corrected_whole_spot_area', 'Distance_from_center', 'Position_angle', 'Carrington_Longitude', 'Latitude', 'Central_meridian_distance'
]col_names_post_1982 = ['Year', 'Month', 'Day', 'Time', 'NOAA_USAF_group','Suffix_to_group_number', 'Magnetic_group_type', 'Zurich_McIntosh_group_type', 'Number_of_spots_in_group', 'Whole_spot_area', 'Distance_from_center', 'Position_angle', 'Carrington_Longitude', 'Latitude', 'Central_meridian_distance'
]# 定义列宽
col_widths_pre_1977 = [4, 2, 3, 4, 8, 2, 2, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5]
col_widths_post_1977_pre_1982 = col_widths_pre_1977 # 同样的列宽
col_widths_post_1982 = [4, 2, 3, 4, 8, 1, 3, 4, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5]# 读取不同格式的数据
df_pre_1977 = pd.read_fwf(file_path, widths=col_widths_pre_1977, names=col_names_pre_1977, dtype=str)
df_post_1977_pre_1982 = pd.read_fwf(file_path, widths=col_widths_post_1977_pre_1982, names=col_names_post_1977_pre_1982, dtype=str)
df_post_1982 = pd.read_fwf(file_path, widths=col_widths_post_1982, names=col_names_post_1982, dtype=str)# 根据年份合并数据
df_pre_1977 = df_pre_1977[df_pre_1977['Year'] < '1977']
df_post_1977_pre_1982 = df_post_1977_pre_1982[(df_post_1977_pre_1982['Year'] >= '1977') & (df_post_1977_pre_1982['Year'] < '1982')]
df_post_1982 = df_post_1982[df_post_1982['Year'] >= '1982']# 合并数据框
df_combined = pd.concat([df_pre_1977, df_post_1977_pre_1982, df_post_1982])# 保存为 Excel 文件
excel_path = '/mnt/data/sunspot_data.xlsx'
df_combined.to_excel(excel_path, index=False)相关文章:
2023年小美赛认证杯国际赛A题解题思路+数据分享版+部分代码
小美赛作为一个与美赛高度相似的比赛,通常作为很多队伍的美赛练手赛,本次也将尝试帮助大家对A题进行求解,希望能够对大家有所帮助。真实的选题人数评估预计明天进行公布 难度 B>DC>A 选题 A>B>D>C 问题A(MCM&am…...
删除list中除最后一个之外所有的数据
1.你可以新建一个list List<Integer> listnew ArrayList<>();int i0;while (i<100){list.add(i);}List<Integer> subList list.subList(list.size()-1, list.size());System.out.println("原list大小--"list.size());System.out.println("…...
北京筑龙助力中粮集团采购供应链改革加速跑
11月6日,在第六届中国国际进口博览会(简称“进博会”)上,中粮集团与来自全球的供应商签约进口农产品,金额超百亿美元,签约额、进口量、进口来源地覆盖范围均创历史新高。 这只是中粮集团落实集中采购&…...
SpringBoot学习笔记-实现微服务:匹配系统(中)
笔记内容转载自 AcWing 的 SpringBoot 框架课讲义,课程链接:AcWing SpringBoot 框架课。 CONTENTS 1. 同步玩家位置1.1 游戏信息的记录1.2 实现多线程同步移动 2. 同步碰撞检测3. 实现游戏结束界面4. 持久化游戏状态4.1 创建数据库表4.2 保存游戏对局信息…...
【复杂网络建模】——基于代理的社会网络建模(Agent-Based Modeling,ABM)[Python实现]
目录 一、复杂网络建模方法 二、基于代理的社会网络建模实现及Python实现代码 一、复杂网络建模方法 复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术…...
RSA实现中弱密钥漏洞分析(Analyzing Weak Key Vulnerabilities in RSA Implementation)
点我完整下载:《RSA实现中弱密钥漏洞分析》本科毕业论文一万字.doc RSA实现中弱密钥漏洞分析 "Analyzing Weak Key Vulnerabilities in RSA Implementation" 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 研究目的 5 1.3 研究意义 6 第…...
【管理运筹学】背诵手册(六)| 图与网络分析(最大流问题,最小费用最大流问题)
六、图与网络分析 最大流问题 最大流问题的数学规划模型为: max v f 12 f 13 { f 12 f 13 − f 57 − f 67 0 f 13 f 23 f 34 f 35 . . . 0 ≤ f i j ≤ c i j \max vf_{12}f_{13}\\ \begin{cases} f_{12}f_{13}-f_{57}-f_{67}0 \\ f_{13}f_{23}f_{34}f…...
C语言之结构体详解
C语言之结构体详解 文章目录 C语言之结构体详解1. 结构体类型的声明2. 结构体变量的创建和初始化3. 结构体的特殊声明4. 结构体的自引用结构体的自引用匿名结构体的自引用 5. 结构体内存对齐5.1 练习一5.2 练习三 6. 为什么存在内存对⻬? 1. 结构体类型的声明 struct tag {me…...
学习canvas
Canvas是一个基于像素的渲染引擎,它使用JavaScript API在画布上绘制图像。以下是它的一些优点和缺点: 优点: Canvas的渲染速度快,适合处理大量图像和高度动态的图像。 可以直接操作像素,从而能够创建出高质量、流畅的…...
浏览器的渲染原理
以下内容来源于渡一前端大师课,仅作个人学习记录。 渲染的第一步是 解析HTML 解析过程中遇到CSS解析CSS,遇到JS执行JS。为了提高解析效率,浏览器在开始解析之前,会启动一个预解析的线程,率先下载HTML中的外部CSS文件和…...
从 JSON 转 Java 实体的多种方法详解
将 JSON 数据转换为 Java 对象是现代应用程序开发中常见的任务。在 Java 中,有多种方法可以实现这一目标。本文将详细介绍几种常见的方法,以及它们的优缺点。 1. 手动映射(Manual Mapping) 手动映射是最基础的方法之一ÿ…...
数据库的多表查询(MYSQL)表表联立
根据以上三张表格,对三张表格进行不同的联立,查询并显示符合条件的内容。 1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。 mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.emp…...
P8650 [蓝桥杯 2017 省 A] 正则问题(dfs )
多重括号,利用回溯来对上一层括号中的内容进行反馈 实现: 若为 x 长度加一 若为 ( 进入递归计算 (计算相当于子表达式) 若为 ) 结束当前递归 若为 | …...
【ESP32】手势识别实现笔记:红外温度阵列 | 双三次插值 | 神经网络 | TensorFlow | ESP-DL
目录 一、开发环境搭建与新建工程模板1.1、开发环境搭建与卸载1.2、新建工程目录1.3、自定义组件 二、驱动移植与应用开发2.1、I2C驱动移植与AMG8833应用开发2.2、SPI驱动移植与LCD应用开发2.3、绘制温度云图2.4、启用PSRAM(可选)2.5、画面动静和距离检测…...
No matching version found for @babel/compat-data@^7.23.5 处理
npm ERR! notarget No matching version found for babel/compat-data^7.23.5 处理 报错信息 npm WARN ERESOLVE overriding peer dependency npm ERR! code ETARGET npm ERR! notarget No matching version found for babel/compat-data^7.23.5. npm ERR! notarget In most …...
手持机|三防智能手机_4寸/5寸/6寸安卓系统三防手机PDA手持终端方案
随着科技的不断发展,三防手持机作为一种多功能设备,正逐渐在各行业得到广泛应用。这款手持机采用高性能处理器,支持高精度北斗定位和工业本安防爆功能,并具备IP67级防水防尘性能和1.5米防跌落能力。因此,它在仓储管理、…...
蓝桥杯算法心得——仙界诅咒(dfs)
大家好,我是晴天学长,搜索型的dfs,差点开二维矩阵了,仔细一想,没那么夸张啊,哈哈哈,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1…...
List集合,遍历,数据结构
一.List常见的方法: 二. List集合的遍历方式 除了 迭代器遍历 增强for遍历 Lambda表达式遍历,还有自己独有的普通for遍历,列表迭代器遍历 1.迭代器遍历 2.增强for遍历 3.Lambda表达式遍历 4.普通for遍历 5.列表迭代器遍历 列表迭代器相对于…...
2的幂运算
2的幂 描述 : 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 题目 : LeetCode 231.2的幂 : 231. 2 的幂 分…...
优先队列经典例题leetcode思路代码详解
目录 leetcode215题.数组中的第k个最大元素 leetcode347题.前k个高频元素 leetcode295题.数据流的中位数 对优先队列感兴趣的朋友可以去看我上一篇文章。 优先队列基础讲解-CSDN博客 leetcode215题.数组中的第k个最大元素 215. 数组中的第K个最大元素 - 力扣(…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
