峭度指标在物联网环境数据搜集环节的可能应用

0.引言

物联网环境,有时需要搜集传感器或者数据在运行状态时的高采样率波形信息,这类信息尺寸相对较大,如果设定定时传送,不适合,会有很多的无效数据点,我们必须能够识别出设备的有效工作状态。这里提及的峭度运算,是一个较便捷地侦测有效数据是否已经出现的指标,它可以作为一个侦测条件来使用。

1.峭度的计算公式和物理意义

def kurtosis(data):
    n = len(data)
    mean_val = sum(data) / n
    var_val = sum((x - mean_val) ** 2 for x in data) / n
    std_val = var_val ** 0.5
    if std_val == 0:
        return 0
    else:
        kurt_val = sum((x - mean_val) ** 4 for x in data) / n
        kurt_val = kurt_val / (std_val ** 4)
        return kurt_val - 3

上面是最简单的峭度公式。它的物理意义是:它是信号满足正态分布的特征度量。在满足正态分布的情形下,它的输出值所在区间大概是[-5,+5],一旦一组数据计算的结果在这个区间之外,就可以判定,有效数据已经到来——只有白噪声满足正态分布,有效的数据都是高度极化的,它们肯定不满足正态分布。

2.实际使用

def IsRealDataComming(data):
   return abs(kurtosis(data))>=5

实际使用中,如果>=5的条件过于宽松,可以依据现有的数据,将门限值设定得更高些。

你可能感兴趣的:(问题建模,测量,设计,物联网,单片机)