▲ 대구교통공사 3호선 전력관제 장애 관리 통합 플랫폼 메인화면
AI 기반 장애 발생 예측 시스템
이 프로그램은 과거의 장애 이력과 시계열 데이터를 분석하여 향후 발생할 수 있는 장애를 예측합니다. 딥러닝(GRU)과 머신러닝(KNN, 선형회귀) 모델을 앙상블하여 예측 정확도를 높였습니다.
- 강동우 (대구교통공사 3호선 경전철관제팀 전력관제)
- 본 프로젝트는 개발자 개인의 연구 결과물입니다.
- 2025.04 ~ 06: 프로젝트 초기에 HWP 문서로 된 장애 보고서를 DB화하는 난관을 거쳐 개발되었습니다.
- 저사양 최적화: 당초 LSTM 모델을 고려했으나, 사내 PC(i3-13100, No GPU) 환경에서 원활한 구동을 위해 **GRU(Gated Recurrent Unit)**와 KNN을 주축으로 하는 경량화된 시계열 앙상블 모델로 최적화되었습니다.
- 목적: 2025년 6월 15일 초도품 완성 당시, 단순 예측을 넘어 예측된 장애 상황을 바탕으로 운영자가 미리 대비하는 이미지 트레이닝(Image Training) 용도로 기획되었습니다.
"장애 예측은 훈련의 시작이다." 단순히 숫자를 맞추는 것이 아니라, 예측된 장애를 기반으로 대비 훈련을 수행하여 대응 역량을 높이는 것이 목표입니다.
데이터 샘플 수와 특성에 따라 최적의 모델을 자동으로 선정하여 연간 장애 발생을 예측합니다.
- GRU (Deep Learning): 데이터가 충분할 때 시계열 패턴 학습.
- KNN (Machine Learning): 유사 패턴 기반 예측.
- 선형회귀 (Linear Regression): 추세 기반 예측.
- 평균법 (Moving Average): 데이터가 부족할 때 베이스라인 제공.
- 저사양 최적화: i3-13100, No GPU 환경에서도 딥러닝 예측이 가능하도록 경량화했습니다.
- 예산 절감: 고가의 상용 솔루션 없이 1인 개발로 구현하여 공공 예산을 절감했습니다.
- Python 3.8 이상
- PyTorch, Scikit-learn, Pandas 등 (requirements.txt 참조)
- CPU: Intel Core i3-13100 이상
- RAM: 16GB 이상
- GPU: 불필요 (CPU 연산 최적화)
pip install -r requirements.txt# Windows
run_predictor.bat
# 또는
python main.py이 프로그램은 누구나 수정해서 사용할 수 있습니다.
- 제목 변경:
index.html파일을 열어 회사명이나 타이틀을 수정하세요. - 로고 변경: 폴더 내의
io.png파일을 본인의 로고 파일로 교체(덮어쓰기)하면 됩니다. - 데이터 교체:
incident_reports.db파일의 내용을 본인의 조직에서 발생한 장애 이력으로 교체하면, 해당 데이터를 학습하여 맞춤형 장애 예측을 수행합니다.
본 프로그램은 독립적으로 실행되지만, 추후 공개될 **'장애 관리 통합 플랫폼'**의 일부 모듈입니다. 사용자는 이 모듈들을 결합하여 통합 시스템으로 구축할 수 있으며, 통합된 전체 버전 또한 추후 오픈소스로 공개될 예정입니다.
main.py: 예측 엔진 및 메인 로직.incident_reports.db: 학습에 사용되는 장애 이력 DB.
- 본 예측기는
incident_reports.db의 데이터를 기반으로 학습합니다. 데이터가 쌓일수록 예측 정확도가 향상됩니다. - 제공된 DB는 테스트를 위한 가상 데이터입니다.
