데이터의 계절성을 감지하기 위해 어떤 방법을 사용할 수 있습니까?


56

수신 한 데이터에서 계절성을 감지하고 싶습니다. 계절 하위 계열 그림 및 자기 상관 그림과 같이 내가 찾은 몇 가지 방법이 있지만 그래프를 읽는 방법을 이해하지 못하는 사람이 있습니까? 다른 하나는 그래프의 최종 결과 유무에 관계없이 계절성을 감지하는 다른 방법이 있습니까?


1
이해하기 어려운 실제 그래프를 포함 할 수 있습니다.
Karl

보다 바람직하게는 "고정적인"ACF를 생성하는데 사용될 수있는 원본 데이터.
IrishStat


1
참조 : journals.ametsoc.org/doi/abs/10.1175/JCLI-D-10-05012.1 Qian, C., Z Wu, C Fu 및 D Wang, 2011 : El Niño 변경시 : 시변 연간 관점 주기, 연간 변동성 및 평균 상태. J. Climate, 24 (24), 6486–6500

답변:


70

정기적 인 데이터 시리즈에서 주기성을 찾는 가장 좋은 방법은 전체 추세를 제거한 후 전력 스펙트럼을 검사하는 것 입니다. (이는 전체 전력이 단일성과 같은 표준 값으로 정규화 될 때 자동 스크리닝에 적합합니다.) 다른 동작과 혼동되는 기간을 피하려면 예비 추세 제거 (및 직렬 상관을 제거하기위한 선택적인 차이)가 필수적입니다.

전력 스펙트럼은 적절하게 스무딩 된 원본 시리즈 버전의 자기 공분산 함수를 이산 푸리에 변환 한 것입니다. 시계열을 실제 파형을 샘플링하는 것으로 생각하면 각 주파수 내에서 전달되는 웨이브의 총 전력량을 추정 할 수 있습니다. 전력 스펙트럼 (또는 주기도 )은 전력 대 주파수를 플로팅합니다. 주기적 (즉, 반복적이거나 계절적 패턴)은 빈도에 따라 큰 스파이크로 표시됩니다.

예를 들어, 1 년 동안 매일 측정 한 (365 개의 값)이 (시뮬레이션 된) 시계열 잔차를 고려하십시오.

일련의 잔차

명백한 추세없이 값이 약 변동 하여 모든 중요한 추세가 제거되었음을 나타냅니다. 변동 무작위로 나타납니다 . 주기성이 분명하지 않습니다.0

가능한 주기적 패턴을 볼 수 있도록 그려진 동일한 데이터의 또 다른 그림이 있습니다.

0으로 채워진 일련의 잔차

정말로 힘들어 보인다면 , 소음이 있지만 반복적 인 패턴을 11-12 번 식별 할 수 있습니다. 0보다 크고 0보다 작은 값의 긴 시퀀스는 적어도 양의 자기 상관을 암시하며,이 계열이 완전히 무작위가 아님을 보여줍니다.

다음은 최대 91 개의 주파수 (총 시리즈 길이의 1/4)에 대한 주기도입니다. 웰치 (Welch) 창으로 구성되었으며 단위 영역으로 정규화되었습니다 (여기에 표시된 부분 만이 아니라 전체 주기도에 대해).

주기도

이 전력은 "백색 잡음"(작은 임의 변동)과 두 개의 두드러진 스파이크처럼 보입니다. 그들은 그리워하지 않습니까? 이 방법은 12주기에서 더 크게 발생하고 52주기에서 더 작아집니다. 따라서이 방법은 이러한 데이터에서 월별 주기와 주별 주기 를 감지했습니다 . 그게 전부입니다. 사이클 감지 ( "계절")를 자동화하려면 비교적 큰 로컬 최대 값에 대해 주기도 (값 목록)를 스캔하면됩니다.

이제 이러한 데이터가 어떻게 만들어 졌는지 밝힐 차례입니다.

신호와 노이즈로 분해 된 데이터

값은 주파수 12 (제곱 진폭 3/4)와 주파수 52 (제곱 진폭 1/4)를 갖는 두 개의 사인파의 합으로 생성됩니다. 이것들은 주기도의 스파이크가 감지 한 것입니다. 그들의 합은 두꺼운 검은 색 곡선으로 표시됩니다. 그런 다음 검은 색 곡선에서 빨간색 점으로 옅은 회색 막대로 표시되는 분산 2의 Id 일반 노이즈를 추가했습니다. 이 노이즈는 주기도의 맨 아래에 저수준 흔들림을 발생 시켰습니다. 그렇지 않으면 평평한 0이됩니다. 값의 총 편차의 3 분의 2가 비 주기적이며 무작위 적이므로 매우 시끄 럽습니다. 점을 보면서 주기성을 만들기가 매우 어렵습니다. 그럼에도 불구하고 (부분적으로 데이터가 많기 때문에) 주기도로 주파수를 찾는 것이 쉽고 결과가 명확합니다.

주기도 계산에 대한 지침과 조언은 Numerical Recipes 사이트에 나와 있습니다. "FFT를 사용한 전력 스펙트럼 추정"섹션을 찾으십시오. 주기도 추정 코드R있습니다 . 이 그림은 Mathematica 8 에서 만들어졌습니다 . 주기도는 "푸리에"기능으로 계산되었습니다.


2
"전체적인 추세를 제거한 후"는 많은 시간 추세가있을 수 있으므로 Achilles Heel이라고 가정합니다. 많은 레벨 이동이 예제에서 제외되었습니다. 입력 계열이 자연에서 결정 론적이라는 생각은 가능한 한 직면하고 있습니다. 계절적이고 규칙적인 ARIMA 구조의 존재. 치료되지 않은 비정상적인 일회성 값은 주기도 추정치에 대한 하향 편향으로 인해 주기도에 기초한 식별 체계를 왜곡하여 유의하지 않은 결과를 낳습니다. 과거의 주기도 기반 절차에서 특정 시점에서 주간 및 / 또는 월간 효과가 변경된 경우
IrishStat

@ 아일랜드 귀하의 의견이 다소 과장된 것 같습니다. "비정상적인 일회성 값"(일명 이상치)을 찾아서 처리하는 것이 가장 기본이므로 일부 시계열 추정기가 특이 치에 민감 할 수 있음을 강조하는 것만 언급합니다. "자연의 결정 론적"은 기본 아이디어를 잘못 나타냅니다. 아무도 결정론이 있다고 가정하지 않습니다 (시뮬레이션에서 엄청난 양의 노이즈로 입증 됨). 시뮬레이션은주기적인 그래프와 계절성 사이의 연결을 설명하기 위해 모델 로 명확한주기적인 신호를 항상 실제와 비슷하게 통합합니다 . (계속 ...)
whuber

2
예, 계절성 변화는 주기도 (및 acf 등), 특히 빈도 (불확실한) 또는 단계 (가능한)의 변화를 가릴 수 있습니다. 내 게시물의 참조는 처리 방법을 제공합니다 . 주기도 추정에 이동 창 을 사용하는 것이 좋습니다 . 이것에 대한 기술이 있으며 분명히 함정이 있으므로 많은 시계열 분석이 전문가 치료의 이점을 누릴 수 있습니다. 그러나이 질문은 "계절을 탐지하는 다른 방법"이 있는지 묻고, 주기도는 통계적으로 강력하고 계산적으로 효율적이며 쉽게 해석 할 수있는 옵션입니다.
whuber

내 세상에서 사인 / 코사인을 사용하는 것은 한 달의 지표와 매우 유사한 "결정적 효과"입니다. 사전 지정된 모델을 피팅하면 적합치가 사용자 지정 패턴 (종종 표준 이하)으로 제한됩니다. 분석가 / 고급 컴퓨터 소프트웨어가 고정 된 입력과 확률 적 입력을 효과적으로 식별 할 수 있도록 데이터를 "인식"해야합니다. NIM은 ARIMA 래그 구조를 이력의 변화에 ​​맞게 조정 / 적응할 때 확률 적 또는 적응 적 "드라이버"라고합니다. 시리즈의. 제 생각에 주기도의 활용은 간단한 통계 모델링을 "
과도

2
@whuber 같은 것을 반복하면 유용하지 않을 수 있습니다. 그러나, 스파이크가 "주기"가 아니라 매년 "12"와 "52"의 빈도에 있다고주기 위해 주기도 아래의 단락을 수정하는 것도 좋습니다. 너무 성가 신다고 생각하지 않으면 "기간"대신 "빈도"라고 플롯을 수정하는 것도 좋습니다.
Celelibi

19

다음은 뉴저지에있는 도시의 통계적 실업 청구에 대한 월별 데이터를 사용하는 예입니다 (Stata의 경우, 원래이 데이터를 분석 한 것이기 때문입니다). 계절성 ACF

선의 높이는 변수와 자체의 sth lag 사이의 상관 관계를 나타냅니다. 회색 영역은이 상관 관계가 유의한지 여부를 나타냅니다 (이 범위는 지침 일 뿐이며 유의성을 테스트하는 가장 신뢰할 수있는 방법은 아닙니다). 이 상관 관계가 높으면 직렬 상관 관계가 있다는 증거가 있습니다. 12, 24 및 36 기간에 발생하는 혹에 주목하십시오. 이것은 월별 데이터이므로 정확히 1, 2 또는 3 년 전의 기간을 볼 때 상관 관계가 더 강력 해짐을 나타냅니다. 이것은 월별 계절의 증거입니다.

계절성 성분을 나타내는 더미 변수 (여기서는 월 인형)에서 변수를 회귀하여 이러한 관계를 통계적으로 테스트 할 수 있습니다. 계절성을 테스트하기 위해 해당 인형의 공동 유의성을 테스트 할 수 있습니다.

테스트에서 오류 조건이 직렬로 상관되지 않아야하기 때문에이 절차는 옳지 않습니다. 따라서 이러한 계절성 모형을 테스트하기 전에 나머지 직렬 상관 관계를 제거해야합니다 (일반적으로 변수 지연을 포함하여). 테스트에서 적절한 결과를 얻기 위해 수정해야 할 펄스, 중단 및 기타 모든 시계열 문제가있을 수 있습니다. 당신은 이것에 대해 묻지 않았으므로 자세하게 설명하지 않을 것입니다 (또한 그 주제에 대한 많은 이력서 질문이 있습니다). (호기심을 불러 일으키기 위해,이 시리즈는 일련의 상관 관계를 제거하기 위해 월 인형, 단일 지연 및 교대 구성 요소가 필요합니다.)


4

계절성은 시간이 지남에 따라 변할 수 있고 종종 변하기 때문에 요약 측정이 구조를 탐지하기에는 매우 부적절 할 수 있습니다. ARIMA 계수의 일시적 영향과 종종 "계절 더미"의 변화를 테스트해야합니다. 예를 들어, 10 년의 기간에는 첫 k 년 동안 6 월 효과가 없었지만 마지막 10k 년은 6 월 효과의 증거가 있습니다. 단순한 복합 6 월 효과는 시간이 지남에 따라 효과가 일정하지 않기 때문에 중요하지 않을 수 있습니다. 비슷한 방식으로 계절 ARIMA 구성 요소도 변경되었을 수 있습니다. 오류의 분산이 시간이 지남에 따라 일정하게 유지되도록 로컬 수준 이동 또는 로컬 시간 추세를 포함하도록주의해야합니다. GLS / 가중 최소 제곱과 같은 변환이나 로그 / 제곱근과 같은 전력 변환을 평가해서는 안됩니다. 원래 데이터에 있지만 임시 모델의 오류에 대해서는 가우스 가정은 관측 된 데이터와는 아무런 관련이 없지만 모델의 오류와는 관련이 없습니다. 이는 비 중앙 카이-제곱 변수 대 중앙 카이-제곱 변수의 비율을 사용하는 통계 테스트의 토대 때문입니다.

당신이 당신의 세계에서 예제 시리즈를 게시하고 싶다면 계절 구조의 감지로 이어지는 철저한 분석과 당신에게 목록을 제공하게되어 기쁩니다.


1

찰리의 대답은 좋고, 내가 시작한 곳입니다. ACF 그래프를 사용하지 않으려면 존재하는 k 기간 동안 k-1 더미 변수를 작성할 수 있습니다. 그런 다음 더미 변수가있는 회귀에서 더미 변수가 유의한지 (그리고 추세 항일 수도 있음) 알 수 있습니다.

데이터가 분기 별 인 경우 : 2 분기 인 경우 더미 Q2는 1, 3 분기 인 경우 0 더미 Q3은 1, 4 분기 인 경우 0 더미 Q4는 1, 그렇지 않으면 0 참고 1/4 1은 베이스 케이스 (모두 3 개 제로)

Minitab에서 "클래식 분해"라고도하는 "시계열 분해"도 확인할 수 있습니다. 결국, 당신은 더 현대적인 것을 사용하고 싶을 수도 있지만, 이것은 시작하기 쉬운 곳입니다.


0

IrishStat 사용자 또는 실제 사례 시리즈의 다른 사람의 도움을 받고 싶습니다. 지난 5 년간의 원유 선물 가격을 기준으로 계절 지수를 산출하려고합니다. 나는 여기에서 볼 수있는 간단한 평균 계절을 생산하도록 관리했습니다 .

그러나 롤링 연간 계절 그래프를 재현하고 싶습니다 (롤링은 연도의 시작과 끝이 동일한 값을 의미한다고 생각합니다). 아래 그림과 같이 0에서 100까지의 스케일입니다. 여기에 이미지 설명을 입력하십시오

스프레드 시트 에는 15 년 동안의 일일 가격 수준 데이터 가 있으며 다운로드 할 수 있습니다. 상기를 달성하는 방법에 대한 예 또는 힌트는 크게 이해 될 것이다.


-1

나는 "나 자신에게 조금 익숙하지만 ACF 함수에 대한 나의 이해는 수직선이 상단 파선 위 또는 하단 파선 아래로 가면 자동 회귀 (계절 포함)가 있다는 것입니다. 사인 벡터를 만들어보십시오.


피팅 사인 / 코사인 등은 일부 물리적 / 전기적 시계열에 유용 할 수 있지만 MSB, 모델 사양 바이어스를 알고 있어야합니다.
IrishStat

1
자동 회귀는 계절성을 의미하지 않습니다.
Jens
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.