【2023第十二届“认证杯”数学中国数学建模国际赛】A题 太阳黑子预报完整解题思路

A题 太阳黑子预报

  • 题目
  • 任务
  • 思路分析
    • 第一问
    • 第二问
    • 第三问

题目

太阳黑子是太阳光球上的一种现象,表现为比周围区域更暗的临时斑点。它们是由于磁通量集中而导致表面温度降低的区域,磁通量的集中抑制了对流。太阳黑子出现在活跃区域内,通常成对出现,磁极相反。它们的数量随大约 11 年的太阳周期而变化。

单个太阳黑子或太阳黑子群可能会持续几天到几个月不等,但最终会衰减。太阳黑子在太阳表面移动时会膨胀和收缩,直径从 16 千米(10 英里)[1] 到 160,000 千米(100,000 英里)不等。一些较大的太阳黑子不用望远镜也能从地球上看到[2]。它们刚出现时的相对速度(或称正动)可能为每秒几百米。

太阳周期一般持续 11 年左右,从不到 10 年到刚刚超过 12 年不等。在一个周期中,太阳黑子活动的最高点被称为太阳黑子最大点,活动的最低点被称为太阳黑子最小点。在大多数其他太阳活动中也能观察到这一周期,它与太阳磁场的变化有关,太阳磁场的极性会随这一周期而改变。

太阳黑子数量也会长期变化。例如,在1900年至1958年被称为现代太阳活动最大期的时期,太阳黑子数量的趋势是上升的;而在随后的60年中,太阳黑子数量的趋势大多是下降的[3]。总体而言,太阳最后一次像现代极大期那样活跃是在8000多年前[4]。

由于太阳黑子与其他太阳活动的相关性,太阳黑子可用于帮助预测空间天气、电离层状态以及与短波无线电传播或卫星通信相关的状况。许多基于时间序列分析、光谱分析和神经网络的模型已被用于预测太阳黑子活动,但结果往往不佳。这可能与大多数预测模型都是数据层面的现象学有关。

数据层面。虽然我们一般都知道太阳活动周期的长度,但这个周期并不完全稳定,活动的最大强度随时间而变化,峰值出现的时间和峰值持续的时间都很难准确预测。

我们需要预报太阳黑子,通常我们需要按月平均得出结果。我们要求您和您的团队建立合理的数学模型,尽可能可靠地预报太阳黑子。许多天文台和空间科学研究机构都公开提供了相关的观测数据,包括历史上的太阳黑子数量、太阳黑子面积以及可能相关的其他指标的观测数据。例如(不限于):
链接:https://www.sidc.be/SILSO/ datafiles/
链接:http://solarcyclescience.com/activeregions.html

任务

  1. 请预测当前和下一个太阳周期的开始和结束时间;
  2. 请预测下一个太阳活动周期中太阳活动最大值的开始时间和持续时间;
  3. 预测当前和下一个太阳周期中太阳黑子的数量和面积,并在论文中解释你的模型的可靠性。

思路分析

A题为数据分析类的题目,但并未给出数据集,而是给了查找数据集可用的网站。相对来说,数据收集难度较小。且数据集已经过异常值处理,可在论文分析中省略该步骤。就解题需求来说,参赛团队至少要收集到“黑子数量”“黑子面积”和“磁场”的每月平均值这三个数据集。

第一问

题目要求预测当前和下一个太阳周期的开始和结束时间。首先要解决的是:如何定义一个周期的开始与结束,识别条件是什么?可聚焦到题干中所给信息“This period is also observed in most other solar activity and is linked to a variation in the solar magnetic field that changes polarity with this period.”,由此可知,可通过磁场的极性变换来判断太阳周期是否发生了变化。在求解方面,题目已经表明,过去基于时间序列分析、光谱分析和神经网络模型的预测效果并不理想,故在求解过程中应避免利用简单的单一模型进行求解。一个求解思路是:先对磁场的历史数据进行平滑处理,体现出数据的趋势。然后分别使用神经网络和ARIMA等时间序列算法对磁场进行预测。在这之中,对神经网络输入历史数据的原始值,对ARIMA算法输入平滑值,以分别提取非线性及线性特征。最后,可以利用贝叶斯等基于历史预测精度的自适应混合模型对两个算法的预测值进行组合,以适应历史序列值得到更高的预测精度。

第二问

题目要求预测下一个太阳活动周期中太阳活动最大值的开始时间和持续时间。在求解时可基于黑子量对最大值进行识别。为了提高预测精度,可以同时将磁场历史观测值和黑子数量历史观测值一起作为输入传入神经网络中,再对黑子数量的历史观测值进行平滑,输入到时间序列模型中进行预测。神经网络和时间序列分别预测得到结果后,延续第一问采用自适应混合模型对两个算法的预测值进行组合。

第三问

题目要求预测当前和下一个太阳周期中太阳黑子的数量和面积,并解释模型的可靠性。在这问中,需要对黑子数量和面积进行更加精细化的预测。在题干中提到:“Sunspot numbers also change over long periods”。由此可知,序列在长周期中具有一定的趋势,在预测时可以先将这部分提取出来,再分别对趋势项和波动项进行预测。具体实现步骤如下:1)首先通过一次或者二次回归得到序列的增长或衰减趋势;2)用原始数据每一期的观测值减去对应的趋势值,得到去趋势后的波动项;3)基于神经网络对波动项进行预测;4)将趋势项和波动项的预测值进行叠加,得到最终的预测值。在解释可靠性时,可以对模型在测试集上的误差进行分析,或是对模型超参数的灵敏度进行分析。

除上述基本解题思路外,在数据提取阶段还可收集更多与太阳活动相关的数据。在预测时输入到神经网络中以增加信息的提取量。此外,还可以使用启发式算法对超参数进行调参,以提高模型的预测精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 教程 1.4

MySQL 连接 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。 实例 以下是从命令行中连接mysql服务器的简单实例: [roothost]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗…

Redis7--基础篇6(复制replica)

1. 复制(replica)介绍 Redis数据库支持主从复制,master以写为主,slave以读为主,当master数据变化的时候,自动将新的数据异步同步到slave数据库。 实现读写分离、容灾恢复、数据备份、水平扩容支撑高并发。 2. 案例演示 2.1 架构…

知虾如何选品丨如何使用知虾进行选品和优化策略

在Shopee平台上作为卖家,如何进行选品和优化策略是一个至关重要的问题。而知虾作为一个为Shopee卖家提供数据分析的工具,可以帮助您更好地进行选品和优化策略。在本文中,我们将介绍如何使用知虾进行选品,并提供一些建议和步骤。 知…

powershell获取微软o365 21v日志

0x00 背景 o365 21v为o365的大陆版本,主要给国内用户使用。微软提供了powershell工具和接口获取云上日志。微软o365国内的代理目前是世纪互联。本文介绍如何用powershell和配置证书拉取云上日志。 0x01 实践 第一步,ip权限开通: 由世纪互联…

enumerate函数(python)

enumerate()函数是Python内置函数之一,用于给可迭代对象(如列表、元组、字符串等)添加一个索引,并以迭代器的形式返回。 enumerate()函数的语法如下: enumerate(iterable, start0)参数说明: iterable&am…

MFC、VC++操作excel后,excel程序进程无法正常退出的非暴力处理方法

先说处理方式 1、最low的方式:强制结束进程 //打开进程得到进程句柄 HANDLE hProcessOpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid); if(hProcess!NULL) { //结束进程 if (TerminateProcess(hProcess,0)){printf("结束进程成功\n");return 0;} }这种方式…

Linux中的Swap和Mem:有什么区别?

在Linux系统中,内存管理是操作系统的重要部分。在内存管理方面,Swap和Mem是两种不同的内存类型,它们在Linux系统中发挥着不同的作用。本文将解释Swap和Mem的区别以及它们在Linux系统中的作用。 一、Swap Swap是Linux系统中的交换分区&#…

Python datetime 字符串 相互转 datetime

字符串转 datetime from datetime import datetime# 定义要转换的日期时间字符串 dt_str "2021-09-30 15:48:36"# 使用datetime.strptime()函数进行转换 dt_obj datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S") print(dt_obj)datetime 转字符串 from …

python 制作3d立体隐藏图

生成文件的3d图,例子: 文字: 隐藏图: 使用建议: 1、建议不用中文,因为中文太复杂,生成立体图效果不好。 2、需要指定FONT_PATH,为一个ttf文件,…

【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心

微服务(6) 文章目录 微服务(6)1. 统一配置管理1.1 在nacos中添加配置文件1.2 从微服务拉取配置 2. 配置热更新2.1 方式一2.2 方式二 3. 配置共享1)添加一个环境共享配置2)在user-service中读取共享配置3&am…

【ICCV2023论文阅读】XNet(能跑通代码)

这里写目录标题 论文阅读摘要介绍方法overviewwhy use wavelet transform?融合方法用于全监督分割和半监督分割可行性分析 效果局限性总结 代码跑通去掉分布式训练生成低频和高频图片产生数据集改读取数据的位置损失函数添加自己数据集的信息结果 ps:我现在不知道自己研究方向…

用分布函数定义的随机变量的独立性的合理性

随机变量的独立性是这样定义的: 如果对任意 x , y x, y x,y 都有 P { X ≤ x , Y ≤ y } P { X ≤ x } P { Y ≤ y } P\{X\leq x,Y\leq y\} P\{X\leq x \}P\{Y\leq y\} P{X≤x,Y≤y}P{X≤x}P{Y≤y} 即 F ( x , y ) F X ( x ) F Y ( y ) F(x,y)F_X(x)F_Y(y) F…

Codeforces Round 911 (Div. 2)(C~E)(DFS、数论(容斥)、SCC缩点 + DAG图上DP)

​​​​​​1900C - Anjis Binary Tree 题意: 凯克西奇一直被安吉冷落。通过一个共同的朋友,他发现安吉非常喜欢二叉树,于是决定解决她的问题,以引起她的注意。Anji 给了 Keksic 一棵有 n个顶点的二叉树。顶点 1 是根&#xff…

【错误记录】Python 错误集合

Python 错误集合 文章目录 Python 错误集合TypeError: list object cannot be interpreted as an integer python 常见错误集合:持续更新 TypeError: ‘list’ object cannot be interpreted as an integer map [ [1, 1, 1, 1, 1, 1, 1, 0, 1, 1],[1, 0,…

利用异或、取反、自增bypass_webshell_waf

目录 引言 利用异或 介绍 eval与assert 蚁剑连接 进阶题目 利用取反 利用自增 引言 有这样一个waf用于防御我们上传的文件: function fun($var): bool{$blacklist ["\$_", "eval","copy" ,"assert","usort…

linux配置ssh无密码登录失败的一种原因

先说一下步骤,如下 参考:https://www.cnblogs.com/rickiyang/p/11074203.html 1、安装ssh 直接 sudo apt-get install openssh-server2、查看ssh运行状态 ps -e | grep ssh 如果发现 sshd 和 ssh-agent 即表明 ssh服务基本运行正常3、生成公钥和私钥…

大模型中的数据

简介: 数据是基础大模型的生命线;这些模型的训练数据在很大程度上决定了这些模型可以获得哪些功能。数据的中心性并不是基础大模型所独有的;最近对以数据为中心的人工智能的呼吁表明了管理、理解和记录用于训练机器学习模型的数据的普遍重要性。具体而言&am…

Vue+SpringBoot解决session跨域问题

做了一个前后端分离,因为前后端的 session id不一致,导致前端请求时,后端的session读取不到对应的值,造成登录问题。 解决方法: SpringBoot项目: 添加一个跨域配置 代码如下: 或者controller使用CrossOrigin Conf…

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 …

【java】编译时bug 项目启动前bug合集

文章目录 1. jdk8中 Optional orElseThrow 编译时报错java: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出2. 启动项目时提示 Error running Application: Command line is too long. Shorten command line for Application or also for Spring Boot default configurati…