시계열 그래프
모든 데이터 분석의 첫 단계는 데이터를 시각화하는 것입니다. 그래프를 사용하면 패턴, 이상치, 시간에 따른 변화, 변수 간 관계 등 데이터의 여러 특징을 한눈에 파악할 수 있어요. 어떤 예측(forecasting) 기법을 쓸지 데이터 유형이 결정하듯, 적절한 그래프 유형도 데이터가 결정합니다.
autoplot() 함수를 사용하면 데이터의 시계열 플롯(time plot)을 패싯(하위 패널) 유무에 따라 그릴 수 있습니다:
> autoplot(usnim_2002, facets = FALSE)
위와 같이 이 강의의 여러 함수들은 불리언 인수를 받습니다. T와 TRUE는 "참", F와 FALSE는 "거짓"을 의미하지만, 코드에서 T와 F는 덮어써질 수 있어요. 따라서 이 강의 전체에서는 지시자 설정에 반드시 TRUE와 FALSE만 사용하시기 바랍니다.
이번 연습에서는 which.max()와 frequency()도 사용합니다.
which.max()는 최댓값이 처음 나타나는 위치(가장 작은 인덱스)를 찾아줍니다.
> x <- c(4, 5, 5)
> which.max(x)
[1] 2
단위 시간당 관측치 개수를 구하려면 frequency()를 사용하세요. 이전 연습에서 본 usnim_2002 데이터를 떠올려 보세요:
> frequency(usnim_2002)
[1] 4
이 강의에서는 forecast와 ggplot2 패키지를 사용하므로, 워크스페이스에 미리 로드해 두었습니다. 또한 이전 연습의 myts와 다음의 세 시계열(모두 forecast 패키지에서 제공)도 준비되어 있습니다:
- 미국 달러 기준 금 가격을 담은
gold - 호주 산 모직사 생산 정보를 담은
woolyrnq - 호주 가스 생산량을 담은
gas
이 연습은 강의의 일부입니다
R로 배우는 시계열 예측
연습 안내
autoplot()을 사용해myts를 패싯을 적용해 그려보세요.- 같은 데이터를 적절한 인수를
FALSE로 설정해 패싯 없이 그려보세요. 무엇이 달라지나요? gold,woolyrnq,gas시계열을 각각 별도의 그래프로 그리세요.which.max()를 사용해gold시계열의 이상치를 찾아보세요. 어느 관측치였나요?- 각 시계열에
frequency()함수를 적용해 단위 시간당 관측치 수를 구하세요. 예를 들어 주별 데이터의 경우 52가 됩니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Plot the data with facetting
autoplot(___, facets = ___)
# Plot the data without facetting
___
# Plot the three series
autoplot(___)
___
___
# Find the outlier in the gold series
goldoutlier <- ___(___)
# Look at the seasonal frequencies of the three series
frequency(___)
___
___