본문 바로가기
유용한 정보

Book review) 실전에서 바로 쓰는 시계열 데이터 처리와 분석

by systrader79 eternity79 2021. 7. 19.
반응형

 주식이나 암호화폐 등의 데이터를 조금 분석하다보면, 시계열 데이터 분석에 대한 지식이 필수적이라는 것을 곧 알게 됩니다. 왜냐하면, 금융 시장의 데이터는 시간이라는 변수를 떼놓고 절대 생각할 수 없는 영역이기 때문입니다. 

 

 대부분의 금융 시장의 데이터 분석은, 최근 어느 기간 동안의 데이터를 분석해서 특정 모델을 만들었을 경우, 이 모델이 앞으로의 시장 상황이나 가격의 움직임을 얼마나 잘 예측할 것이냐를 만들어가는 과정이라고 할 수 있습니다. 

 

주린이들도 알 수 있는 이동 평균 기법도 아주 단순하지만 훌륭한 시계열 분석 모델의 일종입니다. 

금융시장에서 시계열 분석이 필요한 이유는, 시계열 분석을 제대로 알아야 금융 시장의 데이터를 바탕으로 미래의 움직임이나 패턴을 제대로 해석할 수 있기 때문인데요, 

 

시계열 분석의 대표적인 주제는, 정상성 판정, 자기 상관성 분석, 추세 분석, 계절성 분석, 시계열 데이터 모델링으로 압축할 수 있는데, 말이 어려워 보이지만, 사실 따지고 보면 누구나도 당연하게 생각하는 것들입니다. 

 

 주식 시장을 예로 들면, 내가 매매하고 싶은 종목이 추세적인 성향이 강한지, 아무런 의미없는 비추세적인 성향(노이즈)가 강한지를 판별해야 추세 매매를 할지, 지지선 매매를 할지 결정할 수 있지요? 이는 데이터의 정상성과 추세를 분석함으로써 알 수 있습니다. 

 

 오늘 많이 오르는 주식이 내일도 많이 오르는지 알 수 있다면 얼마나 좋을까요? 어제의 데이터의 움직임과 오늘 데이터의 움직임, 혹은 며칠 전의 움직임과 오늘의 움직임에 양의 상관성이 있는지 음의 상관성이 있는지 알 수 있고 이를 투자에 접목시킬 수 있다면 이 또한 투자에 큰 도움이 되겠지요? 여기에 이용되는 것이 자기 상관성 분석입니다. 

 

 아마 주식 시장의 데이터만큼 뚜렷한 계절성을 보이는 영역도 찾기 쉽지 않을 겁니다. 월초 효과, 월말 효과, 일중 효과, 오버나잇효과 등.. 구간 마다 아주 뚜렷하게 보이는 주기적인 반복성이 존재하지요? 우리는 이를 계절성이라고 부릅니다. Sell in May 전략도 뚜렷한 계절성 패턴 중의 하나이고요. 이런 반복성은 계절성 분석으로 알 수 있습니다. 

 

 시계열 데이터에서 다루는 핵심 주제는 너무나도 쉽게 이해할 수 있고, 알고 싶은 주제들이지만, 막상 접근하려고 하면, 너무나도 어려운 용어와 복잡한 수학 공식 때문에 책 첫 페이지만 보고도 포기하는 사람들이 한 두 명이 아닙니다. 

 

하지만, 지금 소개해드리는 '실전에서 바로 쓰는 시계열 데이터 처리와 분석 in R'은 그런 초심자나 비전공자의 고민을 한 큐에 날려드릴 훌륭한 입문서로 추천드리고 싶은 책입니다. 

현재 국내에 출간된 시계열 분석책들은 대부분 수리 계통 전공자를 대상으로 한 딱딱하고 어려운 이론서가 대부분입니다. 엄정한 개념을 잡는데는 당연히 도움이 되겠지만, 시계열 분석이 필요한 대부분의 사람들은 수학자자 통계학 전공자가 아닌, 고등학교 수준 내지는 대학 교양 수준의 수학실력을 가지고 있습니다. 

 

 자동차를 잘 몰기 위해 자동차 엔진의 구조와 열역학 공식까지 알 필요는 없듯이, 이 책에서는 시계열 분석의 주요 주제와 개념을 복잡한 수식없이 알기 쉬운 말로 쉽게 설명해주고 있습니다. 그리고, 시계열 분석에 있어 가장 활용하기 쉽고 편한 R 언어를 이용해서 시계열 분석의 기초와 연관된 R 패키지, 그리고 시각화까지 단순하고 명료한 R 코드와 풍부한 예제를 통해 상세히 알려주고 있습니다. 

 

주변에서 얻을 수 있는 실제 데이터(코로나)를 예제로 상당히 실무적이고 실제적인 강의를 제공해주고 있기 때문에, 시계열 분석에 입문하려는 분들께 강추하고 싶습니다. 

  

카드뉴스로 보는 책

1/4

다음 이미지 배너

책소개

복잡한 수학 공식 없이 코드 위주의 설명과 실제 데이터를 통해 배우는 시계열 데이터와 알고리즘!
20여 년간 우리나라의 교육통계 데이터를 다뤄온 저자가 꼼꼼하게 안내하는 시계열 데이터 입문서!


이 책은 시계열 데이터 분석을 시작하기를 원하는 분들이나 실무에서 시계열 데이터를 사용하는 직장인을 위해서 어려운 수학 공식에 대한 이해 없이도 시계열 데이터를 어떻게 읽어 들이고, 어떻게 그루핑하고, 어떻게 합계와 평균을 낼 것이며, 어떻게 플롯을 만들고, 어떻게 예측 모델과 미래 데이터를 만들 것인가에 대한 코드 위주의 설명으로 시계열 데이터를 다룬다.

  •  책의 일부 내용을 미리 읽어보실 수 있습니다. 미리보기

목차

1장 시계열 데이터 1

1.1 시계열 데이터란? 3
1.2 시계열 데이터의 특성 5
1.2.1 시간 독립변수 5
1.2.2 자기상관 관계 6
1.2.3 추세 경향성 7
1.2.4 계절성, 순환성 8
1.2.5 불확실성 9

2장 시계열 데이터 객체 11

2.1 날짜/시간 데이터 클래스 12
2.1.1 date 클래스 12
2.1.2 POSIXct, POSIXlt 클래스 13
2.1.3 yearmon, yearqtr 클래스 15
2.1.4 날짜, 시간 포맷 16
2.2 시계열 데이터 객체 17
2.2.1 ts 17
2.2.2 xts 18
2.2.3 tsibble 20
2.3 시계열 데이터 import 22
2.3.1 엑셀 파일 23
2.3.2 CSV 파일 25
2.3.3 추가 실습 데이터 생성 26

3장 시계열 시각화 31

3.1 data.frame: ggplot2 패키지 32
3.2 xts: xts 패키지 41
3.3 ts: forecast 패키지 46
3.4 tsibble: feasts 패키지 50
3.5 data.frame: timetk 패키지 54

4장 시계열 데이터 처리 59

4.1 오늘 며칠일까?: 시간 정보 추출 60
4.2 며칠 지났을까?: 시간 기간 연산 61
4.3 이번 주 마지막 날은 며칠일까?: 시간 반올림 65
4.4 주간, 월간 데이터 합계, 평균은?: 시간 그루핑 66
4.5 주식 시가, 고가, 저가, 종가는 어떻게 구할까?: OHLC 78
4.6 3일 평균, 5일 합계는?: 시간 롤링 79
4.7 지난 달 데이터는?: 필터링 83
4.8 월별, 분기별, 연별 증감량 88
4.9 월 비중 백분율, 연 비중 백분율 92
4.10 월별, 분기별, 연별 누적 합계 96
4.11 동월별, 동분기별, 동년별 플롯 100

5장 시계열 forecasting Part I - 기초 개념 107

5.1 정상성, 비정상성 109
5.2 지연과 차분 111
5.3 ACF와 PACF 116
5.4 적합값과 잔차 123
5.5 백색잡음 124
5.6 시계열 분해 127
5.7 정상성 테스트 131
5.8 계절성 검정 133

6장 시계열 forecasting Part II - 시계열 예측 모델 137

6.1 평균 모델 139
6.2 단순 모델 142
6.3 계절성 단순 모델 146
6.4 랜덤워크 모델 148
6.5 회귀 모델 160
6.5.1 forecast::tslm 161
6.5.2 timetk::plot_time_series_regression 167
6.6 지수 평활 모델 170
6.6.1 단순 지수 평활 모델 170
6.6.2 홀트 모델 176
6.6.3 홀트 윈터 모델 182
6.6.4 ETS 모델 183
6.7 ARIMA 모델 188
6.7.1 자기회귀 모델 189
6.7.2 이동평균 모델 193
6.7.3 ARIMA 모델 결정 198
6.7.4 Seasonal ARIMA 모델 208
6.8 TBATS 모델 219
6.9 prophet 모델 221
6.10 신경망 모델 226

7장 시계열 forecasting Part III - 시계열 분석 프레임워크 229

7.1 성능 분석 지수 230
7.1.1 MAE 230
7.1.2 RMSE 231
7.1.3 MPE 232
7.1.4 MAPE 233
7.2 fable 프레임워크 234
7.2.1 미래 학생수 예측 235
7.2.2 미래 취업자수 예측 239
7.2.3 미래 코로나 확진자수 예측 242
7.3 modeltime 프레임워크 246
7.3.1 미래 학생수 예측 248
7.3.2 미래 취업자수 예측 255
7.3.3 미래 코로나 확진자수 예측 259

찾아보기 264

펼쳐보기

상세 이미지

저자 소개 (1명)

저 : 이기준

관심작가 알림신청 작가 파일

한국항공대학교에서 컴퓨터공학으로 박사 학위를 받았다. 1999년에 한국교육개발원 교육통계실에 입사하여 유/초/중/고등 교육기관의 교육통계, 고등 교육기관의 취업통계에 대한 DB, 조사, 서비스 시스템을 개발 및 관리하였고, 한국교육개발원 전산실을 거쳐 미국 보이시 주립대학교(Boise State University) 교육공학과에서 초청연구원으로 연수하였다. 교육통계센터 통계기획팀장, 취업통계조사팀장, 국가교육통계...

펼쳐보기

만든 이 코멘트저자, 역자, 편집자를 위한 공간입니다. 독자들에게 전하고 싶은 말씀을 남겨주세요.코멘트 쓰기

접수된 글은 확인을 거쳐 이 곳에 게재됩니다.
독자 분들의 리뷰는 리뷰 쓰기를, 책에 대한 문의는 1:1 문의를 이용해 주세요.

책 속으로

시간적 변화에 따라 발생하는 데이터의 변화량을 파악하여 응용하는 경우가 많은데, 특히 경제지표 예측, 상품 수요 예측, 관광객 수요 예측, 전기 수요 예측 등과 같이 경제, 경영 분야뿐만 아니라 많은 산업에서 사용된다. 이처럼 시계열 데이터는 과거의 데이터 패턴이 유사하게 지속된다는 가정하에 미래 특정한 기간의 데이터 흐름을 분석하기 위해 사용된다. 특히 시간적 변화에 따른 미래의 결과를 예측하는 것은 정부의 정책을 수립하거나 기업에서 비즈니스 전략을 수립하는 과정에서 많이 사용되고 있기 때문에 시계열 데이터에 대한 중요성이 매우 높다.
--- p.2

시계열 데이터는 일반적으로 가로축(X축)에 시간 인덱스가 위치하고, 세로축(Y축)에 값이 표현되는 선 플롯이 많이 사용된다. 선 플롯은 시간의 흐름에 따라 발생하는 추세trend, 계절성seasonality 등의 시계열 데이터의 특성을 표현하고 파악하는 데 효율적이다. 시계열 데이터 분석에는 시계열 데이터의 직접적인 선 플롯 외에도 자기상관 함수autocorrelation function, ACF, 편자기상관함수partial autocorrelation function, PACF 등의 다양한 플롯들이 사용된다. 이 장에서는 data.frame, ts, xts, tsibble 등 시계열 객체별로 시각화 방법을 설명한다.
--- p.32

심지어는 우리 몸속에서도 비정상 시계열 데이터가 발생되고 있다. 우리 몸속에서 발생되는 비정상성 시계열 데이터는 우리 심장의 박동수다. 심장 박동은 1분에 60~100회라고 한다. 이는 사람마다 다르지만 중요한 것은 지속해서 일정한 박동수가 유지되는 것이다. 따라서 심장 박동의 플롯은 일정한 주기를 반복해서 나타나야 한다. 그렇지 않고 정상성 시계열 데이터로 나타난다면? 정상성 시계열이라고 정상이 아니다. 빨리 병원에 가야 한다.
--- p.109

최근의 머신러닝 모델 선택의 추세는 머신러닝 프레임워크 위에서 동일한 인터페이스로 여러 모델을 동시에 만들고, 이에 대한 성능 분석 테이블을 만들어서 비교하는 방법을 사용한다. 이러한 흐름은 시계열 모델링에서도 해당되는데 시계열 분석 전용 프레임워크들이 속속 소개되고 있다. 이번 장에서는 시계열 분석 전용 프레임워크인 fable과 modeltime으로 여러 시계열 모델을 생성하고 분석하는 방법을 소개하고자 한다.

--- p.230

펼쳐보기

출판사 리뷰

20년 경력의 교육통계 전문가가 실생활 예제로 꼼꼼하게 안내하는 시계열 데이터 입문서! 복잡한 수학 공식 없이 코드 위주의 설명과 실제 데이터를 통해 배우는 시계열 데이터와 알고리즘!

이 책은 시계열 데이터 분석을 시작하기를 원하는 분들이나 실무에서 시계열 데이터를 사용하는 직장인을 위해서 어려운 수학 공식에 대한 이해 없이도 시계열 데이터를 어떻게 읽어 들이고, 어떻게 그루핑하고, 어떻게 합계와 평균을 낼 것이며, 어떻게 플롯을 만들고, 어떻게 예측 모델과 미래 데이터를 만들 것인가에 대한 코드 위주의 설명으로 시계열 데이터를 다룬다.

이 책의 특징 및 구성

-우리 주변에서 쉽게 얻을 수 있는 실제 데이터를 사용한다.
-우리나라의 최신 데이터를 이용하여 시계열 분석을 직접 수행하면서 분석 방법을 익힌다.
-연별, 월별, 일별 데이터로 실습 데이터를 세분화하여 실무에 바로 적용할 수 있다.
-복잡한 수식을 사용하지 않는 대신, 쉬운 개념 설명과 함께 R로 구현하며 이해한다.
-시계열 분석 워크플로인 문제 파악 → 데이터 생성 → 리포팅을 위한 데이터 시각화와 데이터 핸들링 → 시계열 모델링 → 성능 분석의 형태로 구성되어 따라 하며 프로젝트를 완성할 수 있다.
-데이터 분석가들이 많이 사용하는 R로 코드 작성을 해서 시계열 데이터에 쉽게 접근할 수 있도록 하였다.
-지루한 텍스트 위주의 원리와 이론 설명이 아니라 실무에서 바로 적용해서 사용할 수 있는 코드와 그래프로 예시를 들어 각각의 분석을 쉽고 재미있게 설명한다.
-지수평활화, ARIMA 등 기본적인 시계열 처리 기법 외에도 신경망과 Prophet 같은 최신 시계열 모델, fable과 modeltime 같은 시계열 전용 프레임워크를 검증된 최근 레퍼런스와 함께 소개한다.

이 책의 대상 독자

-시계열 데이터를 활용하고자 하는 데이터 분석가
-시계열 데이터를 활용하여 보고서를 작성하고 시각화를 해야 하는 학생, 직장인 등

펼쳐보기

추천평

이 책은 그동안 어렵게만 여겨지던 시계열 데이터를 개념 위주로 설명하여 보다 쉽게 접근했다는 데 큰 의의가 있습니다. 특히 생활 속에서 실제로 얻을 수 있는 우리나라의 최신 데이터를 예제로 다루었기 때문에 데이터가 우리가 살고 있는 세상을 어떻게 보여 주는지를 확인해 볼 수 있다는 점에서 더 큰 의의가 있습니다. 또한, 저자가 20여 년간 우리나라의 교육통계 데이터를 다뤄 오면서 겪었던 다양한 실무에서의 경험을 이 책에서 자세히 설명하고 있어 시계열 데이터 분석을 시작하는 초보자들이 겪을 수 있는 다양한 문제에 대해서도 많은 참고가 될 것으로 생각됩니다.
- 탐 송 (한국 오라클 대표이사)

시계열 데이터의 생성부터 처리, 분석, 예측까지를 모두 담은 이 책은 지난 20여 년간 우리나라 교육 통계 시스템과 분석의 시작부터 현재까지를 구축한 저자의 실무 경험이 반영되어 있습니다. 이 책은 시계열 데이터 분석을 원하는 분석가나 미래의 분석가를 희망하는 학생들에게 필독서로서 매우 큰 도움이 될 것입니다.
- 황수찬 (한국항공대학교 소프트웨어학과 교수)

시계열 데이터 분석은 매우 어려운 분석 분야였습니다. 시간을 다루는 방법도 어렵고, 경영경제 분야에서 많이 사용하는 시계열 데이터 모델링과 예측 알고리즘들은 대부분 수학적 기초가 있어야 가능했기 때문에 다루기가 쉽지 않고 분석가도 많지 않습니다. 하지만 이 책을 통해 시간을 다루는 방법, 시계열 데이터를 처리하는 방법을 충실히 배울 수 있고, 특히 수학식 하나 없이 시계열 데이터 예측 알고리즘을 사용할 수 있다는 점에서 이제는 시계열 데이터를 보다 쉽게 다룰 수 있을 것입니다. 이 책은 시계열 데이터 분석과 예측의 대중화에 기여하게 될 것입니다.
- 김지훈 (KT 공공/금융고객본부 상무)

이 책은 실제 우리나라 데이터의 시계열 분석을 통해 데이터 분석이 왜 필요한지, 예측을 왜 해야 하는지에 대해 다시 한번 생각해 보게 합니다.
이 책은 단순한 데이터 분석 코드의 차원을 넘어 빅데이터를 활용할 수 있는 데이터 사이언스 학문과 산업이 왜 존재해야 하는지에 대한 분명한 이유를 설명하는 중요한 역할을 할 것으로 기대합니다.
- 이병남 (개인정보보호위원회 개인정보보호정책과장 부이사관)

 

 

1. 네이버 카페 '실전주식투자연구소' 로 오시면, 본 블로그의 모든 내용을 카테고리별로 정렬하여 순서대로 확인하실 수 있고, 다양한 실전 투자 정보도 얻을 수 있습니다~

2. 자타가 공인하는 주식 단기 시스템 트레이딩의 최고 전략가, '닥터 퀀트의 단기 트레이딩 강좌'가 뉴지스탁에서 진행중입니다. 닥터 퀀트의 강좌에서는 그동안 공개하지 않았던 무려 50개 이상의 실전 트레이딩 전략과 주기적인 업데이트 강의가 제공됩니다~

3. 'systrader79의 단기 시스템 트레이딩 강의'와 '자산 배분 완전 정복 강의' 가 뉴지스탁에서 진행중입니다~     주식 단기 트레이딩과 자산 배분 전략에 관심이 있으신 분들의 많은 성원 부탁드립니다

4. 여러분의 인생이 걸린 너무나도 중요한 소식 ----> 여기를 클릭하세요!

 

반응형

댓글0