Time series Forecasting in Machine Learning [번역 예정] 


https://medium.com/99xtechnology/time-series-forecasting-in-machine-learning-3972f7a7a467



“데이터의 시간적 패턴을 탐지하는 방법”

데이터에서 시계열 패턴/특성을 이해하는 것은 비지니스 데이터의 경향을 표출하거나 분석하는 측면에서 매우 크리티컬 해 지고 있다.

유즈케이스 1 :  피트니스 디바이스 마켓은 사용자가 운동함에 있어서 더 효율적인 방식을 찾기 위해 관련 데이터를 분석 할 필요가 있다.

Activity performance monitoring

유즈케이스 2 : 제품 판매업체에서 제품의 날짜별 판매 데이터는 제품 관리 및 판촉행사를 더 효율적으로 하기 위해 필요하다. 

Product Sales Growth

일반적인 타임 시리즈 패턴들

전형적인 타임시리즈 모델들을 매우 다양하게 나타낼 수 있다.

어떤 상황에서는 위의 모든 패턴이 합쳐진 형태로도 나타날 수 있기 때문에 타임시리즈의 구성요소를 디테일하게 살펴볼 필요가 있다. 다음 섹션에서는 타임시리즈의 다양한 구성요소들을 살펴본다.

타임시리즈들의 컴포넌트들

시계열 데이터는 주요 요소들을 나누어서 분석 할 필요가 있다.  우리는 이것을 타임시리즈 디컴포지션이라고 부르는데 만약 타임시리즈를 좀 더 가까이에서 본다면 그것은 주로 Trend (흐름의 경향)Seasonality(주기적)Cyclic (반복적),Residual (나머지) 이렇게 구분 할 수 있을 것이다.

Decomposition of a Time Series
A Decomposed Time series
  1. 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.


일반용 을 전기요금 계산법

일반용 을은300kW 이상 (갑이면 미만) 고객에게 적용되고 고압 A (3,300V~66,000V), 고압 B (154,000V 이상), 고압 C(345,000V 이상)로 나뉜다. 마찬가지로 선택요금제가 적용되는데 선택 I, II, III (선택 III은 기본요금이 높고 전력요금이 낮으므로 월500시간 초과 고객에게 유리)에 따라 시간대별로 전력량요금이 다르다. 계절에 따라 전력량요금이 변하는 것도 마찬가지이다.

아래는 일반용 을 고압 A의 요금표이다. 

일반용 전력(을)

 

구분

기본요금
(원/kW)

전력량 요금(원/kWh)

 

시간대

여름철(6~8월)

봄·가을철(3~5,9~10월)

겨울철(11~2월)

 

고압A

선택 Ⅰ

7,220

경부하

61.6

61.6

68.6

 

중간부하

114.5

84.1

114.7

 

최대부하

196.6

114.8

172.2

 

선택 Ⅱ

8,320

경부하

56.1

56.1

63.1

 

중간부하

109.0

78.6

109.2

 

최대부하

191.1

109.3

166.7

 

선택 Ⅲ

9,810

경부하

55.2

55.2

62.5

 

중간부하

108.4

77.3

108.6

 

최대부하

178.7

101.0

155.5

 


예를 들어 일반용 을, 고압A, 선택II를 사용하는 계약전력 1,200kW공장에서 월 500,000kWh (중간부하 350,000kWh/최대부하 150,000kWh)을 사용한다고 하자.

선택 II의 기본요금은 8,320 (원/kW) x 1,200kW = 9,984,000원  (이거 틀렸다.기본요금 계산하는데 피크가 아니라 계약용량을 대입하는 것은 저압일 경우이다. 아래 Q/A 참고)
전력량 요금은 중간부하와 최대부하 요금을 참고하여, 여름철이라고 가정한다면:                   

109.0 x 350,000 + 191.1 x 150,000 = 66,815,000원이되고 9,984,000원과 합산하면 76,799,000원이다.

이 요금합계에 부가가치세 10% (76,799,000원 x 0.1 = 7,679,900원, 원미만사사오입)와 전력산업기반기금 3.7% (76,799,000원 x 0.037 = 2,841,560원, 10원미만절사)를 더하면 이 공장이 여름철 한 달에 내는 총 전기요금은76,799,000원 + 7,679,900원 + 2,841,560원 = 87,320,460원 (10원미만절사) 이다.



일반/산업용 고압 전기요금에 대한  Q/A


아래는 내가 한전에게 문의해서 알아낸 정보들이다.

1. 검침일이 4월 15일이면  한달 요금은 어떤 기간으로 산정되는가? 

-> 3월15일~4월14일까지를 한달로 보고 계산한다.

2. 검침일이 31일이면 2월달은 언제 검침되는가?

-> 2월29일날 검침된다. 30일까지 있는 달은 30일날 검침된다.

3. 페널티는 무엇인가?

-> 계약용량이 700kw이면 700kw 이상 사용된 경우 즉 750kw 정도 사용되면, 
1회 경고, 3년이내에 재발하면 (50kw * 종별 기본요금)*1.5 를 패널티로 물게된다.
1년 이내에 재발하면 5배를 패널티로 물게된다. 

4. 750kw 는 어떻게 재는가?

-> 15분 평균이다. 이 평균값이 가장 높은 시점을 "피크" 라고 한다. 

5. 한달 기본 요금은 어떻게 계산되는가?

종별 한달 기본요금 * 피크 이다. (기본요금이 8000천원이고 피크가 500kw 라면 8000*500kw = 4백만원)
저압일 경우에는 기본요금 * 계약용량이다. 

6. 피크는 어떻게 계산되는가?  

작년 12,1,2,6,7,8월 중 중부하 시간대, 최대부하 시간대에서 가장 높은 피크 (만약 500kw) 라고 하면그게 기준이 되서 다음 년에 모든 달에 적용이 된다. 다만 다음 년의 12,1,2,6,7,8월에 더 높은 피크가 나오면 그 값으로 갱신되고 12,1,2,6,7,8 월을 제외한 다른 달에 더 높은 피크가 나오면 해당 달만 그 높은 피크 값으로 적용된다.



Behavior-based Home Energy Prediction 

[기획특집] IoT 시대, 실시간 빅데이터 분석의 부상


[컴퓨터월드] 세상은 점점 더 빨라지고, 복잡해지고 있다. IT기술의 발전에 따라 데이터는 폭증하며 급류를 이루기 시작했고, 만물이 이어지는 초연결사회(Hyper-Connected Society)의 도래가 임박했다. 이러한 변화로 인해 경쟁마저 더욱 빠르고 복잡하게 전개되는 양상을 보인다. 치열해지는 경쟁에서 생존하기 위해서는 보다 빠르고 명확한 의사결정이 필수적이다. 이에 빅데이터 속에서 실질적인 인사이트를 실시간으로 얻는 것이 화두가 되고 있다.

최근 관련업계에서는 사물인터넷(IoT) 시대를 맞아 각종 기계로부터 쏟아지고 있는(machine-generated) 데이터에 대한 관심이 점차 늘어나고 있다. 사람들이 만들어내는(human-generated) 데이터와 달리, 기계는 끊임없이 정보를 쏟아내면서도 그 속에 거짓말은 찾을 수 없다. 이곳을 출발지로 삼으면서 실시간 빅데이터 분석 시장이 태동하고 있는 것이다. 각자 고유의 무기를 내세워 이 새로운 전장에 출사표를 던진 이들의 행보를 간단히 살펴본다.
 

  
 

IoT 시대, 분석거리가 쏟아진다

‘IoT’와 ‘분석’은 현재 가장 각광받고 있는 IT트렌드에 속한다. 시장조사기관 가트너는 지난해 말 ‘2015년 10대 전략 기술 동향’을 발표, 향후 3년간 기업에 주요한 영향을 미칠 가능성이 있는 기술들 가운데 이 두 가지를 선정했다. IoT 시대를 맞아 디지털화로 인해 생성되는 데이터 흐름과 서비스의 융합은 관리(manage), 현금화(monetize), 운영(operate), 확장(extend)이라는 네 가지 IoT 사용 모델을 창조, 모든 기업들은 산업과 무관하게 이 기본 모델을 활용해 디지털 비즈니스를 영위할 수 있게 됐다.

아울러 임베디드(embedded) 시스템이 생성하는 데이터의 양이 증가하고 기업 내외 정형·비정형 데이터 풀(pool) 분석이 가능해지면서 분석이 보편화되고 있다. 기업들은 IoT, 소셜 미디어, 웨어러블 기기에서 생성된 대량의 데이터를 적절히 분류, 알맞은 정보를 제때 필요한 곳에 정확히 전달하는 것을 과제로 안게 됐다. 이에 가트너는 분석 기술이 모든 곳에 내장돼 끝단에서 데이터가 처리되는 ‘엣지 애널리틱스(Edge Analytics)’가 대두될 것으로 보고 있다.

이러한 변화는 점차 가속화되고 있다. 시장조사기관 IDC는 오는 2018년까지 IoT에서 생성된 데이터의 40%가 보관되고 프로세스를 거쳐 분석될 것으로 예상했다. 또한 현재는 IoT의 50% 이상이 제조, 운송, 스마트시티 및 컨슈머 애플리케이션 분야에 집중돼있지만, 향후 5년 내 전 산업에서 IoT가 활성화될 전망이다. IDC는 기업들이 네트워크에 연결된 수많은 디바이스로부터 쇄도하는 데이터를 효과적으로 조율하기 위한 방안을 고심해봐야 한다고 강조했다.

IDC에 따르면, 글로벌 IoT 시장은 지난해 6,558억 달러에서 연평균 16.9% 성장, 오는 2020년에는 1조 7천억 달러 규모를 형성할 것으로 전망된다. 특히 한국을 비롯한 아시아·태평양지역(일본 제외)의 IoT 산업도 높은 성장세를 지속, 연결된 기기 및 사물(things) 대수가 31억 대에서 86억 대 규모로 증가할 것으로 내다봤다. 동기간 이 지역의 IoT 시장은 2,500억 달러에서 5,830억 달러 규모로 성장할 것으로 바라보고 있다.

기업이 관리하는 데이터 중 비정형데이터가 정형데이터보다 더 많아지고 있고, 빅데이터가 IoT와 결합하면서 웨어러블 시장 및 맞춤형 추천, 유통과 교통에 이르기까지 폭넓은 분야에 새로운 기술이 적용될 것으로 보인다. 지능적 보안 및 안보 분야에서도 실시간 모니터링과 리스크 감지 시장이 급격히 성장하고 있다. 특히 제조업 중심의 한국은 스마트팩토리 등 인더스트리 4.0 구현의 중요한 시장이 될 것이다.


실시간 분석 수요 확대

IoT 시대의 도래에 따라 빅데이터의 ‘실시간 분석’에 대한 니즈가 급증하고 있다. ‘온라인 분석’은 데이터의 생성 시점과 분석 시점의 구분이 없는 반면, ‘실시간 분석’은 데이터가 생성되는 시점에 최대한 가깝게 분석이 함께 이뤄진다. 이 ‘실시간’에 대한 기준은 업무 성격에 따라 분 단위, 초 단위, 1초 미만 등으로 다양하게 정의되고 있으나, 갈수록 이에 대한 요건이 다양화되는 동시에 강화되고 있는 추세다.

IoT 시대의 실시간 분석은 수많은 센서나 소셜미디어에서 생성되는 시계열(time series) 데이터를 그 대상으로 하며, 특히 각종 기계로부터 생성되는 로그데이터가 주재료가 되고 있다. 머신데이터는 빅데이터 중에서도 증가세가 가장 빠른 영역이며, 다양한 트랜잭션과 고객 행동, 센서 기록, 기계 설비 거동, 보안 위협, 사기 행위 등을 파악할 수 있다는 점에서 보다 빠르고 정확하게 실질적인 가치를 얻을 수 있다는 특징을 지녔다.

실시간 분석 솔루션을 표방하는 소프트웨어(SW) 기술들은 기존 OLAP(온라인분석처리) 영역의 분석용 데이터베이스관리시스템(DBMS)나 데이터웨어하우스(DW)와도 다소 차이를 보인다. 마치 라면을 조리할 시간과 여건이 부족할 때는 간단히 취식할 수 있는 컵라면을 찾는 것과 같다. 데이터를 분석하기 위해 ETL(추출·변환·적재)을 비롯한 여러 과정을 거쳐 DW에서 주기적으로 배치(batch) 처리할 필요 없이, 생성되는 데이터를 바로 처리하고 분석해 필요한 만큼의 인사이트를 빠르게 얻을 수 있는 것이다.

이러한 민첩성(agility)은 하둡(Hadoop)을 위시한 오픈소스 빅데이터 플랫폼과의 가장 큰 차이점이다. 하둡은 배치성 아키텍처를 근간으로 하므로 실시간성과는 동떨어져 있어, 인메모리(in-memory) 기술이 적용된 ‘아파치 스파크(Apache Spark)’ 등을 통해 이에 대한 보완도 진행되고 있다. 그러나 기업이 하둡에코시스템을 제대로 활용하기 위해 요구되는 대규모 컴퓨팅파워와 이를 유지관리하기 위해 필요한 고급인력은 결국 TCO(총소유비용)의 증가를 야기한다는 점에서 여전히 생각해볼 문제로 남는다. 더불어 실시간 분석 솔루션들은 짧은 구축기간, SQL 활용 등 사용성을 무기로 삼아 이 틈새를 공략하고 있다.

스트리밍 데이터를 메모리상에서 바로 연관분석을 수행하는 CEP(복합이벤트처리) 기술은 실시간 분석 솔루션과 상호보완적인 관계로 볼 수 있다. CEP 기술은 데이터의 저장 단계 전에 특정 로직을 통해 예외상황 등의 이벤트를 확인하고 처리하는 방식이므로, 저장된 데이터를 가공하거나 검색하는 기능이 없고 입력되는 데이터를 다루는 범위도 한계를 지니게 된다. 그러나 CEP 기술은 빠른 응답속도에 강점을 갖고 있어, 실시간 분석 솔루션의 앞단에 위치하거나 또는 내장돼 공존하며 시너지를 내는 것이 가능하다.





나머지는 http://getliner.com/HCy8T/  에 가서 읽어봅시다.



너무 많은 빅데이터,머신러닝 툴들의 홍수속에 , 자신이 하려는 일에 가장 적합한 툴을 찾는것이 점점  

불가능에 가깝다고 느껴지네요. 그래서 맥가이버의 칼 같은 존재라고 회자되는  "스파크"  가 인기가 

좋은게 아닌가 싶습니다. 즉  스파크 + 카산드라  ,   스파크 + a  이렇게~




+ Recent posts