Day Eight——时间序列的数据处理,进行简单的数据分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wnma3mz/article/details/79857985

Day Eight——时间序列的数据处理,进行简单的数据分析

完整代码及数据地址

第一部分数据water_heater.xls

第二部分数据water_heater.xls

第三部分数据train_neural_network_data.xlstest_neural_network_data.xls

第四部分数据water_heater.xls

第一部分——筛选有效数据

对应函数programmer_1

步骤:

  1. 读取数据,将时间(字符串)转换为指定日期时间格式
  2. 筛选数据,得出有效数据
  3. 进一步筛选,找出发生时间大于某一阈值的数据
  4. 创建新列,将数据进行累加求和编号,最终将结果保存为新表

第二部分——相邻时间作差分,比较是否大于阈值

对应函数programmer_2

步骤:

  1. 同上操作, 进行筛选数据
  2. 创建新的DataFrame,指定新的阈值
  3. 计算对应阈值的事件数,创建事件数
  4. 两个相邻点的斜率,即事件数的差值*4,创建新的列斜率
  5. 以后n个斜率的绝对值的平均值作为斜率指标,创建新的列斜率指标
  6. 找出最小的斜率指标的阈值,与定义的阈值进行比较,是否更大

第三部分——训练神经网络模型并进行预测

对应函数programmer_3

步骤:

  1. 读取数据,划分训练集和测试集并划分样本特征和标签
  2. 建立神经网络模型, 每层的神经元11x17, 17x10, 10x1, 分别以relu,relu,sigmoid作为激活函数
  3. 编译神经网络模型,具体参数见代码,训练模型,每批次100个训练数据
  4. 保存训练好的模型,进行预测,并将预测好的结果保存

第四部分——数据处理,根据已有的信息,进一步筛选出有效的数据进行数据分析

对应函数programmer_4

步骤:

  1. 同第一部分
  2. 事件编号作为分类依据,进行groupby操作
  3. 计算每行数据的用水事件时长(发生时间的最大值减去最小值)
  4. 计算每行数据的开关机切换次数(统计关机状态)
  5. 计算总用水量(水流量的总和)
  6. 计算总用水时长 (以分为单位进行统计)
  7. 计算平均水流量(总用水量/总用水时长)
  8. 保存数据为excel

猜你喜欢

转载自blog.csdn.net/wnma3mz/article/details/79857985
今日推荐