当前位置: 首页 > news >正文

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Σ原则、箱型图进行判定异常值。都是需要处理的。切记,数据预处理至少有十分的分值设定,一定要做相应的处理。

问题一、请预测当前和下一个太阳周期的开始和结束。

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

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

问题二、请预测下一个太阳周期的太阳最大值的开始时间和持续时间;

可以与问题一一样,采用最大值或者最小值的数据进行单指标预测,也可以使用全指标中引入各种各种各样的指标,进行多指标预测。这里就我个人而言,更喜欢前者。

YearMonthDayTimeSunspot_GroupAdditional_Code1Group_TypeObserved_Umbral_Area
Whole_Spot_AreaCorrected_Umbral_AreaCorrected_Whole_Spot_AreaSpace1Distance_From_CenterSpace2Position_AngleSpace3
Carrington_LongitudeSpace4LatitudeSpace5Central_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题解题思路+数据分享版+部分代码

小美赛作为一个与美赛高度相似的比赛&#xff0c;通常作为很多队伍的美赛练手赛&#xff0c;本次也将尝试帮助大家对A题进行求解&#xff0c;希望能够对大家有所帮助。真实的选题人数评估预计明天进行公布 难度 B>DC>A 选题 A>B>D>C 问题A&#xff08;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日&#xff0c;在第六届中国国际进口博览会&#xff08;简称“进博会”&#xff09;上&#xff0c;中粮集团与来自全球的供应商签约进口农产品&#xff0c;金额超百亿美元&#xff0c;签约额、进口量、进口来源地覆盖范围均创历史新高。 这只是中粮集团落实集中采购&…...

SpringBoot学习笔记-实现微服务:匹配系统(中)

笔记内容转载自 AcWing 的 SpringBoot 框架课讲义&#xff0c;课程链接&#xff1a;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)

点我完整下载&#xff1a;《RSA实现中弱密钥漏洞分析》本科毕业论文一万字.doc RSA实现中弱密钥漏洞分析 "Analyzing Weak Key Vulnerabilities in RSA Implementation" 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 研究目的 5 1.3 研究意义 6 第…...

【管理运筹学】背诵手册(六)| 图与网络分析(最大流问题,最小费用最大流问题)

六、图与网络分析 最大流问题 最大流问题的数学规划模型为&#xff1a; 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是一个基于像素的渲染引擎&#xff0c;它使用JavaScript API在画布上绘制图像。以下是它的一些优点和缺点&#xff1a; 优点&#xff1a; Canvas的渲染速度快&#xff0c;适合处理大量图像和高度动态的图像。 可以直接操作像素&#xff0c;从而能够创建出高质量、流畅的…...

浏览器的渲染原理

以下内容来源于渡一前端大师课&#xff0c;仅作个人学习记录。 渲染的第一步是 解析HTML 解析过程中遇到CSS解析CSS&#xff0c;遇到JS执行JS。为了提高解析效率&#xff0c;浏览器在开始解析之前&#xff0c;会启动一个预解析的线程&#xff0c;率先下载HTML中的外部CSS文件和…...

从 JSON 转 Java 实体的多种方法详解

将 JSON 数据转换为 Java 对象是现代应用程序开发中常见的任务。在 Java 中&#xff0c;有多种方法可以实现这一目标。本文将详细介绍几种常见的方法&#xff0c;以及它们的优缺点。 1. 手动映射&#xff08;Manual Mapping&#xff09; 手动映射是最基础的方法之一&#xff…...

数据库的多表查询(MYSQL)表表联立

根据以上三张表格&#xff0c;对三张表格进行不同的联立&#xff0c;查询并显示符合条件的内容。 1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。 mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.emp…...

P8650 [蓝桥杯 2017 省 A] 正则问题(dfs )

多重括号&#xff0c;利用回溯来对上一层括号中的内容进行反馈 实现&#xff1a; 若为 x 长度加一 若为 &#xff08; 进入递归计算 (计算相当于子表达式) 若为 &#xff09; 结束当前递归 若为 | …...

【ESP32】手势识别实现笔记:红外温度阵列 | 双三次插值 | 神经网络 | TensorFlow | ESP-DL

目录 一、开发环境搭建与新建工程模板1.1、开发环境搭建与卸载1.2、新建工程目录1.3、自定义组件 二、驱动移植与应用开发2.1、I2C驱动移植与AMG8833应用开发2.2、SPI驱动移植与LCD应用开发2.3、绘制温度云图2.4、启用PSRAM&#xff08;可选&#xff09;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手持终端方案

随着科技的不断发展&#xff0c;三防手持机作为一种多功能设备&#xff0c;正逐渐在各行业得到广泛应用。这款手持机采用高性能处理器&#xff0c;支持高精度北斗定位和工业本安防爆功能&#xff0c;并具备IP67级防水防尘性能和1.5米防跌落能力。因此&#xff0c;它在仓储管理、…...

蓝桥杯算法心得——仙界诅咒(dfs)

大家好&#xff0c;我是晴天学长&#xff0c;搜索型的dfs&#xff0c;差点开二维矩阵了&#xff0c;仔细一想&#xff0c;没那么夸张啊&#xff0c;哈哈哈&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1…...

List集合,遍历,数据结构

一.List常见的方法&#xff1a; 二. List集合的遍历方式 除了 迭代器遍历 增强for遍历 Lambda表达式遍历&#xff0c;还有自己独有的普通for遍历&#xff0c;列表迭代器遍历 1.迭代器遍历 2.增强for遍历 3.Lambda表达式遍历 4.普通for遍历 5.列表迭代器遍历 列表迭代器相对于…...

2的幂运算

2的幂 描述 : 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 题目 : LeetCode 231.2的幂 : 231. 2 的幂 分…...

优先队列经典例题leetcode思路代码详解

目录 leetcode215题.数组中的第k个最大元素 leetcode347题.前k个高频元素 leetcode295题.数据流的中位数 对优先队列感兴趣的朋友可以去看我上一篇文章。 优先队列基础讲解-CSDN博客 leetcode215题.数组中的第k个最大元素 215. 数组中的第K个最大元素 - 力扣&#xff08;…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; 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…...