要不是有打卡的DDL
,都不知道要拖到什么时候学呢。那既然打卡的任务是笔记,那这笔记就做成学习记录持续更新吧~😎
0419
今天主要是看了下数据和想一下用什么模型来做。
nc 文件
nc
文件我总感觉我以前接触过,但为什么这次感觉这么不一样呢。😕
这一次的数据每一个文件里的data
维度是(1, 24, 8, 11, 11)
,其中:
- 第一个维度的
1
大家都说没啥用,但我觉得它的理解就是“这一天”的意思,假如吧好多文件的好多天的拼在一起,这第一个维度不就有意义了么~ - 第二个维度是一天的 24 小时;
- 第三个维度是 8 个类别的气象数据;
- 后面的 $11 \times 11$ 的是这个场站边上的 $11 \times 11$ 个气象数据采集点。
数据融合和处理
三个气象数据源中,NWP_2
和 NWP_1
、NWP_3
有不一样,NWP_2
里有个是msl
海平面气压,领两个对应的是 sp
地面气压。
这三个气象站数据怎么处理?
结合分享会上的分享,我想还是取平均吧,然后如果有异常值(这我还没有取发现)也好直接去掉。NWP_2
不一样的那个也直接拼上去和吧。
不同字段的气象数据单位都不一样,这地方应该要归一化之类的操作。
模型选择
因为刚看到数据的时候,见是时间序列的,然后还是预测的,我立刻想到了LSTM
。
但是 baseline 里用的是 lightgbm
,一个机器学习模型,不太熟悉,查了一下是决策树那一系列的。前两天浅浅学了一下决策树,不太明白「一棵树」怎么去做回归任务。这个可以学一下再结合自己数据处理的想法,然后再试试。
既然说是”回归“任务,那我去年做的 SVR
是不是也可以用?
分享会上也有人提到了,觉得这个任务似乎没有特别的”时序“特征,我也这么觉得,感觉就是拿那一刻的气象数据来计算发电功率。如果是这样的话,那就没有必要用LSTM
了。
那 $11 \times 11$ 的数据的处理,有人也尝试采用了CNN
来做「加权平均」得到不同类别的气象数据的特征。我也有此想法,得到这个数据后,在几个全连接得到预测值。但后面吴嘉丽(第一次分享会上唯一分享的女生,还说自己不吃学计算机的,但她太厉害了)有提到,这 121 个点在真实世界中不一定是「网格」分部的。那我想,这如果用同一个CNN
岂不是对不同的场站就不太有用了?还是说CNN
它可以自己找到其中最好的计算方式,可以适用不同情况呢?就好像最粗暴的直接取中心店或者取平均值那样,CNN
说不定也会找到类似的但更好的呢?
总的来说,模型的选择,现在我的选择就是:
- 树模型系列
SVR
CNN + MLP
都可以试试吧。
但初赛没多少时间了啊……😥
其他问题
有关时间的。文件0101
是预测第二天的数据,那元旦那天的发电功率岂不是用不上了?就是时间对其的问题。
评测公式里的$0.2$到底啥含义?
我把数据集下载下来的output.zip
直接上交,也有0.45呢,看了一下里面,每个文件里也都是一样的值,和那位用CNN
之后结果最后输出全部一样上交结果一样。