[비정형 데이터] 08. 신호 데이터의 이상치 제거하기
2020. 5. 4. 18:06ㆍ데이터 분석/비정형데이터분석
신호 데이터는 누가 선을 건드려서 전기에 스파이크가 나는 현상과 같이 원하지 않는 데이터들이 존재할 수 있습니다. 이때 이상치를제거해야 합니다. 이상치는 전자기기 통신과정에서 발생한 이상값인지 무시해도 되는 값인지에 관해서는 경험 지식과 실험에 의해 결정이 됩니다.
추세에서 벗어나는 이상치를 제거하는 방법에 대해 알아보겠습니다.
- Hampel filter: 현재 시점 주변 데이터들의 중앙값 대비 얼마나 이상한가를 판단하는 함수
- hampel(data, k=window수, t=표준편차 값 범위)
- 정해진 window구간 내 중앙값을 구함
- 각 샘플에 대한 중앙값의 절대 오차를 구함
- 절대 오차의 표준편차를 구함
- 현재 값의 절대 오차가 위 표준편차를 넘으면 중앙값으로 대체
x = sin(2*pi*(0:99)/100)
x[6] = 2
x[20] = -2
par(mfrow=c(2,1))
t = 1:length(x)
plot(t,x,'l')
# 샘플 6개로 구성된 데이터에서 중앙값과 샘플 각 값의 절대 오차의 표준편차가 2sigma영역보다 크면 이상치로 판단
filtered = hampel(x,k=6,t=2)
plot(t,filtered$y,'l')
아직 이상치가 남아있는 것은 k값을 줄임으로써 제거할 수 있습니다.
728x90
'데이터 분석 > 비정형데이터분석' 카테고리의 다른 글
[비정형 데이터] 09. 신호데이터의 추세 제거하기 (0) | 2020.05.04 |
---|---|
[비정형 데이터] 07. 신호 데이터 스무딩하기 (0) | 2020.05.04 |
[비정형 데이터] 06. 어떤 특징을 추출할 수 있을까? - 주파수 (0) | 2020.05.04 |
[비정형 데이터] 05. 어떤 특징을 추출할 수 있을까?Peak (0) | 2020.04.30 |
[비정형 데이터] 04. 어떤 특징을 추출할 수 있을까? - 급격하게 변하는 시점 (0) | 2020.04.29 |