

# CloudWatch 통계 정의
<a name="Statistics-definitions"></a>

통계는 지정한 기간에 걸친 지표 데이터 집계입니다. 지표에 대한 통계를 그래프로 표시하거나 검색할 때 각 통계 값을 계산하는 데 사용할 **‘기간’(예: 5분)을 지정합니다. 예를 들어 [**기간(Period)**]이 5분이면 [**합계(Sum)**]는 5분의 기간 동안 수집된 모든 샘플 값의 합계이며 [**최솟값(Minimum)**]은 5분의 기간 동안 수집된 가장 낮은 값입니다.

CloudWatch는 지표에 대해 다음 통계를 지원합니다.
+ **SampleCount**, 즉 샘플 수는 기간 동안의 데이터 요소 수입니다.
+ **Sum**, 즉 합계는 해당 기간 동안 수집된 모든 데이터 요소 값의 합계입니다.
+ **Average**, 즉 평균은 지정된 기간 동안의 `Sum/SampleCount` 값입니다.
+ **Minimum**, 즉 최솟값은 지정된 기간 동안 관찰된 가장 낮은 값입니다.
+ **Maximum**, 즉 최댓값은 지정된 기간 동안 관찰된 가장 높은 값입니다.
+ **Percentile(p)**, 즉 백분위수는 데이터 집합에서 값의 상대적인 위치를 나타냅니다. 예를 들어 **p95**는 95번째 백분위수로, 기간 내 데이터의 95%가 이 값보다 낮으며 데이터의 5%가 이 값보다 높음을 의미합니다. 백분위수는 지표 데이터의 분포를 정확하게 이해하는 데 도움이 됩니다.
+ **Trimmed mean(TM)**, 절사 평균은 지정된 두 경계 사이에 있는 모든 값의 평균입니다. 평균을 계산할 때 경계 외부의 값은 무시됩니다. 경계는 0에서 100 사이의 숫자 하나 또는 두 개(소수점 이하 10자리까지)로 정의됩니다. 숫자는 절댓값 또는 백분율일 수 있습니다. 예를 들어 **tm90**은 가장 높은 값을 가진 데이터 요소의 10%를 제거한 후 평균을 계산합니다. **TM(2%:98%)**은 2%의 가장 낮은 데이터 요소와 2%의 가장 높은 데이터 요소를 제거한 후 평균을 계산합니다. **TM(150:1000)**은 150 이하이거나 1000을 초과하는 모든 데이터 요소를 제거한 후 평균을 계산합니다.
+ **Interquartile mean(IQM)**, 즉 사분위수 평균은 **‘사분위수 범위’의 절사 평균 또는 값의 중간 50%입니다. 이 값은 **TM(25%:75%)**과 같습니다.
+ **Winsorized mean(WM)**, 즉 윈저화 평균은 절사 평균과 유사합니다. 그러나 윈저화 평균을 사용하면 경계 외부에 있는 값이 무시되지 않으며 대신 해당 경계의 가장자리에 있는 값과 동일한 것으로 간주됩니다. 그리고 이 정규화 후에 평균이 계산됩니다. 경계는 0에서 100 사이의 숫자 하나 또는 두 개(소수점 이하 10자리까지)로 정의됩니다. 예를 들어 **wm98**은 가장 높은 값의 2%를 98번째 백분위수 값과 동일하게 처리하면서 평균을 계산합니다. **WM(10%:90%)**은 가장 높은 10%의 데이터 요소를 90% 경계의 값으로 처리하고 가장 낮은 10%의 데이터 요소를 10% 경계의 값으로 처리하면서 평균을 계산합니다.
+ **Percentile rank(PR)**, 즉 백분위 점수는 고정 임곗값을 충족하는 값의 백분율입니다. 예를 들어 **PR(:300)**은 값이 300 이하인 데이터 요소의 백분율을 반환합니다. **PR(100:2000)**은 값이 100에서 2000 사이인 데이터 요소의 백분율을 반환합니다.

  백분위 순위는 하한에서 제외되고 상한에서는 포함됩니다.
+ **Trimmed count(TC)**, 즉 절사 수는 절사 평균 통계에 대해 선택한 범위에 있는 데이터 요소의 수입니다. 예를 들어 **tc90**은 가장 높은 10%의 값에 속하는 데이터 요소를 포함하지 않는 데이터 요소 수를 반환합니다. **TC(0.005:0.030)**는 값이 0.005(제외)에서 0.030(포함) 사이인 데이터 요소 수를 반환합니다.

  절사 수는 정수 대신에 10진수 값를 반환할 수 있습니다. 이는 보간된 근사값이며 분수 결과를 제공할 수 있기 때문입니다.
+ **Trimmed sum(TS)**, 즉 절사 합계는 절사 평균 통계에 대해 선택한 범위에 있는 데이터 요소 값의 합계입니다. 이 값은 (Trimmed Mean) \$1 (Trimmed count)와 같습니다. 예를 들어 **ts90**은 가장 높은 10%의 값에 속하는 데이터 요소를 포함하지 않는 데이터 요소의 합계를 반환합니다. **TS(80%:)**는 가장 낮은 80%의 값 범위에 값이 있는 데이터 요소를 포함하지 않는 데이터 요소 값의 합계를 반환합니다.

**참고**  
Trimmed Mean, Trimmed Count, Trimmed Sum, Winsorized Mean의 경우 두 경계를 백분율 대신 고정 값으로 정의하면 계산에 상위 경계와 동일한 값이 포함되지만 하위 경계와 동일한 값은 포함되지 않습니다.

## 구문
<a name="Statistics-syntax"></a>

Trimmed Mean, Trimmed Count, Trimmed Sum, Winsorized Mean의 경우 다음 구문 규칙이 적용됩니다.
+ 백분율 기호가 있는 숫자 하나 또는 두 개와 함께 괄호를 사용함으로써 지정된 두 백분위수 사이에 속하는 데이터 집합의 값으로 사용할 경계를 정의합니다. 예를 들어 **TM(10%:90%)**은 10번째와 90번째 백분위수 사이의 값만 사용합니다. **TM(:95%)**은 데이터 집합의 가장 낮은 끝부터 95번째 백분위수까지의 값을 사용하며 가장 높은 값을 가진 데이터 요소의 5%를 무시합니다.
+ 백분율 기호가 없는 숫자 하나 또는 두 개와 함께 괄호를 사용함으로써 지정된 명시적 값 사이에 속하는 데이터 집합의 값으로 사용할 경계를 정의합니다. 예를 들어 **TC(80:500)**는 80(제외)에서 500(포함) 사이에 있는 값만 사용합니다. **TC(:0.5)**는 0.5 이하의 값만 사용합니다.
+ 괄호 없이 하나의 숫자를 사용하면 지정된 백분위수보다 높은 데이터 요소를 무시하고 백분율을 사용하여 계산합니다. 예를 들어 **tm99**는 가장 높은 값을 가진 데이터 요소의 1%를 무시하면서 평균을 계산합니다. 이 값은 **TM(:99%)**과 같습니다.
+ Trimmed mean, Trimmed Count, Trimmed Sum, Winsorized Mean은 모두 **TM(5%:95%)**, **TM(100:200)** 또는 **TM(:95%)**과 같이 범위를 지정할 때 대문자를 사용하여 축약할 수 있습니다. **tm99**와 같이 숫자를 하나만 지정할 때는 소문자만 사용하여 축약할 수 있습니다.

## 통계 사용 사례
<a name="Statistics-usecases"></a>
+ **Trimmed mean**은 웹 페이지 대기 시간과 같이 샘플 크기가 큰 지표에 가장 유용합니다. 예를 들어 **tm99**는 네트워크 문제 또는 인적 오류로 인해 발생할 수 있는 지나치게 높은 이상치를 무시함으로써 일반적인 요청의 평균 대기 시간에 대해 더욱 정확한 수치를 제공합니다. 마찬가지로 **TM(10%:)**은 캐시 적중으로 인해 발생하는 것과 같이 가장 낮은 10%의 대기 시간 값을 무시합니다. 그리고 **TM(10%:99%)**은 이러한 유형의 이상치를 둘 다 제외합니다. 지연 시간 모니터링에는 절사 평균을 사용하는 것이 좋습니다.
+ Trimmed mean 계산에 사용되는 값의 수가 통계적으로 유의할 만큼 충분한지 확인하기 위해 Trimmed mean을 사용할 때마다 Trimmed Count를 계속 주시하는 것이 좋습니다.
+ Percentile rank를 사용하면 값을 범위 ‘빈(bin)’에 넣을 수 있으며 이를 사용하여 히스토그램을 수동으로 생성할 수 있습니다. 이렇게 하려면 값을 **PR(:1)**, **PR(1:5)**, **PR(5:10)**, **PR(10:)**과 같은 다양한 빈으로 구분합니다. 이러한 각 빈을 막대 차트로 시각화에 넣으면 히스토그램이 생깁니다.

  백분위 순위는 하한에서 제외되고 상한에서는 포함됩니다.

## 백분위수와 절사 평균 비교
<a name="Percentile-versus-Trimmed-Mean"></a>

**p99** 같은 백분위수와 **tm99** 같은 절사 평균은 유사하지만 동일하지는 않은 값입니다. **p99**와 **tm99**는 모두 이상치로 간주되는 가장 높은 값을 가진 데이터 요소의 1%를 무시합니다. 그다음에 **p99**는 나머지 99%의 **최댓값이고 **tm99**는 나머지 99%의 *평균*입니다. 웹 요청 대기 시간을 검토하고 있다면 **p99**는 이상치를 무시하고 최악의 고객 경험을 알려 주며, **tm99**는 이상치를 무시하고 평균적인 고객 경험을 알려 줍니다.

절사 평균은 고객 경험을 최적화하려는 경우 살펴보기에 좋은 대기 시간 통계입니다.

## 백분위수, 절사 평균 및 기타 몇 가지 통계를 사용하기 위한 요구 사항
<a name="Percentiles-trimmedmean-requirements"></a>

CloudWatch는 다음 통계를 계산하는데 원시 데이터 요소가 필요합니다.
+ 백분위수
+ Trimmed mean
+ Interquartile mean
+ Winsorized mean
+ Trimmed sum
+ Trimmed count
+ Percentile rank

원시 데이터 대신 통계 집합을 사용하여 사용자 지정 통계의 데이터를 게시하는 경우 다음 조건 중 하나가 참일 때에만 이 데이터에 대해 이러한 유형의 통계를 검색할 수 있습니다.
+ 통계 세트의 SampleCount 값은 1이고 Min, Max 및 Sum은 모두 같습니다.
+ Min과 Max는 같고 Sum은 Min에 SampleCount를 곱한 값과 같습니다.

다음 AWS 서비스에는 이러한 유형의 통계를 지원하는 지표가 포함되어 있습니다.
+ API Gateway
+ Application Load Balancer
+ Amazon EC2
+ Elastic Load Balancing
+ Kinesis
+ Amazon RDS

또한 이러한 유형의 통계는 지표 값 중 어느 하나라도 음수인 경우 지표에 사용할 수 없습니다.