Tuesday 11 July 2017

Ambientes Ambulantes Médios


Digamos que eu tenho uma tabela postgresql com os seguintes valores: Se eu usar postgresql para calcular a média, me dá uma média de 24,8 porque o alto valor de 100 tem um grande impacto no cálculo. Enquanto na verdade eu gostaria de encontrar uma média em algum lugar em torno de 6 e eliminar o (s) extremo (s). Estou procurando uma maneira de eliminar os extremos e quero fazer isso estatisticamente correto. Os extremos não podem ser resolvidos. Não posso dizer se um valor é superior a X, ele deve ser eliminado. Eu estive dobrando minha cabeça nas funções agregadas do postgresql, mas não posso colocar o dedo no que é certo para eu usar. Todas as sugestões feitas em 29 de maio 10 às 8:41 O Postgresql também pode calcular o desvio padrão. Você poderia tomar apenas os pontos de dados que estão na média () - 2stddev () que corresponderia aproximadamente aos 90 pontos de dados mais próximos da média. É claro que 2 também podem ser 3 (95) ou 6 (99,995), mas não ficam pendurados nos números porque, na presença de uma coleção de valores abertos, você não está mais lidando com uma distribuição normal. Tenha muito cuidado e valide que funciona como esperado. Mente usando a função de janela nula. Ele permite isolar facilmente valores extremos do conjunto de resultados. Digamos que você deseja cortar 10 de ambos os lados do conjunto de resultados. Então, passando o valor de 10 para ntil e procurando valores entre 2 e 9, você lhe dará o resultado desejado. Tenha também em mente que, se você tiver menos de 10 registros, talvez corte acidentalmente mais de 20, então certifique-se de verificar a quantidade total de registros também. Respondeu 29 de junho às 14:28 Sua resposta 2016 Stack Exchange, IncWe tem um daemon que lê em dados de alguns sensores, e entre as coisas que calcula (além de apenas relatar o estado) é o tempo médio que leva para que os sensores mudem De um valor para outro. Ele mantém uma média em execução de 64 datapoints e assume que o tempo de execução é bastante constante. Infelizmente, conforme demonstrado pelo gráfico abaixo, os dados de entrada não são os mais prístinos: (Cada linha representa um conjunto diferente de dados, o eixo x não significa realmente nada além de um eixo histórico histórico vago). Minha solução óbvia para lidar com isso seria criar um histograma dos dados e depois escolher o modo. No entanto, eu queria saber se havia outros métodos que renderiam um melhor desempenho ou seriam mais adequados para operação com uma média em execução. Algumas pesquisas rápidas de Wikipedia sugerem algoritmos para detectar outliers também podem ser adequados. Simplicidade é uma vantagem, já que o daemon está escrito em C. Edit. Compreendi a Wikipedia e criei estas várias técnicas: critério Chauvenets: usando a média e o desvio padrão, calcula a probabilidade de um dado ponto de dados acontecer e, em seguida, excluí-lo se a probabilidade for realmente ruim é inferior a 50. Enquanto isso parece Para ser bem adequado para corrigir uma média em execução, não estou bastante convencido de sua eficácia: parece que com grandes conjuntos de dados não gostaria de descartar os pontos de dados. Teste de Grubbs: Outro método que usa a diferença do desvio padrão para o padrão e tem alguma expressão para quando a hipótese de não outliers é rejeitada Distância de Cozinheiros: Mede a influência de um ponto de dados em uma regressão de mínimos quadrados, nossa aplicação provavelmente o rejeitaria se Excedido 1 Média truncada: descarte a extremidade baixa e a extremidade alta e, em seguida, tome a média como normal. Qualquer pessoa tem alguma experiência específica e pode comentar sobre essas técnicas estatísticas. Além disso, alguns comentários sobre a situação física: mediram o tempo médio até a conclusão de Uma máquina de lavar mecânica, então seu tempo de execução deve ser bastante constante. Não tenho certeza se ele realmente tem uma distribuição normal. Editar 2. Outra questão interessante: quando o daemon é bootstrapping, como dentro, não possui dados anteriores para analisar, como deve lidar com os dados de entrada. Simplesmente não faça qualquer edição de poda Outlier. Edite 3. Mais uma coisa. Se o hardware mudar de modo que os tempos de execução se tornem diferentes, vale a pena fazer o algoritmo suficientemente robusto de forma que não descarte esses novos tempos de execução, devo lembrar-me de esvaziar o cache quando isso aconteceu, pediu 12 de abril às 7 : 24

No comments:

Post a Comment