2011-12-27 2 views
1

숫자가 가깝지만 정확하지 않은 데이터 세트의 모드를 찾고 싶습니다. 예를 들어 이제 나는 다음과 같은 배열을 가정 해 봅시다 :알고리즘 : 불완전한 값으로 모드 찾기

[0.00, 100.12, 101.00, 99.75, 97.5, 102.4, 36.34, 103.11, 100.20, 75.0]

나는이 중 약 100 번호를 얻으려면 정렬. 나는 평균값을 취할 수는 있지만 0.00, 36.34 및 75.00이 나머지 숫자를 망치는 것을 원하지 않습니다.

구문 방식의 또 다른 방법은 값의 평균을 원하며 다른 값과 근접하지 않은 값은 제외합니다.

감사합니다.

+0

설명하는 것은 "모드"(= 가장 자주 발생하는 값)와 완전히 다르므로 태그를 제거하고 제목을 변경하려고 할 수 있습니다. –

+4

RANSAC에 대한 기사를 읽는 것이 좋습니다. http://en.wikipedia.org/wiki/RANSAC –

+0

저는 그것이 제가 찾고있는 것, 감사합니다! – Jason

답변

0

빠른 해결책은 히스토그램을 계산하고 최대 값을 찾는 것입니다. bin 크기로 게임하고 싶을 수도 있습니다.

+0

**을 작성하면 빈 크기 **로 게임해야합니다. 이것은 히스토그램이 합리적으로 작동하는 데 중요합니다. 따라서 합리적인 결과를 얻으려면 여러 가지 bin 크기로 여러 번 시도해야합니다. 결국, 당신은 또한 궤에서 그것을 세련하고 싶을 것이다. –

1

평균 대신 중간 값을 사용하는 것은 어떻습니까?

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

또는 사용은 "의미 손질". 값의 상위 10 %와 하위 10 %를 버리고 평균을 나머지에만 계산하십시오. 그것은 아마 더 안정적입니다.

+0

[0, 10, 20, 30, 100, 200, 1000, 1000, 1000, 1000, 1000]의 중앙값은 200입니다. – cyborg

+0

예, 1000 개의 관측치를 두 개 더 추가하면 1000이됩니다. 중앙값은 특히 실제 데이터에서 꽤 좋은 의미를가집니다. –

+0

히스토그램에는이 문제가없고 더 빠를 수도 있습니다. – cyborg