NRQL predictions 뉴렐릭에서는 시계열의 이력 데이터 패턴을 사용하여 미래 추세를 예측하거나 지표가 미래에 어떻게 행동할지 인사이트에 제공합니다. 이러한 사전 예방적 접근 방식은 추세를 시각화하고 잠재적 문제를 예상하는 데 도움이 되며, 최적의 시스템 성능을 유지하기 위한 시기적절한 개입이 가능합니다. 신호에 대한 프리딕션은 역량 데이터에 머신 러닝 모델을 적용하고 해당 모델을 사용하여 미래를 예측함으로써 생성됩니다. 이 기능은 현재 계절적(일정한 주기로 반복되는 패턴을 갖는 데이터) 및 비계절적 시계열에 대한 예측을 모두 지원합니다. 강력한 추세나 명확한 계절적 패턴을 보이는 지표는 예측에 가장 적합합니다. 이러한 예측은 기존 대시보드에 추가하면 가장 효과적으로 활용할 수 있으며, 이를 통해 메트릭의 향방을 빠르게 시각적으로 파악할 수 있습니다.
NRQL predictions (PREDICT 절)을 사용하여 시계열에 대한 프리딕션을 만들었습니다. 이 예에서는 BY 키워드를 기반으로 미래의 하루를 예측합니다. 이러한 예측을 생성하는 모델은 총 17일 분의 데이터를 사용하여 학습되었습니다. 쿼리 창에서 3일 분과 USING 키워드에서 2주(14일) 분입니다. 차트에는 모든 훈련 데이터가 표시되지 않습니다.
차트나 대시보드에 예측을 추가하고 싶을 수 있는 상황의 예:
귀하의 애플리케이션은 지난 몇 시간 동안 더 많은 로그를 생성하고 있으며 디스크 공간이 부족해지고 있습니다.
귀하의 애플리케이션은 꾸준히 메모리 부족을 겪고 있으며, 컨테이너 전체가 충돌할 위험이 있습니다.
관찰된 계절적, 추세적 패턴을 토대로 미래 수익을 예측해야 합니다.
NRQL predictions 자체는 잠재적인 문제를 식별하지 못하지만 추세를 평가하고 미래의 과제를 계획하는 데 필요한 정보를 제공합니다. 예측된 값이 임박한 문제를 나타낼 때 알림을 생성하려면 Predictive Alerts 기능을 사용할 수 있습니다. Predictive AlertsNRQL predictions 과 함께 작동하여 해당 예측 값이 정적 철도 값, 인덱스를 통과할 때 지표 및 공지에 대한 예측을 생성합니다.
가격
NRQL predictions 은 추가 기능 이나 컴퓨터 가격 모델의 일부로 제공되는 고급 컴퓨터 제품 기능입니다. 이 기능에 대한 NRQL 쿼리가 실행되면 고급 CCU가 소모됩니다.
용법
NRQL predictions 두 가지 방법으로 생성할 수 있습니다. 이미 만든 차트에서 직접 생성하거나 PREDICT 절을 사용하여 NRQL 쿼리를 작성하는 것입니다.
NRQL predictions 은 선형 차트나 영역 차트 등 시계열 데이터를 나타내는 차트에만 추가할 수 있습니다. 기존 차트에 NRQL prediction 추가하려면 다음 단계를 수행하세요.
선형 또는 영역형 차트에 예측을 추가하려면 Dashboards 에서 선택하거나 Metrics and events 에서 엽니다.
예측 추가
대시보드의 차트에 예측을 추가하려면 메뉴에서 Predict trend 선택하세요. Predict trend 옵션은 큐레이트된 대시보드의 차트에는 사용할 수 없습니다. 큐레이트된 대시보드는 특정 서비스를 위해 설계된 시스템에서 생성되고 편집이 불가능한 대시보드입니다. 그래서, 메뉴에서 View Query 선택하고 쿼리에 PREDICT 절을 추가합니다.
데이터 탐색기 에서 예측은 차트에 회색 영역으로 강조 표시되고 예측된 값을 연결하는 점선으로 표시되며 이는 NRQL predictions 기본 동작을 나타냅니다. 요구 사항에 맞게 쿼리를 세부 조정하여 세분화하고 다시 실행하여 업데이트된 예측을 얻을 수 있습니다.
팁
영역형 차트에 예측을 추가하면 예측이 포함된 선형 차트로 변경됩니다.
대시보드에 추가
대시보드에 예측이 포함된 차트를 추가하려면:
Add to dashboard 을(를) 클릭합니다.
위젯 이름을 입력하세요.
기존 대시보드를 선택하거나 새 대시보드를 만드세요.
NRQL 구문에는 NRQL predictions 의 사용을 간소화하기 위한 PREDICT 절이 포함되어 있습니다. 자세한 사용 방법과 예시는 기본 동작 섹션을 참조하세요.
쿼리의 PREDICT 절에는 쿼리 창 기간( SINCE 및 UNTIL 절을 사용하여 지정)에 따라 달라지는 다음과 같은 기본 동작이 포함됩니다.
Default behavior
계절성
과거 데이터에 계절성이 있는지 자동으로 감지합니다. 계절성이 감지되면 식별된 계절 길이를 사용하여 계절 모델을 생성하고, 그렇지 않으면 비계절 모델을 사용합니다. 현재 우리는 시간당, 일당, 주당의 계절적 길이를 지원합니다. 계절성에 대한 자세한 내용은 알고리즘 섹션을 참조하세요.
알고리즘 하이퍼파라미터
하이퍼파라미터는 이력 데이터를 기반으로 자동으로 최적화되고 선택됩니다.
훈련을 위한 이력 데이터의 양
최근 3개 쿼리 창(현재 창과 그 앞의 2개 창)의 이력 데이터를 사용합니다. 예를 들어, 쿼리 창의 길이가 1시간인 경우 총 3시간이 학습에 사용됩니다. 차트에는 전체 교육 데이터가 아닌 현재 쿼리 창의 데이터만 표시됩니다.
쿼리 창에 특정 기간만 표시하고 학습에 더 많은 데이터를 사용하려는 경우 USING 절을 사용할 수 있습니다.
기본값 이외의 계절성이 지정되면 사용되는 학습 데이터의 양이 달라집니다. 자세한 내용은 계절별 섹션을 참조하세요.
예측 창
쿼리 창에 지정된 총 시간 범위의 20%에 해당하는 범위를 예측합니다. 예를 들어, 쿼리 창이 1시간인 경우 예측은 다음 12분 동안 진행됩니다. BY 절을 사용하여 이 기본값을 재정의할 수 있습니다.
1시간의 기본 쿼리 창과 향후 12분에 대한 예측을 포함하는 시계열 차트를 반환합니다. 총 3시간의 이력 데이터가 훈련에 사용됩니다(쿼리 창에서 1시간, 이전 2개의 쿼리 창에서 2시간).
실시예 1
Example 2:
FROMTransactionSELECTsum(currentWorkerCount) TIMESERIES SINCE 3 hours ago UNTIL 1hour ago PREDICT
2시간의 쿼리 창( SINCE 및 UNTIL 절 기준)과 다음 24분에 대한 예측을 포함하는 시계열 차트를 반환합니다. 총 6시간의 인력 데이터가 학습에 사용됩니다(쿼리 창에서 2시간, 이전 두 쿼리 창에서 4시간).
실시예 2
BY, USING 및 SLIDE BY
모델의 계절성을 수동으로 설정하고 BY, USING , SLIDE BY 키워드를 추가하여 예측을 사용자 정의할 수 있습니다.
BY 키워드를 사용하여 모델이 예측할 시간을 얼마나 앞당길지 설정합니다. 예를 들어, PREDICT BY 3 hours 시계열의 최신 지점으로부터 최대 3시간 후까지의 예측을 생성합니다. 시간 범위가 integer unit 시간인지 확인하세요. 예측할 수 있는 최대 시간은 360개의 시간 창입니다(즉, 시간 시리즈 창 크기에 360을 곱한 값).
<InlineCode>BY</InlineCode> 키워드를 사용하여 만든 예측의 예입니다. 상자로 표시된 영역은 차트의 어느 섹션이 <InlineCode>BY</InlineCode> 키워드에 의해 영향을 받는지 나타냅니다.
USING 키워드를 사용하여 모델을 학습하는 데 사용할 역량 데이터의 양을 지정합니다. 사용된 총 데이터 양은 쿼리 창 기간( SINCE 및 UNTIL 절로 지정)과 USING 절로 지정된 값의 합계입니다. 예를 들어, PREDICT USING 1 day 는 쿼리 창과 전날의 데이터를 사용하여 모델을 학습합니다. 시간 범위가 integer unit 인지 확인하세요.
최대 3,660개의 데이터 포인트를 사용하여 모델을 학습할 수 있습니다. 이 한도를 초과하면 오류 메시지가 표시됩니다. 시계열 창을 사용하면 이것이 얼마나 많은 시간을 나타내는지 확인할 수 있습니다. 예를 들어, 1분의 시간 창을 사용하면 최대 3,660분의 교육 데이터를 사용할 수 있으며, 이는 61시간 또는 약 2.5일에 해당합니다.
SINCE 과 함께 USING 키워드를 사용한 예제 쿼리:
FROMTransactionSELECTsum(currentWorkerCount) SINCE 1 week ago TIMESERIES MAX PREDICT USING2 weeks
<InlineCode>USING</InlineCode> 키워드를 사용하여 만든 예측의 예입니다. <InlineCode>USING</InlineCode> 키워드는 차트에 시각화되지 않는 학습에 사용되는 데이터 양에 영향을 미칩니다.
짧은 기간 동안 예측에 많은 변화가 나타나는 경우 SLIDE BY 키워드를 사용하여 데이터의 노이즈를 줄이세요. 이 절은 지정된 슬라이드 간격으로 겹치는 시간 창에 데이터를 집계하여 차트의 급증을 완화하고 추세를 더 쉽게 식별할 수 있도록 합니다.
현재 NRQL predictions 계절적 및 비계절적 시계열 모두에 대해 지수 평활화라고도 하는 Holt-Winters 알고리즘을 지원합니다. 이는 예측 및 시계열 예측에 일반적으로 사용되는 표준 알고리즘입니다.
비계절
비계절적 시계열의 경우 수준(평균값)과 추세(평균 증가 또는 감소)만 모델링됩니다. 비계절적 예측은 선형적이므로 추세가 있든 없든 평평한 선이 예상됩니다.
NRQL predictions 사용하여 비계절적 시계열에 대한 프리딕션이 생성되었습니다.
계절별
계절별 시계열의 경우 수준과 추세 외에도 계절별 패턴이 포함됩니다. 계절성은 주기적으로 발생하는 반복적인 패턴을 나타냅니다. Holt-Winters 모델에서는 기본적으로 시간별, 일별, 주별 계절 길이의 자동 계절 감지 기능을 지원합니다. 각 계절 길이를 감지하려면 쿼리 창 기간( SINCE 및 UNTIL 절을 사용하여 지정)과 USING 절을 조합하여 충분한 데이터를 제공하고 있는지 확인해야 합니다. 각 계절 길이에 필요한 최소 데이터 양은 아래와 같습니다. 기본적으로 USING 절을 사용하지 않으면 NRQL predictions 쿼리 창의 3배를 사용하여 예측을 생성합니다.
Detectable seasonalities
Description
Minimum amount of required data
시간당
해당 시간 내의 각 타임스탬프는 이전 시간과 동일하게 동작합니다. 예를 들어, 오후 3시 20분은 오후 2시 20분, 오후 1시 20분 등과 똑같이 동작합니다.
2시간
일일
각 시간은 전날의 시간과 동일하게 동작합니다. 예를 들어, 오늘 오후 3시는 어제 오후 3시와 동일하게 동작합니다.
2일
주간
이번 주의 각 요일은 지난 주와 동일하게 동작합니다. 예를 들어, 이번 주 월요일은 지난 주 월요일과 동일하게 동작합니다.
이주
seasonality 모델을 사용하여 사용자 정의 계절 길이를 지정할 수 있습니다.
NRQL predictions 사용하여 주간 계절성을 갖는 시계열에 대한 프리딕션이 생성되었습니다.
현재 우리는 Holt-Winters의 비계절적 버전과 계절적 버전을 사용하여 예측을 지원하고 있습니다. 사용자 지정 계절성을 설정하려면 PREDICT 절에 대한 holtwinters(seasonality: <value>) 모범 사례를 사용하세요.
Option
Description
<season length>
제공된 시즌 길이의 계절 모델을 예측에 사용하도록 지정합니다. 계절 길이는 단일 계절 기간의 길이를 나타내는 시간의 integer unit (예: 1 day 또는 3 hours)이어야 합니다. 예를 들어, 1 hour 값은 시간별 계절성과 동일하고, 1 day 일별 계절성과 동일하며, 1 week 주별 계절성과 동일합니다.
AUTO
자동 계절 감지 기능을 사용합니다. 비계절 모델과 계절 모델 모두에 적합하도록 훈련 창에서 이력 데이터를 분석합니다. 계절 모델의 시즌 길이는 훈련 창에서 감지된 가장 강력한 계절성을 기준으로 선택됩니다. 두 모델이 모두 학습된 후, 가장 적합한 모델이 선택되어 예측에 사용됩니다.
NONE
비계절 모델을 사용하도록 지정합니다.
중요
시즌 길이가 지정되고 USING 절이 사용되는 경우 학습에 사용되는 데이터 양은 쿼리 창에 USING 양을 더한 값과 같습니다. USING 지정되지 않으면 계절 길이의 최대값과 쿼리 창의 3배가 사용됩니다.
모델 조정, SQL은 모델을 세부적으로 제어하고 예측 알림 으로 생성된 예측을 재생성하려는 고급 사용자를 대상으로 합니다.
현재 Holt-Winters 지원되는 유일한 예측 알고리즘이며 예측을 미세 조정하기 위해 조정할 수 있는 여러 가지 하이퍼 매개변수가 있습니다. 하이퍼매개변수는 쿼리의 PREDICT 절 뒤에 holtwinters(<hyperparameter>: <value>) 추가하여 수정할 수 있습니다. 모델이 이력 데이터에 어떻게 적합한지 수정하기 위해 다음과 같은 방법의 조합을 추가할 수 있습니다.
Hyperparameter
Description
Allowed values
alpha
값이 클수록 최근 값에 더 많은 가중치를 부여하는 수준 평활화 요소입니다.
[0, 1.0]
beta
값이 클수록 최근 값에 더 많은 가중치를 부여하는 추세 평활화 요소입니다.
[0, 1.0]
gamma
값이 클수록 최근 값에 더 많은 가중치를 부여하는 계절 평활화 요소입니다. 이 컴파일러는 비계절 모델과 호환되지 않으며, holtwinters(seasonality: NONE, gamma: <value>) 지정하려고 하면 쿼리에서 오류가 반환됩니다.
[0, 1.0]
phi
추세 감쇠 파라미터는 값이 작을수록 추세 감쇠가 더 커지고 예측이 평평해지는 것을 나타냅니다.