이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
filloutliers
데이터에서 이상값 감지하고 바꾸기
구문
설명
는 B
= filloutliers(A
,fillmethod
)A
에서 이상값을 찾아 fillmethod
에 따라 바꿉니다. 예를 들어, filloutliers(A,"previous")
는 이상값을 이상값이 아닌 이전 요소로 바꿉니다.
A
가 행렬인 경우filloutliers
는A
의 각 열에 대해 개별적으로 연산을 수행합니다.A
가 다차원 배열인 경우filloutliers
는 크기가 1이 아닌A
의 첫 번째 차원을 따라 연산을 수행합니다.A
가 테이블 또는 타임테이블인 경우filloutliers
는A
의 각 변수에 대해 개별적으로 연산을 수행합니다.
기본적으로, 이상값이란 중앙값에서 3 스케일링된 중앙값 절대 편차(MAD)를 초과해 떨어져 있는 값입니다.
는 이상값을 감지하는 방법을 지정합니다. 예를 들어, B
= filloutliers(A
,fillmethod
,findmethod
)filloutliers(A,"previous","mean")
은 이상값을 평균에서 3 표준편차를 초과해 떨어져 있는 A
의 요소로 정의합니다.
는 이상값을 B
= filloutliers(A
,fillmethod
,"percentiles",threshold
)threshold
에 지정된 백분위수 밖에 있는 점으로 정의합니다. threshold
인수는 백분위수 하한 임계값 및 상한 임계값을 포함하는 요소를 2개 가진 행 벡터(예: [10 90]
)입니다.
는 윈도우 길이가 B
= filloutliers(A
,fillmethod
,movmethod
,window
)window
인 이동 윈도우 평균 또는 중앙값을 사용하여 국소 이상값을 감지합니다. 예를 들어, filloutliers(A,"previous","movmean",5)
는 이상값을 5개 요소로 구성된 윈도우 내에서 국소 평균으로부터 3 국소 표준편차 넘게 벗어난 요소로 식별합니다.
는 하나 이상의 이름-값 인수를 사용하여 이상값을 감지하고 바꾸는 추가 파라미터를 지정합니다. 예를 들어, B
= filloutliers(___,Name,Value
)filloutliers(A,"previous","SamplePoints",t)
는 시간 벡터 t
의 대응 요소를 기준으로 A
의 이상값을 감지합니다.
예제
벡터의 이상값 보간
"linear"
방법을 사용하여 데이터로 구성된 벡터에서 이상값을 채우고 채운 데이터를 시각화합니다.
2개의 이상값이 포함된 데이터로 구성된 벡터를 만듭니다.
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];
선형 보간을 사용하여 이상값을 바꿉니다.
B = filloutliers(A,"linear");
원래 데이터와 채워진 이상값이 있는 데이터를 플로팅합니다.
plot(A) hold on plot(B,"o-") legend("Original Data","Filled Data")
평균값 감지 및 가장 가까운 채우기 방법 사용하기
데이터 테이블에서 잠재적 이상값을 식별하고, "nearest"
채우기 방법을 사용하여 모든 이상값을 채우고, 정리된 데이터를 시각화합니다.
데이터 타임테이블을 만들고 데이터를 시각화하여 잠재적 이상값을 감지합니다.
T = hours(1:15); V = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; A = timetable(T',V'); plot(A.Time,A.Var1)
이상값이 평균에서 3 표준편차보다 큰 점으로 정의되는 데이터의 이상값을 채웁니다. 이상값을 가장 가까운 이상값이 아닌 요소로 바꿉니다.
B = filloutliers(A,"nearest","mean")
B=15×1 timetable
Time Var1
_____ ____
1 hr 57
2 hr 59
3 hr 60
4 hr 100
5 hr 59
6 hr 58
7 hr 57
8 hr 58
9 hr 61
10 hr 61
11 hr 62
12 hr 60
13 hr 62
14 hr 58
15 hr 57
같은 그래프에서 원래 데이터와 채워진 이상값이 있는 데이터를 플로팅합니다.
hold on plot(B.Time,B.Var1,"o-") legend("Original Data","Filled Data")
이동 감지 방법 사용하기
이동 중앙값을 사용하여 시간 벡터에 대응하는 사인파 내에서 국소 이상값을 감지하고 채웁니다.
국소 이상값이 포함된 데이터로 구성된 벡터를 만듭니다.
x = -2*pi:0.1:2*pi; A = sin(x); A(47) = 0;
A
의 데이터에 대응하는 시간 벡터를 만듭니다.
t = datetime(2017,1,1,0,0,0) + hours(0:length(x)-1);
이상값을 슬라이딩 윈도우 내 국소 중앙값에서 3 국소 스케일링된 MAD를 초과하여 떨어져 있는 점으로 정의합니다. 윈도우 크기를 5시간으로 하여 t
의 점을 기준으로 하여 A
에서 이상값의 위치를 찾습니다. "clip"
방법을 사용하여 계산된 임계값으로 이상값을 채웁니다.
[B,TF,L,U,C] = filloutliers(A,"clip","movmedian",hours(5),"SamplePoints",t);
원래 데이터와 채워진 이상값이 있는 데이터를 플로팅합니다.
plot(t,A) hold on plot(t,B,"o-") legend("Original Data","Filled Data")
행렬 행의 이상값 채우기
주대각선상에 이상값이 있는 데이터 행렬을 만듭니다.
A = randn(5,5) + diag(1000*ones(1,5))
A = 5×5
103 ×
1.0005 -0.0013 -0.0013 -0.0002 0.0007
0.0018 0.9996 0.0030 -0.0001 -0.0012
-0.0023 0.0003 1.0007 0.0015 0.0007
0.0009 0.0036 -0.0001 1.0014 0.0016
0.0003 0.0028 0.0007 0.0014 1.0005
각 행의 데이터를 기준으로 이상값을 0으로 채우고 새 값을 표시합니다.
[B,TF] = filloutliers(A,0,2); B
B = 5×5
0 -1.3077 -1.3499 -0.2050 0.6715
1.8339 0 3.0349 -0.1241 -1.2075
-2.2588 0.3426 0 1.4897 0.7172
0.8622 3.5784 -0.0631 0 1.6302
0.3188 2.7694 0.7147 1.4172 0
TF
를 인덱스 벡터로 사용하여 감지된 이상값과 거기에 채워진 값에 액세스할 수 있습니다.
[A(TF) B(TF)]
ans = 5×2
103 ×
1.0005 0
0.9996 0
1.0007 0
1.0014 0
1.0005 0
이상값 위치 지정하기
2개의 이상값이 들어 있는 벡터를 만들고 위치를 감지합니다.
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; detect = isoutlier(A)
detect = 1x15 logical array
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
"nearest"
방법을 사용하여 이상값을 채웁니다. 감지 방법을 사용하는 대신 isoutlier
에서 감지한 이상값 위치를 제공합니다.
B = filloutliers(A,"nearest","OutlierLocations",detect)
B = 1×15
57 59 60 59 59 58 57 58 61 61 62 60 62 58 57
이상값 임계값 반환하기
"clip"
채우기 방법을 사용하여 데이터로 구성된 벡터에서 이상값을 바꿉니다.
이상값이 포함된 데이터로 구성된 벡터를 만듭니다.
A = [60 59 49 49 58 100 61 57 48 58];
디폴트 방법 "median"
으로 이상값을 감지하고 "clip"
채우기 방법을 사용하여 이상값을 상한 임계값으로 바꿉니다.
[B,TF,L,U,C] = filloutliers(A,"clip");
원래 데이터, 채워진 이상값이 있는 데이터, 이상값 감지 방법으로 결정된 임계값과 중심값을 플로팅합니다. 중심값은 데이터의 중앙값이며, 상한/하한 임계값은 중앙값으로부터 3 스케일링된 MAD만큼 위 그리고 아래에 있는 값입니다.
plot(A) hold on plot(B,"o-") yline([L U C],":",["Lower Threshold","Upper Threshold","Center Value"]) legend("Original Data","Filled Data")
입력 인수
A
— 입력 데이터
벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
입력 데이터로, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.
A
가 table형인 경우 그 변수는double
형 또는single
형이어야 하며, 아니면DataVariables
인수를 사용하여double
형 또는single
형 변수를 명시적으로 나열할 수 있습니다.double
또는single
이 아닌 데이터형의 변수가 들어 있는 테이블을 사용하는 경우 변수를 지정하는 것이 유용합니다.A
가 timetable형인 경우filloutliers
는 테이블 요소에 대해서만 동작합니다. 행 시간을 샘플 점으로 사용할 경우, 행 시간값은 고유해야 하며 오름차순으로 나열되어야 합니다.
데이터형: double
| single
| table
| timetable
fillmethod
— 채우기 방법
숫자형 스칼라 | "center"
| "clip"
| "previous"
| "next"
| "nearest"
| "linear"
| "spline"
| "pchip"
| "makima"
이상값을 바꾸기 위한 채우기 방법으로, 다음 값 중 하나로 지정됩니다.
채우기 방법 | 설명 |
---|---|
숫자형 스칼라 | 지정된 스칼라 값 |
"center" | findmethod 로 결정된 중심값 |
"clip" | findmethod 로 결정된 하한 임계값보다 작은 요소에 대한 하한 임계값. findmethod 로 결정된 상한 임계값보다 큰 요소에 대한 상한 임계값 |
"previous" | 이상값이 아닌 이전 값 |
"next" | 이상값이 아닌 다음 값 |
"nearest" | 이상값이 아닌 가장 가까운 값 |
"linear" | 이상값이 아닌 인접 값의 선형 보간 |
"spline" | 조각별 3차 스플라인 보간 |
"pchip" | 형태 보존 조각별 3차 스플라인 보간 |
"makima" | 아키마 3차 에르미트 다항식 변형 보간(숫자, duration 및 datetime 데이터형에만 해당) |
데이터형: double
| single
| char
| string
findmethod
— 이상값 감지 방법
"median"
(디폴트 값) | "mean"
| "quartiles"
| "grubbs"
| "gesd"
이상값 감지 방법으로, 다음 값 중 하나로 지정됩니다.
방법 | 설명 |
---|---|
"median" | 중앙값에서 3 스케일링된 중앙값 절대 편차(MAD)를 초과하여 떨어져 있는 요소로 이상값이 정의됩니다. 스케일링된 MAD는 c*median(abs(A-median(A))) 로 정의됩니다. 여기서 c=-1/(sqrt(2)*erfcinv(3/2)) 입니다. |
"mean" | 평균에서 3 표준편차를 초과하여 떨어져 있는 요소로 이상값이 정의됩니다. 이 방법은 "median" 보다 빠르지만 덜 견고합니다. |
"quartiles" | 상위 사분위수(75%)를 기준으로 1.5 사분위 범위보다 크거나 하위 사분위수(25%)를 기준으로 1.5 사분위 범위보다 작은 요소로 이상값이 정의됩니다. 이 방법은 A 의 데이터가 정규분포되지 않은 경우에 유용합니다. |
"grubbs" | 가설검정을 기반으로 이상값 1개를 매회 제거하는 그럽스 검정(Grubbs test)을 사용하여 이상값을 감지합니다. 이 방법에서는 A 의 데이터가 정규분포된 것으로 가정합니다. |
"gesd" | 이상값에 대해 일반화된 극단적 스튜던트화 이탈(Extreme Studentized Deviate) 검정을 사용하여 이상값을 감지합니다. 이 반복법은 "grubbs" 와 유사하지만, 서로를 감추는 여러 이상값이 있는 경우 더 효율적일 수 있습니다. |
threshold
— 백분위수 임계값
요소를 2개 가진 행 벡터
백분위수 임계값으로, 요소가 구간 [0,100]에 있는 요소를 2개 가진 행 벡터로 지정됩니다. 첫 번째 요소는 백분위수 하한 임계값을 나타내고 두 번째 요소는 백분위수 상한 임계값을 나타냅니다. threshold
의 첫 번째 요소는 두 번째 요소보다 작아야 합니다.
예를 들어, 임계값 [10 90]
은 이상값을 10번째 백분위수 아래에 있는 점과 90번째 백분위수 위에 있는 점으로 정의합니다.
movmethod
— 이동 방법
"movmedian"
| "movmean"
이상값 감지에 사용하는 이동 방법으로, 다음 값 중 하나로 지정됩니다.
방법 | 설명 |
---|---|
"movmedian" | 이상값이 window 로 지정된 윈도우 길이에 걸쳐 국소 중앙값에서 3 국소 스케일링된 MAD를 초과하여 떨어져 있는 요소로 정의됩니다. 이 방법은 햄펄 필터라고도 합니다. |
"movmean" | 이상값이 window 로 지정된 윈도우 길이에 걸쳐 국소 평균에서 3 국소 표준편차를 초과하여 떨어져 있는 요소로 정의됩니다. |
window
— 윈도우 길이
양의 정수 스칼라 | 양의 정수로 구성된 요소를 2개 가진 벡터 | 양의 duration형 스칼라 | 양의 duration형으로 구성된 요소를 2개 가진 벡터
윈도우 길이로, 양의 정수 스칼라, 양의 정수로 구성된 요소를 2개 가진 벡터, 양의 duration형 스칼라 또는 양의 duration형으로 구성된 요소를 2개 가진 벡터로 지정됩니다.
window
가 양의 정수 스칼라인 경우 윈도우는 현재 요소의 인근 지점에 중심을 두며, window-1
개의 인접 요소를 가집니다. window
가 짝수이면 윈도우의 중심은 현재 요소 및 이전 요소가 됩니다.
window
가 양의 정수로 구성된 요소를 2개 가진 벡터 [b f]
인 경우 윈도우에는 현재 요소, 현재 요소의 역방향으로 b
개 요소, 그리고 현재 요소의 정방향으로 f
개 요소가 들어 있습니다.
A
가 timetable형이거나 SamplePoints
가 datetime
형 또는 duration
형 벡터로 지정된 경우 window
는 duration
형이어야 하며, 윈도우는 샘플 점을 기준으로 하여 계산됩니다.
dim
— 연산 차원
양의 정수 스칼라
연산 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.
m
×n
입력 행렬 A
가 있다고 가정합니다.
filloutliers(A,fillmethod,1)
은A
의 각 열에 있는 데이터에 따라 이상값을 채우고m
×n
행렬을 반환합니다.filloutliers(A,fillmethod,2)
는A
의 각 행에 있는 데이터에 따라 이상값을 채우고m
×n
행렬을 반환합니다.
table형 또는 timetable형 입력 데이터의 경우 dim
은 지원되지 않으며 연산은 각 테이블 변수나 타임테이블 변수를 따라 개별적으로 수행됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: filloutliers(A,"center","mean",ThresholdFactor=4)
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: filloutliers(A,"center","mean","ThresholdFactor",4)
SamplePoints
— 샘플 점
벡터 | 테이블 변수 이름 | 스칼라 | 함수 핸들 | 테이블 vartype
첨자
샘플 점으로, 샘플 점 값으로 구성된 벡터로 지정되거나 입력 데이터가 테이블인 경우 다음 표에 나와 있는 옵션 중 하나로 지정됩니다. 샘플 점은 데이터의 x축 위치를 나타내며, 이 샘플 점은 정렬되고 고유한 요소를 가져야 합니다. 샘플 점은 균일하게 샘플링할 필요가 없습니다. 벡터 [1 2 3 ...]
이 디폴트 값입니다.
입력 데이터가 테이블이면 다음 옵션 중 하나를 사용하여 샘플 점을 테이블 변수로 지정할 수 있습니다.
인덱싱 방식 | 예제 |
---|---|
변수 이름:
|
|
변수 인덱스:
|
|
함수 핸들:
|
|
변수 유형:
|
|
참고
입력 데이터가 timetable
형인 경우에는 이 이름-값 인수가 지원되지 않습니다. 타임테이블은 행 시간값으로 구성된 벡터를 샘플 점으로 사용합니다. 다른 샘플 점을 사용하려면 행 시간값이 원하는 샘플 점을 포함하도록 타임테이블을 편집해야 합니다.
이동 윈도우는 샘플 점을 기준으로 정의됩니다. 예를 들어, t
가 입력 데이터에 해당하는 시간 벡터인 경우 filloutliers(rand(1,10),"previous","movmean",3,"SamplePoints",t)
에는 t(i)-1.5
~ t(i)+1.5
범위의 시간 구간을 나타내는 윈도우가 있습니다.
샘플 점 벡터의 데이터형이 datetime
형 또는 duration
형인 경우 이동 윈도우 길이는 duration
형이어야 합니다.
예: filloutliers([1 100 3 4],"nearest","SamplePoints",[1 2.5 3 4])
예: filloutliers(T,"nearest","SamplePoints","Var1")
데이터형: single
| double
| datetime
| duration
DataVariables
— 연산을 수행할 테이블 변수
테이블 변수 이름 | 스칼라 | 벡터 | 셀형 배열 | pattern형 | 함수 핸들 | 테이블 vartype
첨자
연산을 수행할 테이블 변수로, 다음 표에 있는 옵션 중 하나로 지정됩니다. DataVariables
값은 입력 테이블에서 채울 변수를 나타냅니다. 지정된 변수와 연결된 데이터형은 double
또는 single
이어야 합니다.
테이블에서 DataVariables
로 지정되지 않은 다른 변수는 채워지지 않은 채 출력값으로 전달됩니다.
인덱싱 방식 | 예제 |
---|---|
변수 이름:
|
|
변수 인덱스:
|
|
함수 핸들:
|
|
변수 유형:
|
|
예: filloutliers(A,"previous","DataVariables",["Var1" "Var2" "Var4"])
ReplaceValues
— 값 바꾸기 표시자
true
또는 1
(디폴트 값) | false
또는 0
값 바꾸기 표시자로, A
가 테이블 또는 타임테이블이면 다음 논리형 또는 숫자형 값 중 하나로 지정됩니다.
true
또는1
— 이상값을 포함하는 입력 테이블 변수를 채워진 테이블 변수로 바꿉니다.false
또는0
— 이상값이 있는지 확인한 모든 테이블 변수를 입력 테이블에 추가합니다. 추가된 변수의 이상값이 채워집니다.
벡터, 행렬 또는 다차원 배열 입력 데이터에는 ReplaceValues
가 지원되지 않습니다.
예: filloutliers(T,"previous","ReplaceValues",false)
ThresholdFactor
— 감지 임계값 인자
음이 아닌 스칼라
감지 임계값 인자로, 음이 아닌 스칼라로 지정됩니다.
"median"
과 "movmedian"
방법의 경우 스케일링된 MAD에 대해 지정된 수(디폴트 값 3)를 감지 임계값 인자가 대체합니다.
"mean"
과 "movmean"
방법의 경우 평균으로부터의 표준편차에 대해 지정된 수(디폴트 값 3)를 감지 임계값 인자가 대체합니다.
"grubbs"
와 "gesd"
방법의 경우 감지 임계값 인자는 0 ~ 1 범위의 스칼라입니다. 값이 0에 가까우면 이상값 수가 적어지고, 값이 1에 가까우면 이상값 수가 많아집니다. 디폴트 감지 임계값 인자는 0.05입니다.
"quartiles"
방법의 경우 사분위 범위에 대해 지정된 수(디폴트 값 1.5)를 감지 임계값 인자가 대체합니다.
이 이름-값 인수는 지정된 방법이 "percentiles"
인 경우에는 지원되지 않습니다.
MaxNumOutliers
— GESD로 채워진 최대 이상값
양의 정수 스칼라
GESD로 채워진 최대 이상값으로, 양의 정수 스칼라로 지정됩니다. MaxNumOutliers
값은 "gesd"
방법으로 채워지는 최대 이상값 수를 지정합니다. 예를 들어, filloutliers(A,"linear","gesd","MaxNumOutliers",5)
는 5개 이하의 이상값을 채웁니다.
MaxNumOutliers
의 디폴트 값은 A
에 있는 요소 개수의 10%에 가장 가까운 정수입니다. 최대 이상값 수를 큰 수로 설정하면 모든 이상값이 감지되게 가능성을 높일 수 있지만, 계산 효율성은 떨어집니다.
"gesd"
방법은 이상값이 아닌 입력 데이터가 근사 정규분포에서 추출된 것으로 가정합니다. 데이터가 이러한 방식으로 추출되지 않은 경우 채워지는 이상값의 개수는 MaxNumOutliers
값을 초과할 수 있습니다.
OutlierLocations
— 알려진 이상값 표시자
벡터 | 행렬 | 다차원 배열
알려진 이상값 표시자로, A
와 크기가 같은 논리형 벡터, 행렬 또는 다차원 배열로 지정됩니다. 알려진 이상값 표시자 요소는 A
의 대응 위치에 이상값이 있음을 나타내는 true
이거나, 그렇지 않은 경우 false
일 수 있습니다. OutlierLocations
를 지정할 경우 rmoutliers
는 이상값 감지 방법을 사용하지 않습니다. 대신 알려진 이상값 표시자의 요소를 사용하여 이상값을 정의합니다. 출력값 TF
는 같은 논리형 벡터, 행렬 또는 다차원 배열을 포함합니다.
findmethod
를 지정하는 경우 OutlierLocations
이름-값 인수를 지정할 수 없습니다.
데이터형: logical
출력 인수
B
— 채워진 데이터
벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
채워진 데이터로, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 반환됩니다.
ReplaceValues
의 값이 false
가 아닌 경우 B
는 A
와 크기가 동일합니다. ReplaceValues
값이 false
이면 너비 B
는 입력 데이터 너비와 지정된 데이터 변수 개수의 합입니다.
TF
— 채워진 데이터 표시자
벡터 | 행렬 | 다차원 배열
채워진 데이터 표시자로, 벡터와 행렬, 다차원 배열 중 하나로 반환됩니다. 값이 1(true
)인 요소는 이전에 이상값이었던 B
의 채워진 요소에 해당합니다. 값이 0(false
)인 요소는 변하지 않는 요소에 해당합니다.
TF
는 B
와 크기가 동일합니다.
데이터형: logical
L
— 하한 임계값
스칼라 | 벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
이상값 감지 방법이 사용하는 하한 임계값으로, 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 반환됩니다. 예를 들어, 디폴트 이상값 감지 방법의 하한 임계값은 입력 데이터의 중앙값 아래로 3 스케일링된 MAD입니다.
이상값 감지에 findmethod
가 사용되면 L
은 A
의 모든 차원(길이가 1인 연산 차원 제외)과 크기가 같습니다. movmethod
가 사용되면 L
은 A
와 크기가 같습니다.
U
— 상한 임계값
스칼라 | 벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
이상값 감지 방법이 사용하는 상한 임계값으로, 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 반환됩니다. 예를 들어, 디폴트 이상값 감지 방법의 상한 임계값은 입력 데이터의 중앙값 위로 3 스케일링된 MAD입니다.
이상값 감지에 findmethod
가 사용되면 U
는 A
의 모든 차원(길이가 1인 연산 차원 제외)과 크기가 같습니다. movmethod
가 사용되면 U
는 A
와 크기가 같습니다.
C
— 중심값
스칼라 | 벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
이상값 감지 방법이 사용하는 중심값으로, 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 반환됩니다. 예를 들어, 디폴트 이상값 감지 방법의 중심값은 입력 데이터의 중앙값입니다.
이상값 감지에 findmethod
가 사용되면 C
는 A
의 모든 차원(길이가 1인 연산 차원 제외)과 크기가 같습니다. movmethod
가 사용되면 C
는 A
와 크기가 같습니다.
세부 정보
중앙값 절대 편차
N개의 스칼라 관측값으로 구성된 유한 길이 벡터 A에 대해, 중앙값 절대 편차(MAD)는 다음과 같이 정의됩니다.
여기서 i = 1,2,...,N입니다.
스케일링된 MAD는 c*median(abs(A-median(A)))
로 정의됩니다. 여기서 c=-1/(sqrt(2)*erfcinv(3/2))
입니다.
참고 문헌
[1] NIST/SEMATECH e-Handbook of Statistical Methods, https://www.itl.nist.gov/div898/handbook/, 2013.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
사용법 관련 참고 및 제한 사항:
"percentiles"
,"grubbs"
,"gesd"
방법은 지원되지 않습니다."movmedian"
과"movmean"
방법은 tall형 타임테이블을 지원하지 않습니다.SamplePoints
및MaxNumOutliers
이름-값 인수는 지원되지 않습니다.DataVariables
의 값은 함수 핸들일 수 없습니다.A
가 tall형 열 벡터인 경우에만 첫 번째 차원에 대해filloutliers(A,fillmethod)
,filloutliers(A,fillmethod,"median",…)
또는filloutliers(A,fillmethod,"quartiles",…)
를 계산할 수 있습니다.구문
filloutliers(A,"spline",…)
과 구문filloutliers(A,"makima",…)
는 지원되지 않습니다.
자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
ReplaceValues
이름-값 인수는 지원되지 않습니다.이상값 감지를 위한
"movmean"
과"movmedian"
방법은 timetable형 입력 데이터, datetime형SamplePoints
값 또는 duration형SamplePoints
값을 지원하지 않습니다.입력 데이터가 timetable형이거나
SamplePoints
값이datetime
형 또는duration
형인 경우에는 이상값 채우기를 위한"center"
,"clip"
및 숫자형 스칼라 방법만 지원됩니다."spline"
과"pchip"
채우기 방법을 사용하려면 가변 크기 배열에 대한 지원을 활성화해야 합니다.string형과 문자형 배열 입력값은 상수여야 합니다.
"makima"
옵션은 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2017a에 개발됨R2022a: 채워진 값 추가
table형 또는 timetable형 입력 데이터의 경우 이상값이 있는지 확인한 모든 테이블 변수를 입력 테이블에 추가합니다. 추가된 변수의 이상값이 채워집니다. ReplaceValues
이름-값 인수를 false
로 설정하여 테이블 변수를 바꾸지 않고 추가합니다.
R2021b: 샘플 점을 테이블 변수로 지정
table형 입력 데이터의 경우, SamplePoints
이름-값 인수를 사용하여 샘플 점을 테이블 변수로 지정합니다.
참고 항목
함수
라이브 편집기 작업
앱
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)