AI to the Real World

SNU 빅데이터 핀테크 캡스톤 프로젝트 후기

MNC 2022. 8. 22. 14:40

안녕하세요. 마인즈앤컴퍼니입니다.

마인즈앤컴퍼니에서는 서울대학교 AI 연구원에서 진행하는 '빅데이터 핀테크 전문가 양성과정'의

캡스톤 프로젝트의 실습 기업으로 참가하게 되었습니다.  빅데이터 핀테크 전문가 양성과정은 서울대학교 교수진에게 5개월 간 빅데이터/핀테크 분야의 핵심 개념 및 기술에 대한 강의를 듣고, 2개월 간 기업과 연계하여 실제 프로젝트 수행하는 과정입니다.  

 

출처:https://aiis.snu.ac.kr/fintech/2021

 

총 4분이 오셔서 2개월 간 실습 프로젝트에 참여하였고, 그중 2분이 인턴으로 채용되어 근무 중입니다. 회사 입장에서도 우수한 인재를 선점할 수 있고, 수강생 입장에서도 실제 현업에서 데이터를 다뤄볼 수 있는 좋은 기회였다고 생각합니다. 캡스톤 프로젝트를 통해 AI CONNECT 부서의 인턴이 된 도성진 매니저가 전하는 생생한 후기를 지금부터 들려드리겠습니다.

 


캡스톤 프로젝트란?

캡스톤 프로젝트는 보통 대학원에서 배운 내용을 현장에서 적용해보고 일하는 것을 뜻합니다. 

SNU 빅데이터 핀테크 과정은 서울대학교 교수진과 5개월 간의 빡빡한 수업 일정을 거친 후에 2개월 동안 캡스톤 프로젝트를 수행합니다. 이 과정에서 캡스톤 기업은 총 11개 기업이 참가하였고, 팀 당 인원은 2명에서 4명까지 배정할 수 있습니다. 일부 기업은 전원 채용을 혜택으로 부여하기도 하고, 일부는 채용은 없지만 실제 진행 중인 사업의 성과를 증빙하기도 합니다.
수강생들은 캡스톤 기업을 선정할 때 많은 고민을 합니다. 저는 주로 프로젝트 내용, 기업, 혜택, 결과물에 대한 성과를 중점적으로 고려해서 선정했습니다. (물론 캡스톤 기업 배정은 성적순이기에 가고 싶다고 다 보내주는 것은 아닙니다.)

 

우리가 예측해야하는 black coal price

 

캡스톤 프로젝트를 선정하는 기준

이번 캡스톤 프로젝트에서 기업들이 관심 있던 주제는 NLP와 분류, 이미지 쪽이었습니다. 금융 관련 데이터를 분석하는 기업은 MNC(마인즈앤컴퍼니)가 거의 유일한 곳이었습니다. 캡스톤 프로젝트 주제만 본다면 '원자재 가격 예측'으로 시장을 고려하여 모델을 설계하고 예측하는 프로젝트로 유일하게 경제와 직접적인 연관이 있는 프로젝트였습니다. 그래서 더욱 하고 싶다는 생각을 했고, 우선순위로 지원했습니다. MNC라는 회사 자체도 경쟁력이 있다고 판단했습니다. 


회사도 중요하지만, 과제에서 얻을 수 있는 것도 중요했습니다. 유연탄 가격 예측은 작년 인공지능 챔피언십 2021 한국남부발전 과제에서 MNC가 우승을 차지한 프로젝트입니다. 15년 차의 원자재 트레이딩을 하시던 분, 예측모형을 설계한 박사 등 쟁쟁한 경쟁 후보 사이에서 우승했다는 것은 그만큼 능력을 갖추고 있다는 것이기에 배울 점이 많을 것이라고 생각했습니다. 하지만 그만큼 잘 만들어진 기존의 시스템을 개선시키는 것은 쉽지 않은 일입니다. 도전적이면서도 배울 점이 많은 프로젝트 '유연탄 가격 예측' 설레는 맘을 안고 캡스톤을 시작했습니다.

 

프로젝트 진행 방식과 현직자의 정기적인 피드백

저는 주로 데이터 구성, 결합, Feature engineering, EDA, 단변량 데이터 예측, Decomposition을 맡아서 진행했습니다. 그 과정에서 각자의 방식대로 코드를 짜게 됩니다. 초기에는 각자 코드를 짜면서 서로의 의도만 이해했는데 모델이 만들어지고, 합쳐질수록 서로의 코드를 이해하기 더욱 어려워졌습니다. 그래서 주기적인 회의를 통해서 코드를 모듈화하면서 서로의 코드를 공부하는 시간을 가졌습니다. (이렇게 코드 공유하면서 서로 맡은 부분을 이해하고 혼자서도 할 수 있게 하는 것이 실력 향상에 큰 도움이 됩니다.)

 

아무리 팀원들끼리 잘 맞고, 잘한다고 해도 저희끼리 진행했다면 대학교 팀 프로젝트와 다를 바 없었을 것입니다. 

하지만 MNC의 테크리더인 명대우 파트너님께서 주 1회 정기적인 피드백을 주셨기 때문에 좀 더 발전할 수 있었습니다. 파트너님은 약 15년 다른 현직에서 계시면서 Kaggle 대회를 일과 후에 진행하여 마스터까지 오른 분입니다. 초기에 피드백해 주실 땐 방향성만 간략히 제시해 주셨지만, 시간이 갈수록 물어보는 것마다 더 자세하게, 더 많이 알려주셨습니다. 저희의 방향성을 최대한 꺾지 않고, 의견을 존중하시면서 하고 싶은 방향이 있을 때 조언을 해주셨습니다. 열심히 하는 만큼 그에 맞는 피드백을 주시는 듯합니다. 어찌 되었건 우리 팀은 다른 캡스톤 팀이 프로젝트에 대해 받는 피드백에 비하면 정말 많은 혜택을 받고 있습니다. (능력 있는 현직자가 주는 정기적인 피드백은 혜택이다! 일부 팀은 정기적인 피드백도 없었고, 지원도 적었습니다.)

 

 

유연탄 가격 예측 과제란? 

 

현재 발전소에서는 친환경 정책에 따라 석탄 사용 비중을 줄이고, LNG 사용 비중을 늘리고 있습니다. 하지만 50%는 유연탄으로 발전되고 있을 만큼 여전히 중요한 위치입니다. LNG는 한국가스공사에서 독점 공급합니다. 유연탄은 경쟁 입찰로 가격을 통해 비용 절감이 가능합니다.

 

그래서 저희의 목표는 AI 원자재 가격 예측 모델을 통해 유연탄 구매비용을 절감하는 것입니다. 유연탄 구매는 경매방식으로 입찰을 통해 이루어집니다. 예상 가격이 있다면 입찰 시기를 선정하고 재고관리를 하는 것에 있어 강점이 될 수 있습니다. 그래서 예측 정확도가 높은 모델을 만들어 구매에 사용하며 비용 절감을 목표로 하고 있습니다.

 

그렇지만 앞에서 언급한 것처럼 불확실성이나 이벤트성 가격 변동은 사실 예측하기 어렵습니다. 모델로 극복하려면 뉴스 기사 실시간 업데이트를 하면서 동시에 기사를 정보화하여 모델에 적용하는 것이 필요합니다. 이것이 대응의 개념을 섞은 모델이라 볼 수 있습니다. 이 방법은 2개월 과정 동안 적용하는 것은 무리라고 판단하였습니다. 또한 유연탄 구매는 하루하루 매매를 하는 것이 아닌 수요예측을 통해 분기별, 연간 별 발주량을 선정한 뒤 이에 따라 월별 입찰을 실시합니다. 그렇기 때문에 주기가 짧은 이벤트는 모형에서 반영하지 않게 제외하여 이벤트로 간주할 것이고, 주기가 길다면 다소 늦더라고 모형에 반영하고자 했습니다.

 

시계열 예측 모델

시계열의 가장 큰 특징은 시점별 정보가 서로 종속성을 가지고 있다는 점입니다. $t$ 시점의 정보는 $t+1$ 과 $t+2$ 혹은 더 오랜 기간 영향을 미칩니다. 그렇기 때문에 한 시점 내에서 관계를 파악하는 상관관계가 상대적으로 덜 유의미할 수 있습니다. 그래서 TLCC를 통해 시점별 상관관계를 파악하기도 합니다. 저희는 상관관계와 TLCC, 그래프를 그려서 데이터를 확인했습니다. 육안으로 보는 그래프 방법은 사실 고전적인 방법이지만 효과적이기도 합니다. 종속변수와의 관계, 이벤트, 변동폭, 휴일 등 다양한 정보를 파악할 수 있습니다.

y인 Blackcoal price와 X중 하나인 Iron 가격 그래프

 

이후에 ARIMA, Prophet, 지수평활법, Var처럼 종속변수만을 사용하는 단변량 시계열 데이터 예측모형들을 먼저 사용해 보았습니다. 상대적으로 Prophet의 결과가 유의미했습니다. ARIMA와 Prophet에서 Decomposition을 통해 분해 시계열을 하는 방법이 있었습니다. 이 개념을 차용해서 분해 시계열을 모델에 적용하고자 했습니다. 

 

저희가 사용한 Boosting계열의 앙상블 모델의 경우에는 일반적으로 분류에 뛰어나다고 알려져 있습니다. 논문에 따르면 연구는 예상 결과에 따라 가격 예측과 가격 움직임(추세) 예측의 두 가지 주요 그룹으로 클러스터링 될 수 있습니다. 가격 예측은 본질적으로 회귀문제이지만 대부분의 금융 시계열 예측 프로그램에서 가격의 올바른 가격 예측은 방향 움직임(Trend)을 올바르게 식별하는 것만큼 중요하게 인식되지는 않습니다. 

 

결과적으로 연구자들은 정확한 가격 예측보다 가격이 어떻게 변할지 예측하는 추세 예측을 더 중요한 연구 영역으로 간주합니다. 그런 의미에서 추세 예측은 분류 문제가 됩니다. 이에 따라 분류 문제에 뛰어난 Boosting모델을 기본으로 Trend 예측을 합니다. Trend 예측이 어느 정도 정확성을 가진 것을 확인하였고, Trend에 Decomposition에서 추출한 Seasonality 정보를 가미했습니다. 

 

다음 그림이 저희 모델의 전체적인 개념입니다.

 

 

 

과정은 다음과 같습니다. 먼저 X feature를 예측한 뒤에 seasonality를 더합니다.

 

 

그렇게 형성된 X feature를 y인 Blackcoal price 예측을 하는 것에 사용합니다. 예측된 y에 y seasonality를 더해서 최종 예측을 진행했습니다.

 

 

 

 

 

 

19년도 1분기 구매정보와 모델을 사용하여 구매한 시나리오를 비교해 보았습니다.

 

 

 

 

남부발전에서 나온 보고서를 바탕으로 19년도 1분기 기준으로 결과를 작성했습니다. 보고서는 유연탄 전체 평균 가격 혹은 최고가로 산정하여 작성되었습니다. 보고서 기준으로 비교해보았을 때 결론적으로 8.6% 구매 비용 절감 효과가 있다고 나타났습니다. 가지고 있는 데이터에는 유연탄 가격이 상승하는 기간이 많아 학습이 잘되었고, 결과가 좋았습니다. 가격 하락에 대해서는 다양한 기간을 검증해보지 못해 아쉬움이 남습니다.

캡스톤 프로젝트를 마무리하며 

 

빅데이터 핀테크 과정은 두근거림과 고통이 공존한 과정입니다. 빅데이터 핀테크 전문가를 만들기 위해 서울대 교수분들이 함께하였고, 노력해주셨습니다. 개인도 그만큼의 열정과 능력이 요구되었습니다. 때로는 버겁지만 해내는 수밖에 없습니다. 과정을 수료한 후 지금은 캡스톤 프로젝트를 통해서 MNC에 입사하여 인턴 생활을 하고 있습니다. 모든 산업이 그렇듯 Data 산업도 끊임없이 능력과 자기계발을 필요로 합니다. 그렇지만 기회가 많은 만큼 노력할 가치가 있습니다. 저 또한 노력을 멈출지 않을 것입니다. 관련해서 준비하는 분들, 일하고 계시는 분들 모두 지치지 않고 쭉 달릴 수 있길 바라겠습니다.