일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 주키퍼
- 파이썬 데이터분석
- 스칼라 강좌
- hyperledger fabric
- 안드로이드 웹뷰
- Actor
- 하이브리드앱
- 엔터프라이즈 블록체인
- 파이썬 강좌
- 블록체인
- 파이썬 머신러닝
- 스칼라 동시성
- 파이썬
- play 강좌
- 플레이프레임워크
- 스칼라
- 하이퍼레저 패브릭
- akka 강좌
- Golang
- Hyperledger fabric gossip protocol
- 스위프트
- 이더리움
- CORDA
- Akka
- play2 강좌
- Play2 로 웹 개발
- 파이썬 동시성
- Play2
- 그라파나
- Adapter 패턴
- Today
- Total
HAMA 블로그
머신러닝을 통한 타임시리즈 예측 [번역] 본문
Time series Forecasting in Machine Learning [번역 예정]
https://medium.com/99xtechnology/time-series-forecasting-in-machine-learning-3972f7a7a467
“데이터의 시간적 패턴을 탐지하는 방법”
데이터에서 시계열 패턴/특성을 이해하는 것은 비지니스 데이터의 경향을 표출하거나 분석하는 측면에서 매우 크리티컬 해 지고 있다.
유즈케이스 1 : 피트니스 디바이스 마켓은 사용자가 운동함에 있어서 더 효율적인 방식을 찾기 위해 관련 데이터를 분석 할 필요가 있다.
유즈케이스 2 : 제품 판매업체에서 제품의 날짜별 판매 데이터는 제품 관리 및 판촉행사를 더 효율적으로 하기 위해 필요하다.
일반적인 타임 시리즈 패턴들
전형적인 타임시리즈 모델들을 매우 다양하게 나타낼 수 있다.
어떤 상황에서는 위의 모든 패턴이 합쳐진 형태로도 나타날 수 있기 때문에 타임시리즈의 구성요소를 디테일하게 살펴볼 필요가 있다. 다음 섹션에서는 타임시리즈의 다양한 구성요소들을 살펴본다.
타임시리즈들의 컴포넌트들
시계열 데이터는 주요 요소들을 나누어서 분석 할 필요가 있다. 우리는 이것을 타임시리즈 디컴포지션이라고 부르는데 만약 타임시리즈를 좀 더 가까이에서 본다면 그것은 주로 Trend (흐름의 경향), Seasonality(주기적), Cyclic (반복적),Residual (나머지) 이렇게 구분 할 수 있을 것이다.
- 1.Trend 컴포넌트
긴시간동안의 상승/하강 경향에 대한 분석
2. Seasonality Component
주기적으로 요동치는 패턴에 대한 분석, 주로 계절별(요일별)로 반복된다.
3. Cycles Component
계절별(요일별) 말고 다른 이유에 의해서 반복적인 패턴을 보임. 사이클의 피크포인트및 길이는 동일할 필요는 없으며 아주 긴 시간동안의 인터벌이 발생할 수 도 있다.
4. Irregular movement Component
나머지, 노이즈 일 수도 있고 에러 일 수도 있고, 다른 특정 사건일 수도 있고~
R 을 이용하여 데이터를 모델링 해보자.
For the demonstration purpose i have used a time series use case from banking industry as explained below.
Business Case : How do you predict the remaining balance of bank account for remaining two years.
- Financial expenditures of a bank users are highly unpredictable over the period of time.
- Expenditure patterns of the user is random in nature.
When the behavioral pattern of a user unknown and random in nature there is no easy way that you can write a business logic to automatically predict the future balances in the user account .
Solution : Use a machine learning approach to create a prediction model predict future account balances of the user .
Lets use step by step approach go trough a practical time series use case .
Step 0
In this case i am using a CSV file which has monthly balance of the users bank account starting from 1973–01 to 2013–06 .
Step 1: install forcast and fpp packages in R Studio
Step 2: Load data from CSV file into R data frame .
Step 3: create time series Object using “AccountBal” data frame.
Step 4: plot time series Object .
step 5 : Decomposing time series into its components
you can use decompose command to split the time series into its trend , seasonal and irregular components
step 6 : Predicting remaining balances of account for next 10 years using holtWinter Prediction Model.
Prediction is done in two steps . In first step you create the holtWinters model by using past time series data . Then in the second step we use that model to make predictions for next 10 years .
Then you can pot the predicted values in a new time series graph from 2014–2022
As the final step you can decompose the predicted time series to identify future trends and future seasonal effects reaming account balance of the user .
As a summery in this article i have tried to give you a basic understanding about the time series modeling . In future articles i may discuss some advance concepts around time series modeling subject area.
'IoT 데이터 분석 (NILM)' 카테고리의 다른 글
타임시리즈 데이터의 feature extraction 에 관한 논문&오픈소스 링크 (0) | 2017.06.26 |
---|---|
전기요금표 (0) | 2017.03.14 |
행동 기반 홈 에너지 예측 논문 (0) | 2016.07.07 |
타임시리즈모델링을 위한 딥러닝 (0) | 2016.03.30 |
시계열 데이터 분석 주요 논문들 (0) | 2016.02.19 |