TITAN算法——风暴的跟踪与短时预报方法解读

引言

在论文中把风暴定义为反射率超过35dbz,且体积超过50km3的临接区域。在论文中风暴的识别部分比较好理解,即将雷达坐标转换为笛卡尔坐标之后在x轴方向找出反射率超过35dbz的邻接序列,并将之归串,再将串归组,如下图表示。在这里插入图片描述
之后需要提取风暴的特征,在本论文中风暴的特征主要用到一下几个:
1.反射率加权的质心(x,y,z)
2.风暴的体积
3.投影到水平面上的风暴的面积和形状(椭圆),此部分是一个旋转变换部分,主要采用主成分转换为基础的

风暴的跟踪

风暴的跟踪需要满足以下几个条件
1.正确的一组得到路径是较短的而不是较远的
2.正确的一组会有相似的特征
3.因为风暴的移动会有最大速度限制,在雷达扫描间隔中,风暴的移动不能超过这个上界,若超过则用虚线表示

风暴的跟踪在满足以上条件之后,需要使用最大匹配算法来优化跟踪模型,即匈牙利算法,使得损失最小,如果风暴的下一个时刻的匹配超过上诉的第三个条件,则令损失为一个特别大的常数,告诉算法这条路径的代价过大,需要选择其他路径。

风暴的分裂与合并

先给出定义:

合并:几个雷暴单体合成一个雷暴单体的过程;
分裂:一个大的雷暴单体分裂成几个小的雷暴单体的过程,这样的情况一般不多见

在风暴的运动过程中有可能发生一个风暴在下一时刻分裂成若干个小风暴,也有可能若干个小风暴下个时刻合并为一个风暴,这个时候就需要算法准确的判断子风暴或者母风暴是消失了还是合并或者分裂成新的风暴,算法判断过程如下:

合并:
1 根据t1时刻的风暴以及当前的风暴的发展情况确定下一个时刻的雷暴单体的质心的位置(需要一个比较好的算法)。
2 如果t2时刻的雷暴单体的体积覆盖了我们预测的几个质心,那么认为t1时刻的几个雷暴单体合并了,对路径进行合并;
如下图所示
在这里插入图片描述

分裂:
1.根据tl时刻对雷暴单体的路径进行追踪,并且预测出t2时刻这个单体的大小,形状。
2.如果t2时刻在预测的投影里面出现了几个独立的雷暴单体,那么认为雷暴单体分裂成几个了,对路径进行分叉。
如下图所示
在这里插入图片描述

简单的来说:就是利用我们的预测算法判断t1时刻未合并的所有母风暴的t2时刻的预测值,如果t2时刻所有的母分暴质心在合并后的椭圆里,则认为风暴发生了合并,分裂同理。

风暴的短时预测

风暴的预测满足以下三个条件:
●风暴趋向于沿直线运动。
●风暴的消失或增长遵循线性规则。
●偏离上述行为是随机发生的。

对于风暴的预测最重要的就是历史位置的影响,在初始时刻的位置我们认为其变化率全都为零,在以后的各个时刻我们用指数加权的线性回归模型去预测下一时刻的值

这里的预测也是本篇论文的核心思想,在这里用通俗易懂的方式阐述一下算法的原理

1.我们用p表示风暴的参数,如风暴的体积,投影区

2.用pi表示第i个时刻的风暴的参数,其中i表示前i个时间步的值,
i等于1表示前一个时间步以此类推,我们认为下一个预测一共与n个时间步有关,即时间步超过nt我们就认为第n个时间步以前的风暴的位置不影响当前时刻对下一时刻的预测

3.规定ti为预测的i个时刻,如t3表示预报开始后的三秒

4.由于我们的模型采用指数加权的线性回归模型,所以我们令前i个时刻的加权为:wi=α^i,
所以wipi为前i个时刻加权后的值,即:piα^i,其中α为常数,在得到加权后的nt个时刻之后,就可以绘出图像:
在这里插入图片描述
其中蓝色的点为每个时刻加权后的值,由于每个时刻我们都满足上诉的●风暴趋向于沿直线运动规律。所以我们用黑色的线连接每个时刻的值得到黑色的折线,之后采用线性回归拟合出红色得到直线,这条直线的斜率即为t时刻的变化率

5.若po表示当前时刻的值,则dp/dt即红色直线的斜率为估计值,
则有pt=p0+(dp/dt)*β,由于估计值是在投影区得到的,而风暴是立体的,所以我们将面积改为体积即At=A0+(dV/dt)*β,这样可以增加准确率

6.在论文中取nt=6,α=0.5,实验结果如下图
在这里插入图片描述
合并与分裂

关于合并的预测
1.合并的预测需要先得到合并的第一个观测时刻的质心位置x。
2.得到合并时刻的预测位置之后,我们针对每个母风暴采用上述的加权线性回归模型得到下一时刻的预测值,之后把得到预测值的曲线a,c,b平移到合并时刻的质点位置得到虚线的a,b,c
3采用同样的加权处理方式得到加权后的曲线d,注意这里的加权是每个母风暴体积所占观察时刻所有母风暴体积的加权,
4.对d曲线采用加权线性回归模型得到合并后的预测质心位置,再用直线连接起来

在这里插入图片描述
分裂的预测同理可得。

最后附上算法判定依据
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Titan算法是一种用于图数据库中象征计算(symbolic computation)的算法。该算法主要用于处理具有海量节点和边的大规模图数据,以快速计算节点的象征关系和相似性。 Titan算法实现的代码通常使用图处理框架,如Apache Giraph或Pregel。代码的基本结构包括输入输出、图的初始化、迭代过程以及结果输出。具体步骤如下。 首先,需要导入必要的库和模块,并定义输入输出文件路径,以及图的节点和边的类别。然后,读取输入文件中的节点和边信息,并根据图的结构构建初始的图数据。这一步骤通常包括节点的创建和相邻节点的连接。 接下来,进行Titan算法的迭代计算。迭代过程通常是一个循环,根据算法的定义更新节点的象征关系和相似性。在每一轮迭代中,遍历图中的每个节点,并根据其相邻节点的象征关系计算节点的新象征关系。新的象征关系可以通过基于邻居节点的象征关系进行加权求和或其它方式来获得。然后,根据此次迭代的结果更新节点的象征关系。 迭代过程往往会持续多轮,直到算法达到收敛条件为止。收敛条件可以根据具体的问题来定义,比如节点的象征关系变化小于某个阈值,或者迭代次数达到预设值等。 最后,输出算法的结果。通常会将节点的象征关系和相似性等信息写入输出文件,以供后续的数据分析和可视化。 总之,Titan算法的实现代码需要用到图处理框架,并包括输入输出、初始化、迭代过程和结果输出等步骤。代码的具体实现会根据具体问题和算法的定义而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值