Python时间序列LSTM预测系列教程(7)-多变量

来源:互联网 发布:守望先锋个人数据排名 编辑:程序博客网 时间:2024/05/21 22:49

多变量LSTM预测模型(1)


教程原文链接

空气污染预测案例


数据格式


Noyearmonthdayhourpm2.5DEWPTEMPPREScbwdIwsIsIr12010110NA-21-111021NW1.790022010111NA-21-121020NW4.920032010112NA-21-111019NW6.710042010113NA-21-141019NW9.840052010114NA-20-121018NW12.970062010115NA-19-101017NW16.10072010116NA-19-91017NW19.230082010117NA-19-91017NW21.020092010118NA-19-91017NW24.1500
  1. No: 行标
  2. year
  3. month
  4. day
  5. hour
  6. pm2.5: PM2.5 浓度
  7. DEWP零点温度
  8. TEMP: 温度
  9. PRES: 压力
  10. cbwd: 结合风向
  11. Iws: 累积风速
  12. Is: 累积雪量
  13. Ir: 累积雨量

数据准备

1、删除“No”列,因为没用
2、删除最开始的24小时数据,因为PM值全是NA
3、将之后的数据中出现的NA全部替换成0

预处理
# coding=utf-8                                                                                                                      from pandas import read_csvfrom pandas import datetime def parser(x):    return datetime.strptime(x, '%Y %m %d %H') dataset = read_csv('data_set/air_pollution.csv', parse_dates=[['year', 'month', 'day', 'hour']], index_col=0, date_parser=parser)dataset.drop('No', axis=1, inplace=True)#axis=1,删除列;inplace=True,直接在原DataFrame上执行删除 #手动设置每一列的labeldataset.columns = ['pollution', 'dew', 'temp', 'press', 'wnd_dir', 'wnd_spd', 'snow', 'rain']dataset.index.name = 'date'#将NA替换为0dataset['pollution'].fillna(0, inplace=True)#删除最开始的24条数据dataset = dataset[24:]print dataset.head() #保存处理后数据dataset.to_csv('data_set/air_pollution_new.csv')

数据输出
# coding=utf-8                      #输出数据曲线                       #------------                       from pandas import read_csv         from matplotlib import pyplot                 dataset =  read_csv('data_set/air_pollution_new.csv', header=0, index_col=0)values = dataset.values                       #需要输出的列                       groups = [i for i in range(8)]      groups.remove(4)#删除值4,因为是字符串 i=1#输出列曲线图pyplot.figure()for group in groups:    pyplot.subplot(len(groups), 1, i)#创建len(gourps)行,1列的子图,表示在第i个子图画图    pyplot.plot(values[:,group])    pyplot.title(dataset.columns[group], y=0.5, loc='right')    i+=1                                                                                                                           pyplot.show()








阅读全文
0 0
原创粉丝点击