저는 상대적으로 작은 (~ 100 값) 정수 집합을 가지고 있습니다. 각각의 정수는 몇 밀리 초 (millisecond)의 지속 시간을 나타냅니다. 평균을 계산하는실제 평균값을 계산하십시오.
사소한 알고리즘은 모든 n
값을 요약하고 n
하여 결과를 분할하는 것입니다, 그러나 이것은 어떤 터무니없이 높은/낮은 값이 잘못해야하며 폐기 취득한다 고려하지 않습니다.
실제 평균값을 계산하는 데 사용할 수있는 알고리즘은 무엇입니까?
저는 상대적으로 작은 (~ 100 값) 정수 집합을 가지고 있습니다. 각각의 정수는 몇 밀리 초 (millisecond)의 지속 시간을 나타냅니다. 평균을 계산하는실제 평균값을 계산하십시오.
사소한 알고리즘은 모든 n
값을 요약하고 n
하여 결과를 분할하는 것입니다, 그러나 이것은 어떤 터무니없이 높은/낮은 값이 잘못해야하며 폐기 취득한다 고려하지 않습니다.
실제 평균값을 계산하는 데 사용할 수있는 알고리즘은 무엇입니까?
당신이 말했듯이 평균으로부터 주어진 값 이상으로 다른 모든 값을 버리고 평균을 재 계산할 수 있습니다. 흥미로운 또 다른 가치는 가장 빈번한 가치 인 중앙값입니다.
테스트 조건에 따라 달라집니다. 그리고 그것은 확률 이론의 과제입니다. 가장 간단한 방법 중 하나는 중간 값을 계산하여 엄청나게 높거나 낮은 값을 처리 할 수 있다는 것입니다. 아래의 링크를보십시오. Wiki about median
매우 높거나 낮은 값이있는 경우 산술 평균이 좋지 않습니다. 값의 정렬 된 목록에서 "가운데"값 (항목에 고르지 않은 항목이 포함 된 경우) 또는 두 "중간"값의 산술 평균 인 사람이 제안한 중간 값을 계산할 수 있습니다 (그밖에).
또 다른 방법은 최저 및 최고 5 개의 숫자를 제거하고 나머지는 산술 평균을 계산하는 것입니다.
일부 옵션 :
위키 백과는 다른 "의미"
는 "실제"평균 값 같은 것은 없다 값 계산 some ways를 나열 : 당신은 엄격하게 몇 가지 가정을하지 않고 실제 데이터에서 통계적 이상 치를 구별 할 수 없습니다. 실제 데이터를 구성하는 요소와 오류는 궁극적으로 확률적인 결정입니다. 또한, 이것은 프로그래밍 문제가 아니라 통계에 관한 것입니다. – stakx
+1 stakx. 또한 '우스운'값이 '틀린'이라는 가정이 잘못되었을 수도 있습니다. 나는 더 많은 테스트 (1000 또는 10000)를 실행하고 * mean * 값을 그대로 사용하는 것이 좋습니다. –