00:00
啊,最近在二一年以方的基础上,自己改进了两个模块,然后实现了一下,一个呢就是在微规化与反规化数据处理阶段的一个改进,另一个就是在损失函数上。加了一个带趋势加权的Mac lo, 然后这个是改完之后的一个,呃,效果图就是左边是预测对比,这能放大吗?左上角是预测对比的一个。预测值和真实值的一个对比,右面是这个,这是预测值的一个散点图,如果他们是在这个斜上,斜线上就是对角线上,就说明预测的是百分之百正确的,如果是围绕这个斜线越远,说明预测的预测的就越不准。另一个就是这个误差分布,嗯,这个可以看到大部分也是分布在00左右的,然后这个与预累计误差损失,就是随着时间部的增长,它这个loss也是整体下降的,这里先把程序运行起来。运行的过程中呢,我打开这个PDF。
01:00
呃,第一个就是inform,就是这篇论文,这篇嗯,工作的一个baseline框架。对于这个引方模引扣和底扣的大部分结构,呃都是没有进行变动的,变动的就是在呃模型进入模型的Ding之前,大概会在这个箭头的位置吧,嗯,做了一个re镜的规迹化,以及在整个模型训练过程中的损失函数那里在这加了一个季季节趋势加权。呃,另一个比较参考的思路就是NS转科这边工作,呃,也是在那个。也是在这个金融beding之前,差不多就是他标的nomination这个位置,用的是RA in的方法进行的规迹划revenue in呢就是二二年的这片工作,然后代码的话也是,呃,这里先先打开一下代码。的代码就是从那个二一年二二二年这篇工作里边源码里边出来的。然后RA inform RA inform.
02:01
嗯,它的一个模型框架里边儿是在呃进入到一半年之前,这里加入一个RA的规划,然后RA layer, 它的定义就是呃直就是直接导入的。这个RA的这个代码。另一个就是在损失函数这里,呃,损失函数的话。呃,损函数的话,它这个其实就是main函数,这个是for,其实就是main函数。然后会在上面的话,这里会有一个季节啊,本区是加权的一个m ma lo, 就把原先那种,呃,原先基础的m ma lo给替代了啊,这个代码应该是跑完了,然后第一个图是这个,呃,训练过程中一个损失函数的下降图就随着1的增加,它的los会逐渐下降。然后第二个图就是参数分布,就是大部分围绕在0,这里大体符合一个正态分布的思想。呃,这个大图呢,就是左上角就是预测和真真实值的一个对比,那这里能看出来还是比较贴近的,然后真实和预测值的一个,呃,误差散点图就是离这个虚线越近代表预测的越准,离这个虚线越远代表预测的越差。
03:15
误差分布的话,就是缩小一点可以吗?啊,这反正就是这个误差分布的话,就是整体分布在是0左右的符,也符合正在分布,呃,累计误差预测就是随着时间末的增长,它的loss会逐渐下降,大体也是符合直觉的。OK, 这个程序已经执行完毕了,然后它它给生成了,应该是,呃,一个是训练所值下降的这么一个图,另一个就是真实值和预测值的一个CSV文件,另一个就是P文件,就是模型的一个权重参数文件,拿到这个P文件之后呢,还可以运行下面这个project project进行一个。呃,就是加载这个PT文件进行预测。这是还有一个刚才出现的一个大图,就是各种对比图,以及损失下降的各种图。
04:04
呃,还有一个。模啊,模型参数分布。这就执行的很快啊,嗯。先看一下这个predict里边吧。他就会直接到从下面这个位置。呃,一个路径的话,就是它加载的是in form的一个P文件的路径,另一个就是你要预测的一个数据集,呃,如果你要改这个权重文件以及数据集的话,就直接改这个路径就可以,包括这个RA informer, 这个相当于其实其实就是main函数了。呃,这个主要要改的地方也是改数据集,大概会在下面这个位置。呃,这个位置。就是如果要跑别的数据集,也是把这个路径一改就可以了啊,这里的话要改一下他的一个时间列名,比如说直加赛这个ett的话,它的时间列名就是date,还有它的一个预测目标列名。
05:06
嗯,至于它的一个特征维度是7还是20就不用管了,这个代码里边会自适应。呃,然后这还有一个文件是什么?还有一个是创新点说明文件,就是说两个创新点分别是,呃,或者说两个改进点嘛,分别是RAV模块,以及这个趋势感觉加强MSE加的方式,这个其实这个图里已经标出来了,就是代码里边。RA in farmer.呃,Model里边informal。然后这个forecast的下边应该是。就是在这个位置加的in,然后包括在预测得到预测结果之后,也会有一个反规划。嗯,第二个就是M在改进,改进之后的加强MC的话,它的位置是在这个main函数里边,其实。
06:01
问,函数其实就是RA in form这个函数,呃,应该是在上面。就是趋势加权的m Mac, 这个就会把原先原先的那个mi,就是普通的m Mac给给替换掉,然后这里是它的一个几个超参数,就可以慢慢自己调的,这里默认的都是1,都是1的话,其实就跟MSE是差不多的。然后公式的话就如下这个这种这个什么,呃不行,怎么读西塔什么贝塔啥的。就是上面这里的一些超参数。贝塔伽马、阿尔法之类的。嗯,可视功能就是刚才展示的那些图,主要就是运行完之后,它会在自己的文件夹目录里边生成刚才的这些,呃,预测结果,或者说这之类的这种图。
07:03
这个其实和这个其实就是就是对带没文件,就是告诉这个模型的目录结构,或者说怎么去进行一个运行,第一个就是比较简单,只需要你,呃,第一个就是创环境嘛,你用一个康大环境。在这个代码里边,按照requestment t叉T这个文件把这相应的包给装上就行了,这个其实这个兼容性还是比较高的,就是你不一定按照这个1.3.0这样的去装,你只要呃大体版本跟这个差不多,也是能运行起来的,包括我自己这个这个环境可能就跟他们不完全一样,但也能跑起来。OK, 这个目录结构的话,第一个data set, 就是你放数据集的地方,就是把数据集CSO文件放在什么地方,然后这个路径的话,用就是用的地方是在这个热微form。然后应该是比较靠下的位置。就是这个位置,就把你的数据集路径复制到这里就可以,然后还有一列是它的预测的预测列的名字,以及时间类的名字。
08:06
然后另下面这个目录结构就是一些可视化结果的图。这个layer呢,就是整个模型它会用用到的一些组件,比如说embedding里边用什么用什么组件了,或者RA in用的什么组件,还有这个注意力啊,这个model的话就只有一个,只有这个RA,然后整个模型运行的话,也只有这一个文件。工具来的的话就是呃,算算是函数,就算MSE,算这个R方等类的就在这个文件里边。啊,包括实验掩码,还有实验特征的一些可视化也是在这个文件,参考文献就是三篇那个,呃1或者参考的这个文章等是公开发发表出来的论文。
09:00
那整体项目整体的代码结构就是这样。然后还有一些那个超参数的说明,就是输入序列长度,输入序列长度的话,这个也是可以按照自己的这个,呃,自己的这个要求吧,或者说具体的需求去去调,就只需要在这个热音发布文件里边CTRLF一下搜着它。这个是预测的一个长度是吧,那你就要预测呃长一点,或者预测四五个长度,就在这里改就可以了。这里就是完全兼容的。还有一些是。还有一些是什么参数,就是包括多头注意力的头数编码器,编码器的层数也都可以调的。这里有一块比较重要的地方,就是损失函数的参数,前面提到这个项目里边其实是把损失函数给替换掉了,替换成这个带有加权的,呃,M Mac如果要改变这个权重的这个值,就需要在漫文件里边。
10:01
就是一开始这个位置。去把它这几个权重给按自己的理解去调一下。运行的顺序的话,就是直接把这个CS文件放在里边,然后把这个目录给他,然后直接运行,这用双目就可以了,这个就是模型现在的主框架了,然后会生成生成以下这种各种的可视化图。如果想要加载,就是上一步训练好的这个PT文件。然后就需要运行这个文件,就是predict py就可以了。
我来说两句