Merware
2024. 8. 24. 14:33
Link
Source
상세 내용
- 탐색적 자료분석
- Inlet SOx, Limestone, 발전량이 Outlet SOx 예측에 미치는 영향: Outlet SOx 예측에 가장 큰 영향을 주는 변수는 Inlet SOx이며, Limestone 사용량을 결정하는데 이 모델을 활용하는 것은 부적절함.
- SOxDiff 변수 정의: SOxDiff = Inlet SOx - Outlet SOx
- Limestone 사용량과 SOxDiff의 관계: 양의 상관관계가 존재하여 Limestone 예측 모델에 SOxDiff를 사용.
- 모델 학습
- 데이터 전처리: NaN 값을 평균값으로 대체하고, SOxDiff 값이 음수인 행은 제거.
- 모델 형성: 전력량, Limestone, Inlet SOx를 이용하여 SOxDiff를 예측하는 모델을 Gradient Boosting Regressor로 학습.
- 결정계수: 0.97로 높은 예측 정확도를 보임.
- 최적의 Limestone 값을 구하기 위한 알고리즘
- SOx 배출량을 줄이고 석고의 순도를 높이기 위해 SOxDiff가 최대가 되는 Limestone 사용량을 결정.
- Limestone 사용량이 계속 증가할 경우 SOxDiff가 감소하는 시점을 찾아 최적의 Limestone 사용량을 결정.
- Limestone 초기값은 Inlet SOx 구간별 Limestone 평균값보다 약간 작은 값으로 설정.
- 반복적인 증가와 비교를 통해 최적의 Limestone 값을 찾음.
- 결과
- Inlet SOx = 120: 최적의 Limestone 값 약 4.69, SOx 절감 약 138.9
- Inlet SOx = 160: 최적의 Limestone 값 약 6.74, SOx 절감 약 157
- Inlet SOx = 210: 최적의 Limestone 값 약 8.13, SOx 절감 약 207
- 최적화 프로그램
- 입력된 Inlet SOx 값에 따라 Limestone 최적 값을 출력하는 프로그램을 제공.
사용 기술 및 라이브러리
- Python
- Scikit-learn
- Matplotlib
담당한 부분
- 배경지식 조사
- 데이터 전처리
- EDA
- 모델 하이퍼파라미터 튜닝
배운 점
- 실제 현업에서 발생한 데이터를 다뤄보니 예상보다 결측치나 이상치들이 다양하게 있어서 전처리하는게 쉽지 않다는 점을 알 수 있었다.
- 석고 순도에 큰 영향을 미치는 변수들은 관련 데이터셋을 찾아보았지만 확보할 수 없어 기존 데이터셋에서 파생 변수를 생성해서 최대한 반영해보았다.
- 모델링에서 굳이 타겟 변수를 관계식의 y값인 변수로 하지 않고 다른 변수로 주어 feature engineering을 할 수 있는 점을 배웠다.