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个最大元素 - 力扣(…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

ui框架-文件列表展示
ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...

麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...
TMC2226超静音步进电机驱动控制模块
目前已经使用TMC2226量产超过20K,发现在静音方面做的还是很不错。 一、TMC2226管脚定义说明 二、原理图及下载地址 一、TMC2226管脚定义说明 引脚编号类型功能OB11电机线圈 B 输出 1BRB2线圈 B 的检测电阻连接端。将检测电阻靠近该引脚连接到地。使用内部检测电阻时,将此引…...