Estou escrevendo um script que analisa os tempos de execução dos processos. Não tenho certeza de sua distribuição, mas quero saber se um processo é executado "muito longo". Até agora, eu tenho usado três desvios padrão dos últimos tempos de execução (n> 30), mas me disseram que isso não fornece nada de útil se os dados não forem normais (o que parece não ser). Encontrei outro teste outlier que afirma:
Encontre o intervalo interquartil, que é IQR = Q3 - Q1, onde Q3 é o terceiro quartil e Q1 é o primeiro quartil. Em seguida, encontre estes dois números:
a) Q1 - 1,5 * IQR b) Q3 + 1,5 * IQR
O ponto é um outlier se <a ou> b
Meus dados tendem a ser 2seg, 3seg, 2seg, 5seg, 300seg, 4seg, .... onde 300seg é obviamente um erro.
Qual método é melhor? O método IQR ou o método de desvio padrão?
fonte
Respostas:
Realmente existem livros inteiros sobre discrepâncias.
A resposta específica usual é que o desvio padrão é puxado pelos valores discrepantes, portanto, qualquer regra baseada no SD pode ter um desempenho ruim.
As regras de Tukey sobre quartis +/- 1,5 IQR que você cita surgiram do trabalho manual com conjuntos de dados pequenos e de tamanho moderado na década de 1970 e foram projetados para indicar valores nos quais você pode pensar individualmente. Não está claro se eles são transferidos para conjuntos de dados muito maiores, nem se aplicam quando você espera uma distorção considerável.
Uma resposta mais geral é que uma regra outlier é boa se ela sempre toma as decisões corretas, mas como você pode saber?
Este é um território contencioso, mas eu esperaria que um outlier se destacasse em um gráfico como sendo muito diferente dos outros. Mas muitas vezes é (geralmente?) Uma decisão difícil de dizer a diferença entre o que você espera de uma distribuição de cauda pesada e o que é muito selvagem para ser considerado algo que não seja estranho. Às vezes, a transformação faz um estranho parecer muito mais comum.
Além disso, se você usar métodos robustos, poderá se preocupar um pouco menos com precisamente quais valores merecem ser chamados de outliers, mas se preocupar com os outliers em geral.
fonte
Você diz que não tem certeza da distribuição, mas os processos em andamento são fáceis de coletar e avaliar para distribuição. Apenas salve várias vezes e analise-as. Dado o tempo que você postou, você poderá obter muitos em poucas horas.
Sua busca por uma regra para um outlier não precisa ser tão geral. Pode ser específico para sua tarefa. Você é capaz de coletar muitos dados. Colete, examine e decida quando um processo é muito longo. Talvez uma abordagem baseada em IQR funcione, mas você pode usar seu conjunto de dados, ou um ajuste paramétrico, para fazer simulações e verificar se funciona bem. O mesmo vale para SD. Pode ser que os anos 50 sejam muito longos e é tudo o que você precisa.
fonte