일단 값을 차트로 플로팅하면 트윈 피크를 관찰하여 바이 모달 분포를 식별 할 수 있지만 프로그래밍 방식으로 찾는 방법은 무엇입니까? (알고리즘을 찾고 있습니다.)
일단 값을 차트로 플로팅하면 트윈 피크를 관찰하여 바이 모달 분포를 식별 할 수 있지만 프로그래밍 방식으로 찾는 방법은 무엇입니까? (알고리즘을 찾고 있습니다.)
답변:
연속 분포의 모드를 식별하려면 데이터를 스무딩하거나 비닝해야합니다.
비닝 은 일반적으로 너무 신중합니다. 결과는 종종 빈 컷 포인트를 배치하는 위치에 따라 다릅니다.
커널 평활화 (특히 커널 밀도 추정 형식)는 좋은 선택입니다. 많은 커널 모양이 가능하지만 일반적으로 결과는 모양에 크게 의존하지 않습니다. 커널 대역폭에 따라 다릅니다. 따라서 사람들은 식별 된 모드의 안정성을 확인하기 위해 적응 형 커널 스무드를 사용 하거나 다양한 고정 대역폭에 대해 일련의 커널 스무스를 수행합니다. 적응 형 또는 "최적의"스무더를 사용하는 것이 매력적이지만, 이들 중 대부분 (모두?)은 정밀도와 평균 정확도 사이의 균형을 이루도록 설계되었으므로 모드 위치의 추정을 최적화하도록 설계되지 않았습니다.
구현이 진행되는 한 커널 스무더는 데이터에 맞게 미리 결정된 기능을 로컬로 이동하고 확장합니다. 이 기본 기능을 차별화 할 수 있다면 (가우스는 원하는만큼 여러 번 차별화 할 수 있기 때문에 가우시안은 좋은 선택입니다.) 그런 다음 부드러운 파생물을 얻기 위해 파생물로 대체하면됩니다. 그런 다음 중요한 점을 감지하고 테스트하기 위해 표준 제로 찾기 절차를 적용하면됩니다. ( 브렌트의 방법은 잘 작동합니다.) 물론 당신이 어떤 중요한 점은 지역 최대 여부를 빠르게 검사 얻기 위해 두 번째 유도체 같은 트릭을 할 수 있습니다 - 즉, 모드.
이 문제를 다루는 Silverman의 잘 알려진 논문이 있습니다. 커널 밀도 추정을 사용합니다. 보다
BW Silverman, 커널 밀도 추정을 사용하여 다중 양식 조사 , J. Royal Stat. Soc. B , vol. 43 번 1, 1981, 97-99 쪽.
용지 표에 약간의 오류가 있습니다. 이것은 시작점이지만 꽤 좋은 것입니다. 가장 원하는 알고리즘을 사용할 때 잘 정의 된 알고리즘을 제공합니다. 더 많은 "현대적인"접근 방식을 인용 한 논문에서 Google Scholar를 볼 수 있습니다.
나는 파티에 늦었지만 멀티 모드인지 아닌지에 관심이 있다면 모드 수에 관심이 없다면 diptest 를 봐야 합니다.
에서 R
패키지라고합니다 diptest
.
위키의 정의는 약간 혼란 스럽습니다. 하나의 모드 만있는 연속 데이터 세트의 확률은 0입니다. 바이 모달 디스 플 루비 톤을 프로그래밍하는 간단한 방법은 서로 다른 중심에있는 두 개의 정규 정규 분포를 사용하는 것입니다. 이것은 두 개의 피크 또는 위키가 모드를 호출합니다. 실제로 거의 두 가지 분포를 사용할 수 있지만 더 어려운 통계 기회 중 하나는 두 개의 임의 데이터 분포를 결합한 후 데이터 세트가 어떻게 구성되었는지 찾는 것입니다.