交通流数据异常据修复方法--基于时间序列的修复--python语言的实现

举报
爱打瞌睡的CV君 发表于 2022/07/07 23:30:51 2022/07/07
【摘要】 文章目录 1、修复原理2、数据修复的代码3、数据修复前后的比较4、参考文献 1、修复原理 2、数据修复的代码 # -*- coding: UTF-8 -*- """ @Autho...

1、修复原理

在这里插入图片描述

2、数据修复的代码

# -*- coding: UTF-8 -*-
"""
@Author  :远方的星
@Time   : 2021/7/5 22:50
@CSDN    :https://blog.csdn.net/qq_44921056
@腾讯云   : https://cloud.tencent.com/developer/column/91164
"""
import numpy as np
data = [1360, 1359, 1336, 1325, 1295, 1297, 1299, 1281, 1270, 1265, 1267, 0, 0, 0, 1248, 1260, 1256, 1249, 1263, 1228,
        1221, 0, 0, 0, 1229, 1220, 1221, 1246, 1228, 1239]
# 得到数据长度
length = len(data)
# 定义一个空列表用于存放差值数据
difference = []
for i in range(length):
    # 挑出为0的地方,即需要修复的数据
    if data[i] == 0:
        # 计算预测值之前所有值的和
        sum_1 = 0
        for j in range(i):
            sum_1 += data[j]
        # 求去平均值
        average = sum_1/(i+1)
        for k in range(i-1):
            a = data[k+1] - data[k]
            difference.append(a)
        # 求得变化量
        difference_average = np.mean(difference)
        # 求得修复数据
        data_fix = int(round(average + difference_average, 0))
        # 使用修复数据替代原来的0值
        data[i] = data_fix
        print('第{}位数据已经修复,修复的结果为{}'.format(i+1, data_fix))
print('数据全部修复后的结果为:', data)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

3、数据修复前后的比较

在数据修复之前,可以使用拉依达准则或者狄克逊准则判断数据是否为异常数据。

为了方便表示,将异常数据表示为空数据。

  • 修复前:

在这里插入图片描述

  • 修复后:
    在这里插入图片描述

4、参考文献

[1]王英会. 高速公路交通流异常数据识别及修复方法研究[D].北京交通大学,2015.

文章来源: luckystar.blog.csdn.net,作者:爱打瞌睡的CV君,版权归原作者所有,如需转载,请联系作者。

原文链接:luckystar.blog.csdn.net/article/details/118539972

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。