机器学习实战12-基于历史数据的台风的预测与分析(2023年第5号台风杜苏芮将登陆福建)

本文主要是介绍机器学习实战12-基于历史数据的台风的预测与分析(2023年第5号台风杜苏芮将登陆福建),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是微学AI,今天给大家介绍一下机器学习实战12-基于历史数据的台风的预测与分析,台风预测与分析是一项重要的气象研究项目,旨在提前预测、跟踪和分析台风的路径、强度和可能对地区造成的影响。台风是一种强大而具有破坏性的气象灾害,经常给沿海地区带来巨大的风暴潮、暴雨和强风,并导致洪涝、山体滑坡等次生灾害。

2023年7月21日上午8时,今年第5号台风“杜苏芮”在菲律宾以东洋面生成。当天下午5时,其中心位于菲律宾马尼拉偏东方向约1270公里的洋面上,中心附近最大风力8级(18米/秒,热带风暴级),未来或加强为15级强台风。

本文将通过历史数据研究1951-2022年期间在亚洲地区生成的所有台风进行分析预测,研究台风路径。
在这里插入图片描述

台风形成的原因

台风是由一系列复杂的气象和海洋因素共同作用而形成的。以下是台风形成的主要原因:

温暖的海水温度:台风需要温暖的海水作为能量源。通常,海水温度超过26.5摄氏度才有利于台风的发展。热带和亚热带地区的海洋通常具有足够的温暖水域来支持台风的形成。

湿润的大气条件:台风形成需要湿润的大气条件,即较高的水汽含量。当海水蒸发进入大气中时,形成对流云团。这些云团会随着更多水汽凝结而逐渐增长,并最终形成台风。

强水平风切变的缺乏:水平风切变指的是不同高度水平风速的变化。如果水平风切变较小,台风会更容易形成。较小的风切变能够帮助保持台风的整体结构和旋转。

初始扰动:台风的形成通常需要一个初始扰动或扰动波作为起始。这个扰动可以是热带气旋、气象前线交汇或其他天气系统的相互作用。它们能够提供初始的旋转和上升气流,从而促进台风的发展。

应季的环流条件:台风的形成通常在夏季和初秋最为活跃,因为这时候热带和亚热带地区的环流条件更加有利于气旋的生成和增强。

台风预测与分析意义

保护人民生命财产安全:通过预测台风的路径和强度,可以提前向受影响地区发布警报,让人们有时间采取防护措施,最大程度上减少台风可能带来的人员伤亡和财产损失。

气象科学研究:台风是一个复杂的气象系统,研究台风的形成、发展和消散过程,有助于深入理解大气环流和热力学过程。通过对台风的观测和分析,可以提高对天气和气候系统的认识,改进气象预报模型和算法。

为灾害应对提供支持:通过台风预测和分析,可以为应急管理部门提供科学依据,帮助他们制定灾害应对方案和紧急救援计划。同时,也能够提前预测受影响地区的灾情,为救援力量的调度和资源的调配提供有针对性的指导。

气候变化研究:随着全球气候变化的加剧,台风的频率和强度可能会发生变化。通过对台风预测与分析的长期观测和研究,可以探讨气候变化对台风活动的影响,为应对气候变化提供科学参考和决策支持。

台风历史数据分析

1951-2022年期间在亚洲地区生成的所有台风数据表:typhoon_data.csv

下载地址:链接:https://pan.baidu.com/s/1FjMSnngby4qUNL2fVCg-Jg?pwd=rxfs
提取码:rxfs

台风索引信息表:typhoon_info.csv
下载地址:链接:链接:https://pan.baidu.com/s/1giaOVpDEx9XHzCkXJs_6XQ?pwd=2a3o
提取码:2a3o

数据字段结构

,International number ID,year,month,day,hour,grade,Latitude of the center,Longitude of the center,Central pressure,Maximum sustained wind speed,Direction of the longest radius of 50kt winds or greater,The longeast radius of 50kt winds or greater,The shortest radius of 50kt winds or greater,Direction of the longest radius of 30kt winds or greater,The longeast radius of 30kt winds or greater,The shortest radius of 30kt winds or greater,Indicator of landfall or passage
0,5101,1951,2,19,6,Tropical Depression,200,1385,1010,,,,,,,, 
1,5101,1951,2,19,12,Tropical Depression,200,1385,1010,,,,,,,, 
2,5101,1951,2,19,18,Tropical Depression,230,1421,1000,,,,,,,, 
3,5101,1951,2,20,0,Tropical Cyclone of TS intensity or higher,250,1460,994,,,,,,,, 
4,5101,1951,2,20,6,Tropical Cyclone of TS intensity or higher,276,1506,994,,,,,,,, 
5,5101,1951,2,20,12,Tropical Cyclone of TS intensity or higher,289,1533,994,,,,,,,, 
6,5101,1951,2,20,18,Tropical Cyclone of TS intensity or higher,313,1575,992,,,,,,,, 
7,5101,1951,2,21,0,Tropical Cyclone of TS intensity or higher,326,1621,990,,,,,,,, 

数据加载分析

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import folium
import seaborn as snsdata = pd.read_csv("typhoon_data.csv", index_col=0)
info = pd.read_csv("typhoon_info.csv", index_col=0)print(data.shape)
data.sample(5)
print(info.shape)
info.sample(5)print(len(data["International number ID"].unique()))
vc = data["International number ID"].value_counts()# 数据处理
data[data["year"] < 1977]["grade"].unique()
data[data["year"] >= 1977]["grade"].unique()
data = data[data["year"] >= 1977]typhoons = data["International number ID"].unique() # Unique IDs of typhoons
info[info["Name"].str.strip() == "MAEMI"]

我们知道今年第5号台风“杜苏芮”在菲律宾以东洋面生成,位置大致在东经132.8°北纬13.9°

现在我们查找在132,1300附近位置上生成的台风生成的情况路径:

similar_data = data[((data["Latitude of the center"] < 140) & (data["Latitude of the center"] > 110)) & \((data["Longitude of the center"] < 1440) & (data["Longitude of the center"] > 1240))]
similar_data.to_csv("similar_data.csv")

similar_data.csv中生成找到多个在这附近生成的台风:
在这里插入图片描述

选择其中四个台风分析路径,其中查看1911台风,意思是2019年的11号台风白鹿,生成路径分析图:

轨迹图:


maemi_data = data.copy()[data["International number ID"]==1911]maemi_data["Elapsed Hour"] = (maemi_data["day"]-4)*24 + maemi_data["hour"]
maemi_data.head()maemi_data = maemi_data.drop(["International number ID", "year", "month", "day", "hour"], axis=1)
maemi_data.head()maemi_data["Longitude of the center"] /= 10
maemi_data["Latitude of the center"] /= 10fig = plt.figure(figsize=(3,3))
plt.xlim(120, 170)
plt.ylim(5, 55)
plt.plot(maemi_data["Longitude of the center"], maemi_data["Latitude of the center"], "red")
plt.show()

在这里插入图片描述

散点图

scale = maemi_data["The longeast radius of 30kt winds or greater"].fillna(60)
fig = plt.figure(figsize=(5,5))
plt.xlim(120, 170)
plt.ylim(5, 55)
plt.plot(maemi_data["Longitude of the center"], maemi_data["Latitude of the center"], "black", linewidth=1)
plt.scatter(maemi_data["Longitude of the center"], maemi_data["Latitude of the center"], s=scale/3, c=maemi_data["Maximum sustained wind speed"])
plt.show()

在这里插入图片描述

地图风圈

import matplotlib.cm as cmc = maemi_data.copy()["Maximum sustained wind speed"]
cmap = cm.jetdef rgb_to_hex(rgb):return '#%02x%02x%02x' % rgb
m = folium.Map(location=[38.9, 153.2], zoom_start=3, width=600, height=600)
for i in range(len(maemi_data)):color = cmap(c.iloc[i]/c.max())color = tuple([int(c*255) for c in color[:3]])color = rgb_to_hex(color)folium.Circle(location=[maemi_data.iloc[i]["Latitude of the center"], maemi_data.iloc[i]["Longitude of the center"]],radius=scale.iloc[i]*1852,  #  nautical mile to meterfill=True,color="black",fill_color=color).add_to(m)
m.save('map.html')  # 保存地图为HTML文件
import webbrowser
webbrowser.open('map.html', new=2)  # 在浏览器中打开地图

在这里插入图片描述

台风中心气压和风力变化情况

plt.title("Typhoon's Central Pressure in hPa")
plt.plot(maemi_data["Elapsed Hour"],maemi_data["Central pressure"])
plt.xlabel("Elapsed Hour")
plt.ylabel("Central Pressure")
plt.legend()
plt.show()plt.title("Typhoon's Wind Speed in knot(kt)")
plt.plot(maemi_data["Elapsed Hour"],maemi_data["Maximum sustained wind speed"])
plt.xlabel("Elapsed Hour")
plt.ylabel("Maximum sustained wind speed")
plt.legend()
plt.show()sns.heatmap(maemi_data.corr(), annot=True)
plt.show()

在这里插入图片描述
在这里插入图片描述

总结

台风预测是基于多源数据和分析手段,通过对台风路径、强度和可能影响的预测,为相关地区提供早期警报和决策支持,以最大程度减少台风可能造成的人员伤亡和财产损失。然而,由于台风的复杂性和不确定性,持续的观测和改进预测技术仍然是提高预测准确性的重要方向。

“杜苏芮”极有可能登陆福建闽南,“杜苏芮”将以每小时10-15公里的速度向西偏北转西北方向移动,强度逐渐加强,向台湾东部海面靠近,26日开始影响我国东南沿海。

这篇关于机器学习实战12-基于历史数据的台风的预测与分析(2023年第5号台风杜苏芮将登陆福建)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541921

相关文章

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库