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