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个最大元素 - 力扣(…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...