당니의 개발자 스토리
7/25(금) 회고 본문
공급망 관리(SCM, Supply Chain Management)
고객이 원하는 제품을 합리적인 가격으로 정확한 상점에서 정확한 수량과 시간에 맞추는 노력이 공급망 관리 라고 해요.
기억에 남았던 것은 최근에 '물류 4.0' 이라는 개념이 나왔대요.
물류랑 4차 산업혁명 기술을 합친 말인데, 이제까지는 일반적으로 트럭 기사님이 직접 배송지 입력하고 창고를 관리하는 사람도 수기로 재고를 체크하는데
앞으로 올 물류 4.0 시대에는 생성형 AI가 수요를 예측해서 재고를 자동으로 관리하고,
로봇이 상품을 꺼내고 포장해주고 드론이나 자율주행차가 배송까지 한다고 해요.
찾아보니까 실제로 Amazon이나 월마트 같은 기업에서는 이미 드론 배송까지 도입되고 있대요.
그리고 공급망은 어떤 요소로 이루어져 있는가 에서는
효율성과 대응성이 있는데, 효율성과 대응성이 뭔 상관이 있는지 잘 이해가 안갔는데
예를 들어서, 젊은 사람들이 스마트폰 뱅킹이 늘어나면서 은행 업체들이 줄어들고 있는데 어르신 분들은 폰 뱅킹이 익숙하지 않으니까 직접 은행지점을 방문 하려고 하잖아요.
그런데 은행 지점이 많이 없다보니 기업 입장에서는 지점을 많이 없앴으니까 효율성이 늘어났지만
고객 입장에서는 고객의 요구사항을 적절하게 대응 하지 못하기 때문에 대응성이 떨어진다고 볼 수 있어요.
그래서 공급망 전략에서는 이 둘을 절충 시키는 게 중요하다고 했어요
그 다음에 이제 수요 예측 기법에 대해서 배우고 실습을 했는데요
공급망 관리에서 가장 중요한 것은 정보이고, 정보에서 가장 중요한 건 수요 예측 이라고 해요.
수요 예측 기법에는 전통적인 통계 기반 기법도 있고, 요즘 주목을 받고 있는 인공지능 기법이 있어서 다양하게 공부했습니다.
ERP는 하나의 통합된 시스템 안에서 모든 부서가 같은 정보를 공유하도록 해주는데 실패한 사례가 Target Canada
이제 수요 예측에 본격적으로 들어가면서 회귀 분석이 나왔는데요
독립 변수는 종속 변수에 영향을 미친다고 가정 하는 요인들 이고,
종속 변수는 예측하고자 하는 값인데 이걸 선형 함수로 표현해서
x가 y에 어떤 영향을 미치는지 함수로 설명하고 싶은거라고 합니다.
그럼 1차 선형함수의 경우에 예측에 쓰이는 직선은 실제 데이터와 굉장히 가까이 있어야 되는데,
얼마나 가까이 있는가를 평가하는, 그것이 바로 오차 또는 잔차라고 함. 그래서 직선식이 실제 데이터를 잘 설명 한다는 것은 오차의 제곱합을 최소화 하는 것.
그냥 오차를 더하면 양수와 음수가 상쇄 될 수 있기 때문에 제곱을 해서 합해야 한다고 해요.
시계열 분석은 회귀분석과 달리 독립변수를 사용하지 않고, 과거 데이터 중 종속변수만을 고려하여 종속변수의 패턴을
분석하고 이를 바탕으로 미래의 값을 예측하는 통계적 기법이라고 하는데
이 시계열 분석 안에서도 다양한 방법이 있거든요.
보통 추세와 계절성을 잘 반영해서 예측할 수 있냐 없냐로 구분해서 생각하면 좋은 것 같아요.
여기에서 중요한 건 ARIMA랑 머신러닝 모델이랑 하이브리드 모델인데
아리마는
- 과거 데이터가 현재에 영향을 준다 → AR
- 데이터에 추세(증가·감소 경향)가 있다 → I
- 잡음(오차)이 일정하지 않다 → MA
ARIMA는 이 세 가지를 동시에 고려해서 예측한다고 합니다.
그다음 머신러닝 모델은 시계열 데이터 예측 머신러닝 모델 Prophet 이 있는데
얘를 쓸려면 학습을 위해 충분한 데이터 양(1년치 이상)이 있어야 한다고 합니다.
그리고 하이브리드 모델은 전통적 기법의 예측과 인공지능 모델을 혼합 해서 사용하는 모델인데요
교수님께서 수요예측에 강추하는 모델이라고 하셨어요. 그 이유가 추세와 계절성을 반영할 수 있기 떄문이라고 합니다.
그래서 프로모션 등의 이벤트 같은 상황에서도 예측력이 높아서 기업의 의사결정에도 도움이 된다고 합니다.
수요예측 경진대회를 나가면 하이브리드 모델을 사용하라고 하셨어요.
그 다음부터는 실습을 쭉 진행했는데 솔직히 이 부분은 모델들 간의 성능을 비교하고 시각적으로 그래프를 그리니까 너무 재밌었어요.
그래서 처음 모델 학습 실습한다도 하니까 너무 겁먹었었는데 생각보다 재밌다 생각이 들었습니다.
모델 학습에서 나오는 오적합, 과소적합, 과대적합에 대해서도 다루었는데
오적합은 데이터의 구조를 잘못 이해해서 모델을 엉뚱하게 적용하는 거고
과소적합은 모델이 너무 단순해서 데이터의 패턴을 못 따라간다고 합니다.
예를 들면 날씨에 따라 아이스크림 판매가 늘어나는 데이터인데, 그냥 항상 평균만 예측하는 모델을 쓰는 경우예요
그리고 과대적합은 모델이 너무 복잡해서 훈련 데이터에 지나치게 맞춰버리는 것인데,
머신러닝 모델이 훈련 데이터의 '노이즈(잡음)'까지 외워버려서 훈련 데이터는 엄청 잘 맞추지만 실제 예측에서 매우 약하대요,
모델의 일반화 가능성이 떨어지는 거죠.
그리고 여기서 또 얘기가 나온게 딥러닝이 항상 좋은 거는 아니라 했어요
하이퍼파라미터(hyperparameter)는 모델을 학습하기 전에 사람이 직접 정해주는 값인데
하이퍼파라미터 튜닝 없이는 오히려 단순한 회귀 분석보다 성능이 낮을 수도 있다는걸 실습에서 확인했어요.
그리고 결정계수(R-squared)도 봤는데 결정계수는 모델이 얼마나 잘 설명하는지, 즉 설명력을 나타내는 지표
그래서 1에 가까울수록 예측이 잘 맞다고 합니다. 보통 70퍼가 넘으면 아주 좋대요
그 다음인 인과추론인데요
여기서 느낀 점은 머신러닝 모델이 학습한 상관관계가 실제로 인과관계와는 다를 수 있다는 거예요.
상관성과 인과성의 차이는
쉽게 말해서 연관관계가 있으면 상관성이고, 원인이 결과에 어떻게 기여 하는지는 인과성이에요
머신러닝은 전통적으로는 데이터에 있는 상관성을 다룬대요.
왜냐면 일반적인 머신러닝 모델을 통해 얻는 예측값은 단지 패턴을 학습한 것에 불과하고,
그 결과가 어떤 인과 구조에 의해 만들어졌는지는 전혀 설명하지 못한다고 합니다.
그래서 모델의 예측이 과연 '왜' 그런 결과를 냈는지를 질문하는 자세가 중요하다는 걸 배웠습니다.
엄청난 조건부 확률에 대한 식들이 마구 쏟아졌는데 이해하느라 혼났어요.
인과 추론에는 대표적으로 두 가지 프레임워크가 있다고 해요.
- Potential Outcome (PO) Framework
- Structural Causal Model (SCM)
이게 이번 파트 전부라서 간략하게 설명하면
Potential Outcome Framework는 "만약에 ~~했더라면?"을 다루는 이론이에요.
만약에 우리가 신약 A의 효과를 알고 싶어요.
- 어떤 환자가 A 약을 먹고 병이 나았다고 해요.
- 그런데 그 환자가 약을 안 먹었을 때는 어땠을까? 라고 하는게 PO예요.
→ 그런데 그건 관찰할 수 없어요. 이미 약을 먹었으니까. 그러한 문제가 Missing Data Problem 이라고 합니다.
그래서 어떻게 인과추론을 하냐면
약을 먹은 사람과 안 먹은 사람을 비슷한 조건으로 잘 맞춰서 비교하는 거예요.
나이나 성별 병력 같은 것들을요
그리고 SCM은 변수들 사이의 인과 관계를 방향 있는 그래프(DAG)로 표현하는 걸 말해요.
- X: 공부 시간
- Y: 시험 점수
X → Y 라고 표현할 수 있고,
수학 함수로 표현하면 Y = f(X,U) 라고 할 수 있는데
- f: 공부량이 시험 점수에 어떻게 영향을 주는지에 대한 함수
- U: 관찰되지 않은 노이즈(예: 컨디션, 운 등)
라고 합니다.
'LG Aimers' 카테고리의 다른 글
| LG AI연구원 7기 멘토링 데이 (0) | 2025.11.04 |
|---|