소프트웨어 빌드 통계를 작성 중입니다. 통과 / 실패 및 경과 시간에 대한 각 빌드에 대한 데이터가 있으며 주당 ~ 200 개를 생성합니다.
성공률은 집계하기 쉽습니다. 45 %가 특정 주에 통과했다고 말할 수 있습니다. 그러나 경과 시간도 집계하고 싶습니다. 데이터를 너무 잘못 표시하지 않도록하고 싶습니다. 나는 프로에게 더 잘 물어 볼 것이라고 생각했다 :-)
지속 시간이 10이라고 가정하십시오. 합격 및 불합격 사례를 모두 나타냅니다. 일부 빌드는 즉시 실패하므로 기간이 비정상적으로 짧아집니다. 일부는 테스트 도중 중단되고 결국 시간이 초과되어 매우 오랜 시간이 걸립니다. 우리는 다양한 제품을 제작하므로 성공적인 구축에도 90 초에서 4 시간이 걸립니다.
다음과 같은 세트를 얻을 수 있습니다.
[50, 7812, 3014, 13400, 21011, 155, 60, 8993, 8378, 9100]
내 첫 번째 방법은 집합을 정렬하고 중간 값을 선택하여 중간 시간을 얻는 것입니다.이 경우 7812 (짝수 집합의 산술 평균을 신경 쓰지 않았습니다.)
불행히도 주어진 값 하나만 선택하기 때문에 많은 변형이 발생하는 것 같습니다. 따라서이 값을 추세로 계산하면 중간에있는 빌드에 따라 5000-10000 초 사이에서 튀어 오릅니다.
그래서 이것을 부드럽게하기 위해 다른 접근법을 시도했습니다. 이상 치를 제거하고 나머지 값에 대한 평균을 계산하십시오. 나는 그것을 tertiles로 나누고 중간에서만 작동하기로 결정했습니다.
[50, 60, 155, 3014, 7812, 8378, 8993, 9100, 13400, 21011] ->
[50, 60, 155], [3014, 7812, 8378, 8993], [9100, 13400, 21011] ->
[3014, 7812, 8378, 8993]
이것이 나에게 더 좋아 보이는 이유는 두 가지입니다.
- 우리는 더 빠른 빌드에 대한 조치를 원하지 않습니다. 벌써 괜찮습니다.
- 가장 긴 빌드는 시간 초과로 인해 발생할 수 있으며 항상 있습니다. 우리는 그것들을 감지하는 다른 메커니즘을 가지고 있습니다
그래서 이것이 내가 찾고있는 데이터 인 것 같지만 사실을 제거하여 매끄러움을 얻었 을까 걱정됩니다.
논쟁의 여지가 있습니까? 방법은 제정신입니까?
감사!