2010-11-21 4 views
0

저는 상대적으로 작은 (~ 100 값) 정수 집합을 가지고 있습니다. 각각의 정수는 몇 밀리 초 (millisecond)의 지속 시간을 나타냅니다. 평균을 계산하는실제 평균값을 계산하십시오.

사소한 알고리즘은 모든 n 값을 요약하고 n하여 결과를 분할하는 것입니다, 그러나 이것은 어떤 터무니없이 높은/낮은 값이 잘못해야하며 폐기 취득한다 고려하지 않습니다.

실제 평균값을 계산하는 데 사용할 수있는 알고리즘은 무엇입니까?

+3

는 "실제"평균 값 같은 것은 없다 값 계산 some ways를 나열 : 당신은 엄격하게 몇 가지 가정을하지 않고 실제 데이터에서 통계적 이상 치를 구별 할 수 없습니다. 실제 데이터를 구성하는 요소와 오류는 궁극적으로 확률적인 결정입니다. 또한, 이것은 프로그래밍 문제가 아니라 통계에 관한 것입니다. – stakx

+1

+1 stakx. 또한 '우스운'값이 '틀린'이라는 가정이 잘못되었을 수도 있습니다. 나는 더 많은 테스트 (1000 또는 10000)를 실행하고 * mean * 값을 그대로 사용하는 것이 좋습니다. –

답변

2

당신이 말했듯이 평균으로부터 주어진 값 이상으로 다른 모든 값을 버리고 평균을 재 계산할 수 있습니다. 흥미로운 또 다른 가치는 가장 빈번한 가치 인 중앙값입니다.

+1

모드가 가장 빈번한 값입니다. – birryree

+0

http://en.wikipedia.org/wiki/Median – Uberto

+0

@peoro, 그렇습니다.하지만 그렇게 쉬운 것은 아닙니다. 표준 편차를 찾으십시오 http://en.wikipedia.org/wiki/Standard_deviation 거기에는 몇 가지 수학 라이브러리가 있습니다. – Uberto

1

테스트 조건에 따라 달라집니다. 그리고 그것은 확률 이론의 과제입니다. 가장 간단한 방법 중 하나는 중간 값을 계산하여 엄청나게 높거나 낮은 값을 처리 할 수 ​​있다는 것입니다. 아래의 링크를보십시오. Wiki about median

1

매우 높거나 낮은 값이있는 경우 산술 평균이 좋지 않습니다. 값의 정렬 된 목록에서 "가운데"값 (항목에 고르지 않은 항목이 포함 된 경우) 또는 두 "중간"값의 산술 평균 인 사람이 제안한 중간 값을 계산할 수 있습니다 (그밖에).

또 다른 방법은 최저 및 최고 5 개의 숫자를 제거하고 나머지는 산술 평균을 계산하는 것입니다.

1

일부 옵션 :

  • 먼저 폐기 N 최고 및 최저 값과 계산 산술 나머지 의미한다. 값의 1 % 또는 10 %가 버려 지도록 N을 적절한 값으로 설정하십시오.
  • median 또는 중간 값을 사용하십시오.
  • 이상치에 대한 무게가 덜한 geometric mean을 사용하십시오.

위키 백과는 다른 "의미"

관련 문제