Digital Transformation

[Python] 시계열 데이터 분석을 활용한 공장 에너지 소비 최적화

헬로제이콥 2026. 5. 9. 14:57

최근 스마트 팩토리와 DX(디지털 전환)의 핵심 화두 중 하나는 '에너지 효율'입니다. 공장에서 발생하는 전력 소모 데이터를 AI로 분석하면, 피크 전력을 예측하여 기본 요금을 절감하거나 불필요한 에너지 낭비를 막을 수 있습니다.

파이썬을 활용한 시계열 데이터 분석의 기초 흐름과 샘플 코드를 정리해 보겠습니다.


1. 개요: 왜 시계열 데이터 분석인가?

공장의 전력 데이터는 시간의 흐름에 따라 기록되는 시계열(Time-Series) 데이터입니다.

  • 패턴 파악: 요일별, 시간대별, 공정 단계별 에너지 사용 패턴을 분석합니다.
  • 피크 예측: 전력 사용량이 급증하는 지점을 미리 예측하여 설비 가동 시간을 조정(Load Shifting)합니다.
  • 이상 감지: 평소보다 과하게 에너지가 소비될 경우 설비의 이상 징후로 판단합니다.

2. 분석 프로세스 (Python 활용)

시계열 분석은 크게 [데이터 로드 ➔ 전처리 ➔ 시각화 ➔ 예측 모델링] 순으로 진행됩니다.

① 필수 라이브러리 임포트

Python
 
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from statsmodels.tsa.seasonal import seasonal_decompose
from sklearn.ensemble import RandomForestRegressor

② 데이터 전처리 (현장의 도메인 지식 반영)

실제 공장 데이터는 통신 오류나 점검 시간으로 인해 빈 값이 많습니다. 이를 채워주는 과정이 중요합니다.

Python
 
# 샘플 데이터 생성 (시간, 전력소모량)
data = pd.read_csv('factory_energy.csv', parse_dates=['timestamp'], index_col='timestamp')

# 1. 결측치 처리 (도메인 지식: 기계가 꺼진 건지, 데이터 누락인지 판단 필요)
data['energy_kwh'] = data['energy_kwh'].fillna(method='ffill') # 앞선 데이터로 채우기

# 2. 시간 특성 추출 (요일, 시간 등은 에너지 소비의 핵심 변수)
data['hour'] = data.index.hour
data['day_of_week'] = data.index.dayofweek

3. 실전 분석 코드: 피크 전력 예측 (Random Forest)

가장 간단하면서도 효과적인 머신러닝 알고리즘인 랜덤 포레스트(Random Forest)를 이용해 다음 시간대의 에너지 소비량을 예측해 보겠습니다.

Python
 
# 학습 데이터 준비 (과거 1시간 전 데이터를 기반으로 현재 예측)
data['target'] = data['energy_kwh']
data['prev_hour_energy'] = data['energy_kwh'].shift(1)
data.dropna(inplace=True)

# 독립변수(X)와 종속변수(y) 설정
X = data[['hour', 'day_of_week', 'prev_hour_energy']]
y = data['target']

# 모델 학습 (Random Forest Regressor)
model = RandomForestRegressor(n_estimators=100)
model.fit(X, y)

# 미래 예측 (예시: 현재 데이터 입력 시 다음 시간 전력량 출력)
prediction = model.predict([[14, 1, 450.5]]) # 오후 2시, 화요일, 이전 전력 450.5kWh
print(f"예측된 에너지 소비량: {prediction[0]:.2f} kWh")

4. 도메인 지식을 통한 최적화 전략 (PM의 시각)

단순히 예측에서 끝나는 것이 아니라, 이 데이터를 어떻게 현장에 적용할지가 PM의 핵심 역량입니다.

  1. 최대 수요 전력 제어 (Demand Response): 예측된 피크 시간대에 에너지 소모가 큰 비핵심 설비(공조기, 충전기 등)의 가동을 자동으로 일시 중단합니다.
  2. 공정 스케줄링 최적화: 전력 요금이 비싼 시간대를 피해 대형 모터 가동 공정을 재배치합니다.
  3. 설비 예후 관리 (PHM): 동일한 공정임에도 과거 대비 에너지 소비가 급증했다면, 모터의 노후화나 마찰 손실 발생을 의심해 볼 수 있습니다.