Python 狄克逊';异常值的s-Q检验

Python 狄克逊';异常值的s-Q检验,python,Python,我在谷歌上搜索过,找不到内置的Dixon python Q测试。我知道R有一个,但我的问题是我有多达9个位置,每个位置都有一个仪器读取读数,报告一个时间实例的值(我们称之为fluff)。出于我们将不深入讨论的原因,如果仪器出现严重问题,数据将存储为fluff=-999。此外,如果风吹错了等,仪器会收到疯狂的读数。我想做的是对数据进行Dixon's Qtest,看看某个位置的读数是否应该被丢弃,而不是用于计算数据的其他统计数据。也许这会有帮助 Data[location][time]是一本词典词典

我在谷歌上搜索过,找不到内置的Dixon python Q测试。我知道R有一个,但我的问题是我有多达9个位置,每个位置都有一个仪器读取读数,报告一个时间实例的值(我们称之为fluff)。出于我们将不深入讨论的原因,如果仪器出现严重问题,数据将存储为fluff=-999。此外,如果风吹错了等,仪器会收到疯狂的读数。我想做的是对数据进行Dixon's Qtest,看看某个位置的读数是否应该被丢弃,而不是用于计算数据的其他统计数据。也许这会有帮助

Data[location][time]
是一本词典词典

for t in Time:    
    L = []
    for loc in Location:
        L.append(Data[loc][t])

    #perform Dixon's Outlier test
    average = sum(L) / len(L)
    AverData[t] = average

    #more analysis

谢谢大家!

Dixon Q检验的目的是通过偏离正态分布来识别异常值,但在这种情况下,如果fluff=-999,您知道fluff(可能还有行/读数中的所有其他数据)是异常值。听起来你不需要狄克逊的Q

尽管如此,在Python中仍然有Dixon的Q测试的原始实现