当前位置: 首页 > 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;…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...