Grubbs 테스트는 데이터 세트에서 이상값을 탐지하는 데 사용되는 통계적 가설 테스트 방법입니다. 이상치는 데이터 분포에 할당된 관측치로, 이상치라고도 합니다. 이상값이 있는 데이터 세트는 정규/가우스 분포가 있는 데이터보다 과적합에 더 취약한 경향이 있습니다. 따라서 머신러닝 모델링에 앞서 이상값을 해결하는 것이 필요합니다. 처리하기 전에 데이터 세트에서 이상값을 감지하고 찾아야 합니다. 가장 널리 사용되는 이상값 탐지 기술은 QQPlot, 사분위간 범위 및 Grubbs 통계 테스트입니다. 그러나 이 기사에서는 이상값을 탐지하기 위한 Grubbs 테스트에 대해서만 설명합니다. 배우게 될 내용: Grubbs 테스트란 무엇이며 Python에서 이를 구현하는 방법.
이상값은 다른 데이터 값과 수치적으로 거리가 먼 데이터 관측값입니다. 이 값은 정규 분포 데이터의 범위를 벗어납니다. 정규 분포를 달성하려면 데이터 세트에 첫 번째 표준 편차 레코드의 67%, 두 번째 표준 편차의 데이터 95%, 세 번째 표준 편차의 점 99.7%가 포함되어야 합니다. 즉, 데이터 포인트는 1분위수 범위와 3분위수 범위 사이에 있어야 합니다. 첫 번째 사분위수 아래의 레코드와 세 번째 사분위수 위의 레코드를 이상값 또는 이상값으로 간주합니다.
다른 통계적 가설 검정과 마찬가지로 Grubbs 검정도 귀무 가설(H0) 또는 대립 가설(H1)을 승인하거나 기각할 수 있습니다. Grubbs 테스트는 데이터 세트에서 이상값을 감지하는 테스트입니다.
Grubbs 테스트는 두 가지 방법으로 수행할 수 있습니다. 단측 테스트 및 양측 테스트. 단변량 데이터 세트 또는 최소 7개 변수의 분포를 갖는 거의 정규 표본에 대해. 이 검정은 극한 스튜던트화 편차 검정 또는 최대 정규화 잔차 검정이라고도 합니다.
Grubbs 테스트는 다음과 같은 가정을 사용합니다. -
Null(H0): 데이터 세트에 이상값이 없습니다.
대안(H1): 데이터 세트에는 특이치가 하나만 있습니다.
Python은 방대한 라이브러리 컬렉션을 통해 모든 프로그래밍 문제를 처리할 수 있습니다. 이러한 라이브러리는 모든 작업, 통계 테스트 등을 수행하는 데 직접 사용할 수 있는 내장 메서드를 제공합니다. 마찬가지로 Python에는 이상값을 감지하기 위해 Grubbs 테스트를 수행하는 방법이 포함된 라이브러리가 있습니다. 그러나 Python에서 Grubbs 테스트를 구현하는 두 가지 방법, 즉 라이브러리에 내장된 함수와 처음부터 수식을 구현하는 방법을 살펴보겠습니다.
먼저 다음 명령을 사용하여 outlier_utils 라이브러리를 설치하겠습니다.
으아악이제 이상값이 포함된 데이터 세트를 만들고 Grubbs 테스트를 수행해 보겠습니다.
data - 데이터 값의 숫자형 벡터입니다.
alpha - 테스트의 유의 수준입니다.
이 방법에서 사용자는 Grubb의 테스트를 실행하기 위해 outlier 패키지의 smirnov_grubbs.test() 함수를 사용하고 필요한 데이터를 입력으로 전달해야 합니다.
위 코드는 라이브러리와 데이터를 로드하는 것으로 시작하고 마지막으로 "test" 메서드를 사용하여 이 데이터에 대해 Grubbs 테스트를 수행합니다. 이 테스트는 양쪽(왼쪽 및 오른쪽)의 이상값이나 1분위수 이하 및 3분위수 이상의 값을 감지합니다. 데이터에는 단 1개의 이상값(40)이 있었으며 이는 Grubbs의 테스트를 사용하여 제거되었습니다.
이 방법에서 사용자는 grubbs.min_test() 함수를 호출하여 제공된 데이터세트에서 최소 이상값을 가져오거나 grubbs.max_test() 함수를 호출하여 제공된 데이터세트에서 최대 이상값을 가져와야 합니다. 일방적인 Grubb 테스트를 얻었습니다.
단측 Grubbs 테스트는 1분위수 아래 또는 3분위수 위의 이상값을 감지합니다. min_test 메소드는 데이터의 가장 작은 쪽에서 이상값을 제거하고, max_test 메소드는 데이터 상단에서 이상값을 제거하는 것을 볼 수 있습니다.
여기에서는 Python을 사용하여 다음 Grubbs 테스트 공식을 구현합니다. 이를 달성하기 위해 Numpy 및 Scipy 라이브러리를 사용할 것입니다.
구현 단계는 다음과 같습니다 -
데이터 세트 값의 평균을 계산합니다.
데이터 세트 값의 표준 편차를 계산합니다.
Grubbs 테스트 공식을 구현하려면 데이터 세트의 각 값을 평균에서 빼서 분자를 계산하세요.
분자 값을 표준 편차로 나누어 계산된 점수를 얻으세요.
동일한 값에 대한 임계 점수를 계산합니다.
임계 값이 계산된 값보다 크면 데이터 세트에 이상치가 없고, 그렇지 않으면 이상치가 있는 것입니다.
Grubb 테스트 결과, 배열 x에는 이상값이 없지만 y에는 1개의 이상값이 있는 것으로 나타났습니다.
이 기사에서는 Python의 이상치 및 Grubbs 테스트에 대해 배웠습니다. 몇 가지 핵심 사항으로 이 기사를 마무리하겠습니다.
이상치는 사분위수 범위를 벗어나는 기록입니다.
이상치는 데이터 세트의 정규 분포를 따르지 않습니다.
Grubbs 가설 통계 검정을 사용하여 이상값을 탐지할 수 있습니다.
outlier_utils 라이브러리에 제공되는 내장 메서드를 사용하여 Grubbs 테스트를 실행할 수 있습니다.
양면 Grubbs 테스트는 왼쪽과 오른쪽의 이상값을 감지하고 제거합니다.
그러나 단측 Grubbs 테스트는 양쪽의 이상값을 감지합니다.
위 내용은 Python에서 Grubbs 테스트를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!