개발자로 후회없는 삶 살기

[22.08.06]데이터 청년 캠퍼스 PART.project 7, 8, 9일차(주제 선정, 교수님 자문, 실무의 데이터 분석) 본문

[대외활동]/[데이터 청년 캠퍼스]

[22.08.06]데이터 청년 캠퍼스 PART.project 7, 8, 9일차(주제 선정, 교수님 자문, 실무의 데이터 분석)

몽이장쥰 2022. 12. 15. 19:36

서론

기업 방문 후 맨 땅에 헤딩하는 마음으로 이것저것 다 해보기!

 

 

본론

7일차

 

- 합의 : 데이터 분석을 할 것인가 vs 기업이 원하는 것을 할 것인가


-> 데이터 분석을 하면 : 기업이 원하는 것을 못 할 수 도 있습니다. 왜냐하면, 팀원분의 자대 담당 교수님께서 기업(다산이엔지)은 산업 공학 전공 대학원 지식 (시뮬레이션, 스케쥴링) 수준을 요구한다고 하셨기 때문입니다.

 

-> 기업이 원하는 것을 하면 : 데이터 분석을 못 할 수 도 있습니다. 우리가 모인 이유가 데이터 청년 캠퍼스라는 공동체로 모인 것인데 실제 데이터로 데이터 분석을 해볼 경험이 없어질 수 도 있습니다.

 

∴ 최악의 경우를 생각해야 합니다. 항상 주제를 확립할 때 모든 게 다 안 됐을 경우 어떻게 할지를 정해야 합니다.

 

> "근데 설비별로 어떠한 공정을 진행했을 때 무슨 설비가 가장 리드타임이 짧을까?"에 대해서 리드 타임 예측을 상무님이 방향을 제시하셔서 합의를 보고 있다고 하셨습니다.

 

※ 목표의 통일화

역시 이 프로젝트에서도 프로젝트 목표를 통일화하고 매일매일 리뷰를 하는 것의 중요성을 느꼈습니다. 왜냐하면 조장님 : "10일 차에 군집화는 잘 돼가요?"라고 하신 것으로 봐서 군집화도 SUB로 따로 하시는 줄 아셨나 봅니다. 군집화는 팀원 분의 반박으로 안 하기로 한 상태였습니다.

 

> 항상 팀프로젝트를 하다 보면 모두의 생각이 같은 것 같다가도 나중에 보면 다른 경우가 굉장히 많습니다. 이를 통일화하고 구체화하는 것을 정확히 해야 나중에 난처한 상황에 빠지지 않습니다.

 

9일 차 

기업 방문한 내용을 가지고 조장님의 자대 교수님께 자문을 구하기 위해 데이터 EDA를 해서 방문했습니다. 아래는 자문 녹음 내용입니다.

 

1. 주제에 맞게 통합 데이터 셋을 먼저 만들어야 합니다. (하지만 우리는 주제를 잡기 어렵습니다.)

2. 교수님 께서도 6월 한 달 치 데이터만 보고는 알 수 있는 게 없다고 하십니다.

3. ★ 주제를 찾기 어려울 때는 formulation을 먼저 하라 즉, 분석의 최종 goal을 수식으로 써봐라 ★

 

ex) 품목이 있고, 공정이 있고 라우트가 있는데, 특정 함수로 리드타임이 나옵니다.


교수님 : "입력으로 품목, 공정, 라우트를 넣으면 리드타임이 나오는 거 아니야?"

 

즉, i번째 입력의 리드타임을 구하는 게 위 3개를 입력으로 넣은 함수라고 가정하고 우리가 원하는 목적(출력)은 리드타임이니 리드타임 최적화가 가능하겠습니다.

 

4. 리드타임 최적화

리드타임 최소화를 주제로 잡고 싶으면 확인해 봐야 할게 품목, 공정, 라우트가 입력으로 결정 됐을 때 어떤 분포로 리드타임이 나오는지 확인을 해봐야 합니다. (교수님 께서 이게 가장 궁금하시다고 했습니다. 먼저 결과물을 보고 리드타임 예측을 목표로 잡아도 될지 고민하라는 말씀이십니다.)

 

예측 리드타임이 실제와 같으면 같을수록 좋은 거고 이를 통해 모델링을 할 것입니다, 근데 예측을 해도 오차가 엄청 심할 겁니다. 그러면 그 오차도 특정 분포를 따를 것입니다. 그러면 리드 타임이 불확실하다는 얘기는 그만큼 재공을 더 넣어줘야 한다는 말이 되고 이를 위해 스캐쥴 조정을 해야 한다는 것입니다.

 

5. 최적화 시작

교수님께서는 평균 리드 타임이 없으신 줄 아셨습니다, 단순 리드타임을 예측하는 쉬운 문제인 줄 아셨는데 평균 리드 타임은 미리 줬습니다. 그러면 이 문제는 단순 분석이 아닙니다.

 

-> 단순 분석이 아니라면?

평균 리드 타임을 안 줬으면 독립변수를 잘 계산해서 예측으로 풀면 되는데 이 문제는 의도가 공정에서 일어나는 일들이 이러한 sequnce를 가지고 있고 이러한 input을 가지고 있고 이러한 네트워크를 가져야 한 제품이 나오는 것입니다. 그러한 제품이 나오기 위해서 분석을 해보니 어디가 병목이고 병목을 해결하는 방법은 물류, 물량을 느릴 거나 설비를 늘리거나 둘 중 하나인데 그 두 개를 어떻게 할 것이냐의 ★ 의사결정 문제 ★ 로 푸는 게 일반적입니다.

 

6. 의사 결정 문제의 최적화 방법

1) 배치 최적화 : 너무 어렵습니다.
2) 병목 최적화 : 어떤 공정에서 병목이 생기고 처리 능력이 평균적으로 얼마가 되는지, 그러면 우리가 이것을 재배치한다고 했을 때 과거의 데이터를 쭉 봤을 때 우리가 어떤 식으로 배치하면 좋을 지의 아이디어가 생긴 것입니다.(의사결정 문제)

 

3) 리드타임 불확실성 해결 : 기업 수준입니다.(위 2개는 대학원 수준이라고 하십니다.)

 

※ "위 방법들은 너무 산업공학적인 내용 아닌가"라고 생각할 수 있는데 산업공학 기술을 사용하기 전에 생산성 향상을 목표로 한 가공 데이터의 분석을 한다면 다양한 관점에서 문제를 분석했다는 점과 우리에게 주어진 비즈니스 문제를 해결했다는 점에서 배움의 가치가 있습니다.

 

 

 

- 현실적인 수준

교수님께서 위의 3가지 방법을 말씀해 주셨지만 기업 혹은 대학원의 산업공학 지식이 필요한 수준이라고 하셨습니다. 따라서 현실적인 수준을 고민해 보았습니다.

 


1. 현재 있는 데이터로 프로세스 마이닝을 돌려서 sequence를 분석하거나 Apriori로 sequence분석을 하라 그러면 공정을 분석을 해보니 어떠한 식으로 이루어지더라는 것을 알 수 있습니다.

 

① "특정 제품이 인풋으로 들어왔을 때 우리가 어떤 식으로 대응을 해야 한다"를 정리할 수 있습니다.

 

② Apriori을 돌리면 "어떠한 공정을 선행으로 할 때 이후 공정을 처리하는 경우는 어떠할 확률이 굉장히 높고 그 룰에 의해서 나올 평균 소요 시간은 A 제품은 평균 이만큼 되고, B 제품은 평균 이만큼 된다"라는 재밌는 사실이 나올 수 있습니다.

 

2. 리드타임 예측 회귀 분석을 하라 -> 근데 이걸 Apriori를 돌려보면 sequence 한 선후 관계가 나올 거니 선후 관계에 따른 리드타임과 회귀 분석의 해석을 붙여라!

 

 

- 결론

1. 기업에서 모은 데이터를 시각화해주고 어떤 특성이 있는지 분석만 해줘도 좋아할 것입니다. 의뢰 기업들은 자신들의 데이터를 모으기만 했지 살펴본 적도 없고 살펴볼 기술도 없습니다. (데이터 EDA + 현황 분석)

1-1. EDA로 자연스럽게 새로운 제품에 니즈가 생겼을 때 리드타임을 예측하라.

2. Apriori, sequence 마이닝을 하여 선후관계를 파악하고 이 사실을 리포트로 기업에 보여줘라. (알고리즘을 활용한 문제점 분석)

 

1+2. 위의 3가지를 통해서 리드타임에 대한 풍부한 해설 + EDA 결과를 시각화, 리포트로 결과를 보여라(풍부한 해설이 들어가려면 sequence 마이닝 같은 알고리즘 활용이 필요하다.)

 

3. 최적화는 이렇게 할 수 있다. 정도의 스토리로 보이자(구체적인 해결방법을 찾는 게 어려운 문제[기업, 대학원 수준]라면 스토리 정도로만 제시할 수밖에 없다.)

 

 

 

- 자문이 끝나고 교수님께서 말씀하신 데이터 분석가, AI 엔지니어의 역할이란?

1~10000가지 문제가 있으면 데이터로 표현해 줄 수 있는 범위를 찾는 것도 되게 중요한 분석다. AI가 모든 문제를 해결해 주겠다는 것은 완전 거짓말이고 10000가지 문제 중에서 사람 손 없이 적어도 몇 개의 일반적으로 일어나는 문제들에 대해 지식을 전달하고(!!!) 그걸 엔지니어들(코드를 고치거나 물리적으로 고치는 사람들)이 확인할 수 있게만 만들 수 있다면 성공한 데이터 분석이다.

 

 

 

- 교수님이 말씀하신 데이터 분석의 체계

1) 현재 데이터의 패턴과 특성을 시각화로 보여주고, 기업의 문제와 매칭시킨다. (데이터 EDA + 현황 분석)

 

2) 종속변수에 대한 풍부한 해설을 하려면 위의 (sequence 마이닝) 같은 전문 알고리즘을 써야 할 필요가 있다. 이것으로 스토리텔링이 가능하고 메시지 전달에 신빙성과 그럴 듯 함이 생긴다. 간단한 분석이면 EDA로도 충분하지만 알고리즘을 사용한 분석은 격이 다르다.(알고리즘을 활용한 문제점 분석)

 

3) EDA는 자연스럽게 분류나 예측을 하여 예측 리포팅에 쓴다.

 

4) 풍부한 해설 + EDA 결과를 시각화, 예측을 리포트로 결과를 보여라(풍부한 해설이 들어가려면 SEQ 마이닝 같은 알고리즘이 필요하다.)

 

-> 여기까지 하면 데이터 EDA, 현황분석, 문제점 분석이 끝난다. 마무리로

5) 해결책을 제시한다.

 

 

 

Comments