第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 数据可视化气象数据

Posted 遇上雨也笑笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 数据可视化气象数据相关的知识,希望对你有一定的参考价值。

声明

  1. 系列博客不会出现任何真实数据
  2. 比赛期间将拒绝一切私信,有问题请发评论

系列文章目录

第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【0】【风况预测评分规则-最终得分R的计算】【已弃用】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【1】【验证集制作】【已弃用】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【2】【验证集使用】【已弃用】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【3】【计算最终得分】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【4】【数据管理】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【5】【数据可视化】【测试集_初赛】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【6】【数据可视化】【训练集】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【7】【数据管理】【验证集本地化】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【8】【数据可视化】【验证集】
第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 【9】【数据可视化】【气象数据】



更新说明



注:大赛官网明确规定数据不可用作其他用途,所以图就不展示了

前言

风场间的机舱数据有何关系,机舱数据和气象数据又有何关系,下面将以气象数据的时间线为主,然后从机舱数据中提取与气象数据处于同一时间的数据,通过可视化的方式来直观的展现它们的关系。


一、必要的准备

main.py见系列第5个博客【4】【数据管理】

  1. 你需要把mian.pytrain放在同一目录下,然后运行以下代码
from main import *

dm = Data_Manager()

dm.load_test_data()

np.nan_to_num(dm.X_, copy=False)
np.nan_to_num(dm.X0, copy=False)
np.nan_to_num(dm.Y0, copy=False)
np.nan_to_num(dm.S, copy=False)
np.nan_to_num(dm.W, copy=False)
np.nan_to_num(dm.test_X_, copy=False)
np.nan_to_num(dm.test_X0, copy=False)
np.nan_to_num(dm.test_W, copy=False);

二、在同一张图内展示

当众多曲线相似性很高时,可以通过在同一张图内展示,观察它们的重合度

f = 0    # 可以通过设置 f 来选择风场,[风场1: 0], [风场2: 1]
size = 500    # 时间长度,注:最大不要超过 17520
z = np.arange(size)
i = np.random.randint(0, 17520 - size)

风速

注:气象数据的风速数据与机舱数据的风速数据不在同一空间(机舱数据被归一化了),所以不能同图展示

fig, ax = plt.subplots(figsize=(50, 10))
for m in range(machine_len):
    spd_w, dir_w = dm.weather['data'][f, i:i+size, m, :].T
    ax.plot(z, spd_w)
plt.show()
fig, ax = plt.subplots(figsize=(50, 10))
spd_w, dir_w = dm.weather['data'][f, i:i+size, -1, :].T
ax.set_ylabel('气象数据')
ax.plot(z, spd_w)
plt.show()

风向

注:气象数据的风向数据与机舱数据的风向数据不在同一空间(机舱数据被归一化了),所以不能同图展示

fig, ax = plt.subplots(figsize=(50, 10))
for m in range(machine_len):
    spd_w, dir_w = dm.weather['data'][f, i:i+size, m, :].T
    ax.plot(z, dir_w) 
plt.show()
fig, ax = plt.subplots(figsize=(50, 10))
spd_w, dir_w = dm.weather['data'][f, i:i+size, -1, :].T
ax.set_ylabel('气象数据')
ax.plot(z, dir_w)
plt.show()

三、分开展示

当众多曲线相似性不高时,可以通过分开展示,观察它们的差异性

f = 0    # 可以通过设置 f 来选择风场,[风场1: 0], [风场2: 1]
size = 300    # 时间长度,注:最大不要超过 17520
z = np.arange(size)
i = np.random.randint(0, 17520 - size)

风速

for m in range(machine_len+1):
    spd_w, dir_w = dm.weather['data'][f, i:i+size, m, :].T

    fig, ax = plt.subplots(figsize=(50, 10))
    ax.set_ylabel(machine[f][m] if m < machine_len else '气象数据')
    ax.plot(z, spd_w)

    plt.show()

风向

for m in range(machine_len+1):
    spd_w, dir_w = dm.weather['data'][f, i:i+size, m, :].T

    fig, ax = plt.subplots(figsize=(50, 10))
    ax.set_ylabel(machine[f][m] if m < machine_len else '气象数据')
    ax.plot(z, dir_w)

    plt.show()

四、结语

看来图之后,有两个问题需要思考一下

  1. 同一风场同一时段,其中有一小部分风机存在数据缺失,那么其他风机的数据能不能帮助修复呢?
  2. 能不能宏观把控整个风场呢?不是以单台风机为单位的预测,而是以整个风场为单位,整体进行预测呢?这样的话,只要不出现同一时段所有数据缺失就能预测吧。。

以上是关于第五届全国工业互联网数据创新应用大赛 机组数据驱动的风电场短期风况预测 数据可视化气象数据的主要内容,如果未能解决你的问题,请参考以下文章

2018最新大赛资讯

有哪些大学生值得参加的竞赛?

工业互联网平台赋能需充分挖掘数据价值

5G+元宇宙创新应用来了,第五届“绽放杯”5G 应用征集大赛云 XR 专题赛落下帷幕...

万众赋能工业4.0:三一数据应用大赛圆满落幕

庚顿数据:实时数据库赋能工业互联网