자습서 - Qlik Sense의 시계열 분해
이 자습서에서는 세 가지 차트 함수를 사용하여 STL 알고리즘을 사용하여 시계열을 분해하는 방법을 보여 줍니다.
이 자습서는 STL 알고리즘의 기능을 보여 주기 위해 월간 항공사를 이용하는 승객 수에 대한 시계열 데이터를 사용합니다. STL_Trend, STL_Seasonal 및 STL_Residual 차트 함수는 시각화를 만드는 데 사용됩니다. Qlik Sense의 시계열 분해에 대한 자세한 내용은 시계열 분해 함수를 참조하십시오.
앱 만들기
새 앱을 만들고 데이터 집합을 가져오는 것으로 시작합니다.
이 데이터 집합 다운로드:
이 파일에는 항공사의 월간 승객 수에 관한 데이터가 포함되어 있습니다.
다음과 같이 하십시오.
-
허브에서 새 앱 만들기를 클릭합니다.
-
앱을 열고 Tutorial - Time series decomposition.csv 파일을 여기에 드롭합니다.
데이터 준비 및 로드
Qlik Sense가 YearMonth 필드를 올바르게 해석하려면 데이터 관리자를 사용하여 필드를 문자열 값이 있는 필드가 아닌 날짜 필드로 인식해야 할 수 있습니다. 일반적으로 이 단계는 자동으로 처리되지만 이 경우 날짜는 약간 특이한 YYYY-MM 서식으로 표시됩니다.
-
데이터 관리자에서 테이블을 선택하고 을 클릭합니다.
-
YearMonth 필드를 선택한 상태에서 을 클릭하고 필드 유형을 날짜로 설정합니다.
-
입력 형식에서 YYYY-MM을 입력합니다.
-
표시 형식에서 YYYY-MM을 입력하고 확인을 클릭합니다.
이제 필드에 캘린더 아이콘이 표시됩니다.
-
데이터 로드를 클릭합니다.
이제 STL 함수를 사용하여 데이터를 시각적으로 표시할 준비가 되었습니다.
시각화 만들기
다음으로 STL_Trend, STL_Seasonal 및 STL_Residual 차트 기능의 기능을 보여 주는 두 개의 꺾은선형 차트를 만듭니다.
새 시트를 열고 제목을 지정합니다.
시트에 두 개의 꺾은선형 차트를 추가합니다. 다음 이미지와 일치하도록 차트의 크기를 조정하고 위치를 변경합니다.
첫 번째 꺾은선형 차트: 추세 및 계절성 구성 요소
다음과 같이 하십시오.
-
첫 번째 꺾은선형 차트에 제목 계절성 및 추세를 추가합니다.
-
YearMonth를 차원으로 추가하고 날짜라는 레이블을 지정합니다.
-
다음 측정값을 추가하고 월 승객 수라는 레이블을 지정합니다.
=Sum(Passengers)
-
데이터에서 월 승객 수 측정값을 펼치고 추세선 추가를 클릭합니다.
-
유형을 선형으로 설정합니다.
이 추세선을 추세 구성 요소의 매끄럽게 된 출력과 비교합니다.
-
다음 측정값을 추가하여 추세 구성 요소를 표시하고 추세 레이블을 지정합니다.
=STL_Trend(SUM(Passengers), 12)
-
다음으로 다음 측정값을 추가하여 계절성 구성 요소를 표시하고 계절성이라는 레이블을 지정합니다.
=STL_Trend(SUM(Passengers), 12)
-
모양 > 프레젠테이션, 스크롤 막대를 없음으로 설정합니다.
-
기본 색을 유지하거나 기본 설정에 맞게 변경합니다.
두 번째 꺾은선형 차트: 잔차 구성 요소
다음으로 두 번째 꺾은선형 차트를 구성합니다. 이 시각화는 시계열의 잔차 구성 요소를 표시합니다.
다음과 같이 하십시오.
-
꺾은선형 차트를 시트로 끕니다. 제목 잔차을 추가합니다.
-
차원으로 날짜를 추가합니다.
-
다음 측정값을 추가하고 잔차라는 레이블을 지정합니다.
=STL_Residual(SUM(Passengers), 12)
-
모양 > 프레젠테이션, 스크롤 막대를 없음으로 설정합니다.
이제 시트가 아래와 같이 보일 것입니다.
데이터 해석 및 설명
STL 차트 함수를 사용하면 시계열 데이터에서 많은 정보를 얻을 수 있습니다.
추세 구성 요소
추세 구성 요소의 통계 정보가 비계절화됩니다. 이렇게 하면 시간이 지남에 따라 일반적이고 반복되지 않는 변동을 더 쉽게 볼 수 있습니다. 월 승객 수에 대한 직선형 추세선과 비교할 때 STL 추세 구성 요소는 변화하는 추세를 캡처합니다. 여전히 읽기 쉬운 방식으로 정보를 제공하면서 일부 명확한 편차를 표시합니다. STL 알고리즘의 스무딩 동작은 이를 포착하는 데 도움이 되었습니다.
STL 추세 그래프에서 볼 수 있는 항공사 승객 수의 감소는 1950년대에 발생한 경기 침체의 경제적 영향의 일부로 설명될 수 있습니다.
계절성 구성 요소
추세가 제거된 계절성 구성 요소는 시계열 전체에서 반복되는 변동을 격리하고 분석의 해당 부분에서 일반적인 추세 정보를 제거했습니다. 연도-월 집계로 구성된 데이터 집합으로 시작했습니다. 이 데이터를 통해 데이터를 1개월 단위로 세분화하고 있음을 암시합니다. 기간 값을 12로 정의하여 1년(12개월) 주기 동안 계절성 패턴을 모델링하도록 차트를 설정했습니다.
데이터에는 여름에 항공사 승객이 급증한 후 겨울에 감소하는 반복적인 계절적 패턴이 있습니다. 이는 여름이 일반적으로 휴가와 여행을 떠나는 인기 있는 시간이라는 생각과 일치합니다. 또한 시계열이 진행되는 동안 이러한 계절성 주기의 진폭이 급격히 증가하는 것을 볼 수 있습니다.
잔차 구성 요소
잔차 구성 요소에 대한 차트에는 추세 및 계절성 분해에서 캡처되지 않은 모든 정보가 표시됩니다. 잔차 구성 요소에는 통계적 노이즈가 포함되지만 STL 추세 및 계절성 함수 인수의 잘못된 설정을 나타낼 수도 있습니다. 일반적으로 신호의 잔차 구성 요소에 주기적인 진동이 있거나 표시되는 정보가 분명히 임의적이지 않은 경우 일반적으로 현재 계절성 또는 추세 구성 요소에 캡처되지 않은 시계열 정보가 있다는 신호입니다. 이 경우 각 함수 인수의 정의를 다시 검토하고 가능하면 주기성을 변경해야 합니다.
스무더 값
추세 및 계절성 스무더에 대한 값을 지정하지 않았으므로 함수는 이러한 매개 변수에 대해 기본값을 사용합니다. Qlik Sense에서 STL 알고리즘의 기본 스무더 값은 효과적인 결과를 생성합니다. 결과적으로 대부분의 경우 이러한 인수를 표현식에서 제외할 수 있습니다.
추세 스무더 값은 차트에 지정된 차원을 사용합니다. YearMonth 필드는 데이터를 월 단위로 표시하므로 추세 스무더 값은 월 수입니다. 계절성 스무더는 정의된 주기성을 반영합니다. 이 경우 한 기간을 12개월(1년)로 정의했으므로 계절성 스무더 값은 연 수입니다. 이는 혼란스럽게 들릴 수 있지만 실제로는 계절성을 찾으려면 여러 계절성을 살펴봐야 한다는 것을 의미합니다. 이 숫자는 계절성 스무더입니다.
기타 유용한 정보
계절성 주기가 시간이 지남에 따라 진폭이 증가한다는 점을 감안할 때 고급 분석 접근 방식은 대수 함수를 사용하여 곱셈 분해를 만들 수 있습니다. 실제로 계절성을 추세 구성 요소로 나누어 Qlik Sense에서 상대 진폭의 간단한 측정값을 만들 수 있습니다. 이 작업이 완료되면 시간이 지남에 따라 각 주기의 여름 피크가 상대적 진폭에서 더 커지는 것을 알 수 있습니다. 그러나 겨울철 저점의 진폭은 시간이 지남에 따라 증가하지 않습니다.