CV Forecast

Connected Vehicles (CV) coolant temperature, driving speed time series analysis and LSTM based Forecast model development

CV Forecast

Connected Vehicles (CV) coolant temperature, driving speed time series analysis and LSTM based Forecast model development

KETI

2020.03 ~

주행속도를 기반으로 냉각수 온도를 예측하여 위험 수준 도달 전에 알려주는 서비스 개발

Python, Tensorflow (keras, LSTM)

Description

CV coolant temperature, driving speed multivariate time series prediction model

본 프로젝트는 전자기술연구원(KETI)에서 진행되는 프로젝트로 데이터 및 코드는 대외비 입니다.

데이터, 코드를 제외한 프로젝트 과제 내용만 공유합니다.

0. CV 과제 소개

0.1 CV 과제

0.2 데이터 설명

  • 데이터의 구조 이해

① 실시간으로 elex, triphos 등의 회사로 부터 레미콘 차량의 데이터를 받아 DB에 저장하고 있다.

② 레미콘 차량의 주행 속도, 냉각수 온도, GPS 위치, DTC, RPM 등 센서 데이터 수집


1. 소개

1.1 문제 정의

  • 주행 속도와 냉각수 온도간의 상관(혹은 인과) 관계가 존재하는가?
  • 존재한다면 주행 속도가 냉각수 온도에 영향을 미치는데 걸리는 시간이 얼마인가?
  • 주행속도를 기반으로 냉각수 온도를 예측할 수 있는가?
  • 냉각수 온도를 예측하여 위험 수준 도달 전에 알 수 있는가?

1.2 데이터 전처리

  • 데이터가 너무 많음
  • 데이터가 존재하지 않는 구간 존재
  • 첫 주행 구간 데이터만 샘플링

  • 주행 시작 시 냉각수 온도가 영하에서 급격하게 증가하는 구간 존재
  • 데이터가 존재하지 않는 구간 존재
  • 원만하게 주행 중인 구간만 샘플링


2. EDA

2.1 상관 분석

0.335208로 뚜렷한 양의 상관 관계를 보인다.

주행 속도가 냉각수 온도에 영향을 끼치는데 일정 시간 소요 된다면 주행 속도 데이터를 일정 시간 Shift 하고 상관분석을 하면 영향을 끼치는데 소요되는 시간을 알 수 있을 것으로 예상

23초 Shift 한 결과 값이 0.414088로 가장 높은 상관관계를 보인다.

2.2 Granger 인과관계

  • Granger 인과관계 검정은 전통적인 F-통계량을 이용한 비교적 단순한 검정방법
  • y를 예측(추정)할 때 y의 과거 값과 함께 x의 과거 값도 함께 사용하는 것이 y의 과거 값만으로 예측(추정)하는 것보다 정확하면 x로부터 y로의 인과방향이 존재한다고 간주
  • Granger 인과관계 검정은 한 변수가 다른 변수를 예측하는데 도움이 되지 않는다는 귀무가설(H0)에 대해 검정하는 것
  • P-value가 0.05보다 작은 경우 귀무가설을 기각하며, 인과관계가 있다고 판단

Lag의 값이 66일 때 P-value값이 가장 낮은 것으로 보아 주행속도가 냉각수 온도에 66초간 영향을 미치는 것으로 판단된다.

2.3 추가 분석

2.4 정상성 test

2.5 자기상관 분석

  • 자기상관 : 시계열의 시차 값(lagged values) 사이의 선형 관계
  • ACF : 확률 과정의 시각 𝑡의 값  𝑌_𝑡 와 시각 𝑡 −𝑘의 값  𝑌_𝑡−𝑘의 상관계수
  • PACF : 두 시각 사이의 값 즉 𝑌_(𝑡−1),⋯𝑌_(𝑡−𝑘+1)의 영향을 배제

2.6 Forecasting 모델

  • 결과 요약


LSTM 모델

Framework

모델 학습을 위한 추가 전처리

  • 기간 : 2020-01-01 15:00:00 ~ 23:29:20 (약 8시간 30분)
  • 냉각수 온도와 주행 속도를 합친 데이터 프레임 생성
  • 결측치 존재하는 행 앞 데이터로 채우기(ffill)
  • 절대 온도로 변경 (전: 390 후: 312.15)
  • Z-score 표준화 진행 (z=(𝑥−𝜇)/𝜎)

Network 구성

결과

loss: 0.0062 - val_loss: 0.0024