최근 대학원 스터디에서 시계열분석에 대한 주제로 발표를 하게 되었다.

워낙 통계를 싫어하는 터라 부정적인 입장을 갖고 바라보곤 했는데...

일단 발표를 해야하니 공부를 했다.

처음에는 무슨말인지 하나도 모르겠었는데...

보다보니 또 무슨말인지 이해가 되는...ㅋㅋㅋㅋㅋ

시계열분석 책

구글에서 여타 다른 책들을 많이 찾아봤지만, 전공이 수학이라 그런지

수학적인 수식과 설명이 잘 되어있지 않은 책은 별로 눈에 잘 가지 않는다...

그나마 이 책이 눈에 잘 들어오는데(저자 이름이 더 눈에 띈다...더글라스 C. 몽고메리...그래서 선택했을수도...)

 

 

 

 

첫번째 책 이외에 주로 내가 보는 통계학 책이다.(이곳에 이렇게 올려도 저작권 침해는 안받겠지....?)

(가냘픈 대학원생을 용서해주세요 대가님들과 출판업계분들...)

암튼 책소개하려는건 아니고...(이미 다 소개했지만)

앞으로 올리는 글에 이 책의 내용들이 포함될 소지가 있어 사전에 미리 알리기 위해 직접 책을 스샷찍어서 올린다.

(부디 많이 많이 팔려 저 말고 출판업계 돈 많이 벌고 저자들도 돈 많이벌게 해주세요...저말고...저말고...)

 

암튼 기초통계는 대략 생략하고

시계열분석의 코드와 개념 위주로 글을 쓸 예정이니....

잘 정리해놓고 기억안날때 마다 자주 들어와서 좀 보고 복기해라...쓰니야...

 

Source

 

 

'수학 > Time Series Analysis' 카테고리의 다른 글

Chapter1 : 1.2 Some Time Series Data  (0) 2018.01.23

1.2 Some Time Series Data
다음 예제는시계열 데이터의 종류중 일부와 데이터에 대해 질문할 수 있는 통계적 문제를 보여준다.


Example 1.1 Johnson & Johnson Quarterly Earnings
그림 1.1 은 미국 존슨 앤 존슨 회사의 분기별 주당 순이익을 나타낸 것이다. 21년간 1960년 1분기 부터 1980년 4분기 까지 84개월을 측정한 것이다. 이러한 시계열의 모델링은 시간적 역사에서 주된 패턴을 발견함으로써 시작한다. 이러한 경우에는, 경향과 변동성을 기반으로 증가하는 것이 아니라, 분기별로 다소 반복되는 것 처럼 보이는 경향위에 규칙적인 가변성을 겹치는 것이다. 이러한 데이터의 분석 방법은 회귀 기법을 이용한 Chapter 2에서 연구된다.(Problem 2.1 을 보라) 또한 그림 1.1 과 1.2를 비교해보라.


  

R에서 astsa 패키지를 이용하여 이 예제에 대한 데이터의 점을 찍는다.(로그데이터는 스스로 점을 찍어 보라)

library(astsa)      # ** SEE FOOTNOTE

tsplot(jj, type = "o", ylab="Quarterly Earnings per Share")

tsplot(log(jj))     # not shown 

 

Example 1.2 Global Warming 
그림 1.3에 보이는 지구의 온도 기록에 대해 살펴보자. 이 데이터는 1951년~1980년 기간을 기반으로 한 1880년 부터 2015년까지 지구의 지표와 해양의 온도 지표의 평균이다. 값들은 1951-1980년 동안의 평균 ( Hansen et al.(2006))에서 갱신된 편차(℃)이다. 그래프에서 20세기의 후반기 부분동안 증가하는 경향은 기후변화가설에 대한 논거로서 사용되어 왔다. 추세가 선형이 아니고, 정체된 구간 이후에 날카로운 상승추세를 주목하라. 전체적인 추세가 자연스러운건지 인간이 유도한 인터페이스 때문인지는 흥미로운 질문이다. 이 예제의 R 코드는 다음과 같다.

tsplot(globtemptype="o", ylab ="Global Temperature Deviations")


Example 1.3 Dow Jones Industrial Average(DJIA) 

그림 1.4는 금융 시계열 데이터의 예제로서 2006년부터 2016년 까지 다우존스 산업평균지수의 일일 수익률을 보여준다. 2008년 금융위기를 쉽게 파악할 수 있다. 그림 1.4에서 보여주는 데이터는 전형적인 반환 데이터이다. 이 시계열의 평균은 대략 0으로 반환되는 평균으로 안정되게 나타나지만, 데이터의 변동성은 군집을 보여준다. 즉, 높은 변동 기간은 함께 군집을 이루는 경향이 있다. 금융데이터의 이러한 유형의 분석에서 문제는 미래의 수익변동성을 예측하는 것이다. Chapter 5를 보면 이러한 문제를 다루는 모델이 개발되어 있다. 그래서 우리는 x_%7B%20t%20%7D%20 가 다우존스 산업평균지수의 실제 값이고  r_%7B%20t%20%7D%3D(x_%7B%20t%20%7D-x_%7B%20t-1%20%7D)%2Fx_%7B%20t-1%20%7D%20반환된다면 1%2Br_%7B%20t%20%7D%3Dx_%7B%20t%20%7D%2Fx_%7B%20t-1%20%7D%20와 log(1%2Br_%7B%20t%20%7D)%3Dlog(x_%7B%20t%20%7D%2Fx_%7B%20t-1%20%7D)%3Dlog(x_%7B%20t%20%7D)-log(x_%7B%20t-1%20%7D)%5Capprox%20r_%7B%20t%20%7D%20라는 사실을 사용한다.

데이터 집합은 astsa 에서 제공되고 xts 를 로드해야한다.

library(xts)

djiar = diff(log(djia$Close))[-1]           # approximate returns

tsplot(djiarmain="DJIA Returns", xlab = ' ' , margins = .5)


Example 1.4 El Nino and Fish Population
우리는 또한 한번에 여러 시계열을 분석하는데 관심이 있을수 있다. 그림 1.5는 Southern Oscillation Index(SOI)라고 불리는 환경 시리즈와 관련 채용 정보(그리고 새로운 물고기의 수)의 월별 값을 보여준다. 두 시리즈는 1950년-1987년 동안의 453개월 동안 격렬히 움직이고 있다. SOI는 중앙태평양에서 해수면의 온도와 연관된 공기압의 변화에 대해 측정한다. 중앙 태평양은 엘니뇨(El Nino)효과로 인해 3-7년 마다 따듯하게 되며, 이는 다양한 지구 기상 이변에 대한 책임이 있다. 이 시리즈는 두가지 기본적인 진동유형과, 명백한 연간주기(여름에는 덥고, 겨울에는 추운)와 4년마다 반복되는 느린주기를 보여준다. 주기의 종류와 강점에 대한 연구는 Chapter 4의 주제이다. 두 시리즈는 서로 연관되어 있고, 어류개체수가 해양 온도에 의존한다고 생각하기 쉽다. 그림 1.5를 다음 R코드로 생성해보자.


log(1%2Bp)%3Dp-%5Cfrac%20%7B%20p%5E%7B%202%20%7D%20%7D%7B%202%20%7D%2B%5Cfrac%20%7B%20p%5E%7B%203%20%7D%20%7D%7B%203%20%7D-...%20 for -1%3Cp%5Cle%201%20. If p%20 in near zero, the higher-order terms in the expansion are negligible.

par(mfrow = c(2,1))    # set up the grphics

tsplot(soiylab="", xlab"", main="Southern Oscilltion Index")

tsplot(rexylab="", main="Recruitment")


Example 1.5 fMRI Imaging

​종종 시계열은 다양한 실험적 상황이나 치료 구성하에서 관찰된다. 이러한 일련의 데이터가 그림 1.6에 나와 있으며, 데이터는 기능적 자기 공명영상(fMRI)을 통해 뇌의 여러 위치에서 수집된다. 이 예에서 자극은 32초 동안 가해진 다음 32초 동안 중지되었다. 따라서, 신호주기는 64초 이다. 256초(n=128) 동안 2초마다 한 번씩 관찰하는 속도로 샘플링이 이루어 졌다. 시리즈는 뇌의 활성화 영역을 측정하는 혈액 산소 수준 의존적 신호세기의 연속적 측정이다. 주기는 운동 피질 계열에서 강하게 나타나고 시상과 소뇌에서 강력하게 나타난다. 두뇌의 다른 영역에서 시리즈를 가지고 있다는 사실은 그 영역이 브러시 자극에 다르게 반응하는지 테스트 하는것을 제안한다. 다음 R 명령을 사용하여 데이터를 플롯한다.
 

par(mfrow=c(2,1), mar=c(3,2,1,0)+.5mgp=c(1.6,.6,0))

ts.plot(fmril[,2:5], col=1:4ylab="BOLD", xlab="", main="Cortex")

ts.plot(fmril[,6:9], col=1:4ylab="BOLD", xlab="", main="Thalam & Cereb")

mtext("Time (1 pt = 2 sec)", side=1line=2)




R.H Shumway & D.S. Stoffer published by free dog publishing
" Time Series Analysis Using the R Statistical Package"
http://www.stat.pitt.edu/stoffer/tsa4/

'수학 > Time Series Analysis' 카테고리의 다른 글

[시계열분석] Intro  (0) 2020.10.04

+ Recent posts