stl 함수가 랜덤 데이터로 계절에 따라 상당한 변화를주는 이유는 무엇입니까?


11

stl (Loess의 시계열의 계절 분해) 함수를 사용하여 다음 코드를 사용하여 플롯했습니다.

plot(stl(ts(rnorm(144), frequency=12), s.window="periodic"))

위의 코드에 임의 데이터를 넣은 계절적 변동 (rnorm 함수)을 보여줍니다. 패턴이 다르더라도 실행 시마다 중대한 변형이 나타납니다. 이러한 두 가지 패턴은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

계절 변동이있을 때 일부 데이터에 stl 함수를 사용하는 방법 이 계절 변동은 다른 매개 변수를 고려하여 볼 필요가 있습니까? 통찰력 주셔서 감사합니다.

이 페이지에서 코드를 가져 왔습니다. 자살 횟수 데이터에서 계절적 영향을 테스트하는 데 적합한 방법입니까?


1
피팅 기법에 충분한 매개 변수가있는 경우 무작위 데이터에 "패턴"이 있기 때문에 발생합니다.
bill_080

3
여기서 "유의"라는 용어는 어떠한 종류의 유의성 테스트도 반영하지 않는 것 같습니다.
Nick Cox

1
Stl은 비모수 적 데이터 기반 방법이므로 유의성 테스트를 통해 계절적 불확실성의 존재를 정량화 할 방법이 없습니다.
예측 자

답변:


12

황토 분해는 데이터에 평균을 적용하여 데이터 분석에 흥미로운 구성 요소 (예 : 추세 또는 계절)로 축소되도록 계열 을 부드럽게 하기위한 것 입니다. 그러나이 방법론은 계절성이 존재하는지 공식적인 테스트를 하기위한 것이 아닙니다 .

예제 stl에서 계절적주기의 부드러운 패턴을 반환 하지만 이 패턴은 계열의 역학을 설명하는 데는 관련이 없습니다. 이를 확인하기 위해 각 계열의 분산을 원본 계열의 분산과 비교할 수 있습니다.

set.seed(123)
x <- ts(rnorm(144, sd=1), frequency=12)
a <- stl(x, s.window="periodic")
apply(a$time.series, 2, var) / var(x)
#   seasonal      trend  remainder 
# 0.07080362 0.07487838 0.81647852 

우리는 데이터에서 대부분의 차이를 설명하는 것이 나머지라는 것을 알 수 있습니다 (화이트 노이즈 프로세스에서 예상되는 것처럼).

계절성이있는 계열을 취하면 계절 성분의 상대 분산이 훨씬 더 관련성이 있습니다 (손실이 매개 변수가 아니기 때문에이를 직접 테스트 할 수있는 방법은 없지만).

y <- diff(log(AirPassengers))
b <- stl(y, s.window="periodic")
apply(b$time.series, 2, var) / var(y)
#    seasonal       trend   remainder 
# 0.875463620 0.001959407 0.117832537 

상대 편차는 계절성이 시리즈의 역학을 설명하는 주요 구성 요소임을 나타냅니다.


줄거리를주의 깊게 살펴보면 stl기만적 일 수 있습니다. 좋은 패턴을 반환 stl하면 데이터에서 관련 계절 패턴을 식별 할 수 있다고 생각할 수 있지만, 자세히 살펴보면 실제로 그렇지 않다는 것을 알 수 있습니다. 계절성이 있는지 결정하는 것이 목적이라면, 황토 분해는 예비 관점으로 유용 할 수 있지만 다른 도구와 함께 보완되어야합니다.


AirPassengers 예제에서는 출력에 추세가 나타나지 않지만 plot (AirPassengers)에 명확한 추세가 있습니다. "diff (log (AirPassengers))"문이 제거되면 추세는 0.86 (계절 만 0.1)입니다. 어떻게해야합니까?
rnso

수치 적으로 명확한 예를 들었습니다. 실제로, 평활화 된 구성 요소의 분산을 비교하는 것만으로는 계절성에 대한 결론에 도달하기에 충분하지 않을 수 있습니다. 예를 들어,이 경우에서와 같이 차이를 취하여 추세를 제거하지 않으면 추세의 분산이 계절 성분의 분산을 지배합니다. 문제는이 성분과 관련이 있다고 간주하기에 0.1의 상대 분산이 충분히 큰가? 문제는 황토를 기준으로 구성 요소의 분산이 유의한지 여부를 테스트하는 간단한 방법이 없다는 것입니다.
javlacalle

내가 말했듯이,이 경우와 다른 경우에해야 할 일은 계절성이 있는지 테스트하기 위해 다른 방법을 사용하는 것입니다. 예를 들어 내 대답의 두 번째 부분을 참조 하십시오 . 데이터에 계절성이 있다고 결론을 내린 후 loess를 사용하여이 구성 요소의 패턴을 얻을 수 있습니다.
javlacalle

더 명확하게하기 위해 상대 분산은 전체 데이터에서 분해의 일부가 얼마나 많은지를 보여줍니까? IE 70 % 계절, 20 % 추세 등
테드 모스 비

1
@TedMosby 분산은 데이터의 변동성 / 분산을 측정 한 것입니다. 성분의 분산 (예 : 추세, 계절) 및 나머지의 분산의 합은 원래 계열의 분산에 더해집니다. 이런 식으로 구성 요소의 분산을 원본 계열의 분산과 비교하여 구성 요소가 얼마나 관련성이 있는지 (즉, 데이터의 가변성이 구성 요소에 의해 설명되는 정도)에 대한 아이디어를 얻을 수 있습니다.
javlacalle

2

비슷한 맥락에서 Fourier Models가 비 계절 데이터에 활용되어 계절적 구조가 적합하고 예측 된 값으로 강제되어 유사한 결과가 발생하는 것을 보았습니다. 추정 된 모델을 맞추면 사용자가 자신이 강요 / 추정하는 것을 얻을 수 있으며 이는 항상 좋은 분석이 제안 / 제공 할 수있는 것은 아닙니다.


1
stl()푸리에 아이디어를 기반으로하지 않습니다. "마음이없는"분석을 옹호하는 사람은 아직 보지 못했지만 모든 모형 군이 부과되거나 추정 된 것으로 간주 될 수 있습니다. 문제는 사용자가 어떤 절차를 통해 특정 데이터 세트에 대해 제대로 작동하는지 여부를 인식 할 수있는 범위를 제공하는 것입니다.
Nick Cox

@NickCox 아주 사실 ....
IrishStat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.