문제

사용자가 하루 종일 가격을 입력하는 애플리케이션이 있습니다.이 가격은 타임스탬프와 함께 테이블에 기록된 다음 가격이 어떻게 이동했는지에 대한 차트를 생성하는 데 사용됩니다.때때로 사용자가 가격을 잘못 입력합니다(예:0부터 다수 또는 소수까지 입력하면 차트가 다소 손상됩니다(큰 스파이크가 발생함).가격이 20% 이상 변동하는 경우 추가 확인 대화 상자도 넣었지만 이것이 잘못된 값을 입력하는 것을 막지는 못합니다...

나머지 값과 크게 다른 값을 제외하기 위해 차트를 작성하기 전에 값을 분석하는 데 사용할 수 있는 통계 방법은 무엇입니까?

편집하다: 뼈에 고기를 추가하려면.가격이 주식 가격이라고 가정해 보세요(그렇지는 않지만 동일한 방식으로 동작합니다).하루 동안 가격이 크게 오르거나 내리는 것을 볼 수 있습니다.우리는 하루 평균 약 150개의 가격을 기록하고 때로는 한두 개 가격이 크게 틀릴 때도 있습니다.다른 때는 다 좋은데...

도움이 되었습니까?

해결책

계산하고 추적하세요. 표준 편차 잠시 동안.적절한 백로그를 확보한 후에는 평균에서 얼마나 많은 표준 편차가 떨어져 있는지 확인하여 이상값을 무시할 수 있습니다.더 좋은 점은 시간이 있으면 정보를 사용하여 몇 가지 작업을 수행할 수 있다는 것입니다. 순진한 베이지안 분류.

다른 팁

좋은 질문이지만 답변이 매우 다양할 수 있으므로 상당한 토론으로 이어질 수 있습니다.그것은 다음에 달려있다

  • 당신은 이것에 얼마나 많은 노력을 기울일 의향이 있습니까?

  • 일부 답변은 실제로 +/-20% 또는 귀하가 고안한 테스트에 따라 다를 수 있습니까?그렇다면 인간의 개입이 항상 필요할까요?

  • 관련 테스트를 고안하려면 해당 주제에 대해 훨씬 더 알아야 합니다.

즉, 다음과 같은 대안이 가능합니다.

  • 이전 값(또는 이전 10개 또는 20개 값의 평균/모드)에 대한 간단한 테스트를 구현하는 것은 간단합니다.

  • 다음 수준의 복잡성에는 모든 값(또는 이전 x 값 또는 지난 3개월의 값)에 대한 통계적 측정이 포함되며, 정규 또는 가우스 분포를 사용하면 각 값에 오류가 있는지에 대한 확실성을 부여할 수 있습니다. 대정확한.이 확실성 정도는 일반적으로 백분율로 표시됩니다.

보다 http://en.wikipedia.org/wiki/Normal_distribution 그리고 http://en.wikipedia.org/wiki/Gaussian_function 이 페이지에는 프로그래밍에 도움이 되는 적절한 링크가 있으며, 또한 사용하는 언어에 따라 이 작업에 도움이 되는 기능 및/또는 플러그인이 있을 수 있습니다.

  • 더 발전된 방법은 다른 매개변수를 고려할 수 있는 일종의 학습 알고리즘(마지막 x 값 위에)을 갖는 것입니다. 학습 알고리즘은 예를 들어 제품 유형이나 제조업체를 고려할 수 있습니다.또는 시간이나 수치를 입력한 사용자를 모니터링할 수도 있습니다.이 옵션은 필요한 것보다 훨씬 많은 것 같지만 이를 코딩하고 학습 알고리즘을 훈련하는 데 많은 작업이 필요합니다.

나는 두 번째 옵션이 당신에게 맞는 것이라고 생각합니다.표준 편차(많은 언어에 이에 대한 함수가 포함되어 있음)를 사용하는 것이 더 간단한 대안이 될 수 있습니다. 이는 단순히 값이 x 이전 값의 평균에서 얼마나 벗어났는지 측정하는 것입니다. 표준 편차 옵션을 사이 어딘가에 두겠습니다. 옵션 1과 2

기존 모집단의 표준 편차를 측정하고 평균에서 1 또는 2 표준 편차보다 큰 항목을 제외할 수 있습니까?

보다 정확한 답변을 제공하려면 데이터가 어떻게 보이는지에 따라 달라집니다.

또는 실제 가격 대신 가격의 이동 평균을 그래프로 표시합니다.

에서 인용 여기:

통계학자들은 이상값을 탐지하기 위한 여러 가지 방법을 고안했습니다.모든 방법은 먼저 이상값이 다른 값과 얼마나 떨어져 있는지를 정량화합니다.이는 이상값과 모든 점의 평균 간의 차이, 이상값과 나머지 값의 평균 간의 차이, 이상값과 다음으로 가장 가까운 값 간의 차이일 수 있습니다.다음으로, 모든 값의 SD, 나머지 값의 SD 또는 데이터 범위와 같은 일부 분산 측정값으로 나누어 이 값을 표준화합니다.마지막으로 이 질문에 답하는 P 값을 계산합니다.모든 값이 실제로 가우스 모집단에서 샘플링된 경우 다른 값에서 지금까지 이상값을 무작위로 얻을 가능성은 얼마나 됩니까?P 값이 작으면 다른 값과의 이상치 편차가 통계적으로 유의하다는 결론을 내립니다.

Google은 당신의 친구입니다.;)

귀하의 특정 질문에 대한 음모를 꾸미다, 그리고 150개 중 하루 평균 1-2개의 오류에 대한 특정 시나리오에서 가장 간단한 방법은 플롯을 그리는 것입니다. 손질된 수단, 또는 값의 중간 95% 범위 또는 이와 유사한 것입니다.실제로 플롯에서 원하는 값에 따라 다릅니다.

하루 가격의 실제 최대값과 실제 가격에 정말로 관심이 있다면 이상값을 이상값으로 처리하고 적절하게 제외해야 하며 아마도 이전에 제안된 이상값 테스트 중 하나를 사용해야 합니다(데이터 포인트는 다음 항목보다 x% 더 높습니다). 포인트 또는 마지막 n 포인트 또는 일일 평균에서 5 표준 편차 이상 벗어남).또 다른 접근 방식은 이상값 이후에 어떤 일이 발생하는지 확인하는 것입니다.이상값인 경우 급격한 상승세를 보인 후 급격한 하락세를 보일 것입니다.

그러나 전반적인 추세에 관심이 있다면 일별 절사 평균, 중앙값, 5% 및 95% 백분위수를 플로팅하면 기록을 잘 나타낼 수 있습니다.

표시 방법과 수행해야 할 이상값 감지 정도를 선택하세요. 분석 질문을 바탕으로.중앙값이나 백분위수에 관심이 있다면 아마도 관련이 없을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top