Andrew Ford 헌정 강의: 『Modeling the Environment』 Chapter 4 : Step Size에 대해 살짝 더 파고 들기


 

1. 기본 개념: “DT는 실제 세계 시간과 직접 대응되지 않는다”

Chapter 4에서 Andrew Ford가 거듭 강조하는 포인트는 바로 이것입니다.

DT(델타 t)는 현실에서 데이터를 수집하는 간격과 별개로, 수치적 오차를 최소화하기 위해서만 결정해야 한다.

예를 들어,

  • “분기별 데이터를 구했으니 DT=0.25년(3개월)으로 해야 한다.”
  • “배출량이 10년 주기로 발표되니 DT=10년이면 되겠다.”

라는 접근은 잘못된 것이다, 라고 저자는 말합니다. 오히려 시스템의 실제 변화모델 정확도가 목표 수준에 도달했는지 등에 따라 DT를 결정해야 한다는 것이죠.


2. Andrew Ford가 제시하는 스텝 크기 결정의 핵심: “반으로 줄여 보기”

책에서 소개하는 핵심 방법은 간단합니다:

  1. DT를 일단 설정하고(예: 1년) 시뮬레이션을 돌린다.
  2. DT를 절반으로 줄여(예: 0.5년) 다시 시뮬레이션을 돌린 뒤 결과 비교.
  3. 큰 차이가 없다면, 이미 충분히 정확한 것일 가능성이 높다.
  4. 만약 차이가 크면 다시 절반(0.25년)으로 줄여본다.

이렇게 DT를 단계적으로 줄여 나가며 시뮬레이션 결과가 수렴하는 지점을 찾는 방식은 step-halving 법칙(halving method)이라고 할 수 있습니다. 실제로 많은 SD 전문가들이 이 방식을 “수렴 테스트”로 씁니다.


3. “빠른 변화 = 작은 DT, 느린 변화 = 큰 DT”… 정말 항상 그럴까?

책에서 흔히 “시스템 변화가 급격하면 더 작은 DT가 필요하고, 느린 변화라면 큰 DT로도 괜찮다”는 말을 듣습니다.
물론 기본 원칙으로는 맞습니다만, 이 문장을 액면 그대로 받아들이면 몇 가지 반론적·예외적 상황을 놓칠 수 있습니다.

(1) 빠른 것 같아도 ‘변화율(기울기)’가 일정하면 큰 DT도 무방

예시 A: 자율주행차 센서

  • 센서에서 0.1초 간격으로 데이터가 들어온다고 해서 반드시 DT=0.1초로 시뮬레이션해야 할까요?
  • 실제 궤적이나 회전각이 “상대적으로 선형적으로” 변한다면, 0.2초나 0.5초 단위로도 충분히 근사 가능할 수 있습니다.
    • 더 작은 DT로 가면 오히려 계산량만 늘어날 뿐.

예시 B: 속도가 일정한 운동

  • 물체가 일정 속도로만 움직인다면, DT가 크든 작든 결과 오차가 거의 없죠.
    • “빠르게 움직인다”는 것 자체가 문제가 아니라, 가속도(변화율)의 급격함이 핵심이 됩니다.

(2) 느린 것 같아도 ‘중간 단계’가 중요하면 작은 DT가 필요

예시 A: 대기 중 CO₂ 모델

  • 흔히 10년 단위 데이터로 추세를 본다고 해서, DT=10년으로 시뮬레이션할 경우 중간의 세밀 변화를 놓칠 수 있습니다.
  • 만약 특정 연도(또는 2~3년 단위)의 정책 효과나 교란 이벤트를 보고 싶다면, 10년은 너무 큼. 1년 혹은 0.25년으로 더 작게 쪼개야 중간 과정을 해석할 수 있습니다.

예시 B: 장기 생태계 변화 중 단기 이벤트

  • 숲이 100년에 걸쳐 바뀌더라도, 중간에 대형 산불이 발생하면 그 해(혹은 그 달)에 큰 변화가 생기죠.
  • 이 사건을 제대로 시뮬레이션하려면 해당 구간에서는 더 작은 DT가 필요할 수 있습니다.

4. 그렇다면 답은? “반으로 줄여 보면서 결정하자”

결국,

  1. 모델 목표(어느 정도 세밀하게 중간 과정을 파악해야 하는지),
  2. 실제 변화양상(선형·비선형),
  3. 계산량(컴퓨터 성능),
  4. step-halving 결과(얼마나 차이가 줄어드는지)
    등을 종합적으로 판단해야 합니다.

책에서도 “Final Suggestion” 파트에서 “DT는 절대 실제 관측 주기를 따른 게 아니라, 정확도와 계산 효율을 고려해 달라”고 거듭 강조합니다.


5. 마무리: DT 설정의 요점

이 장(Chapter 4)에서 가장 중요한 메시지는 결국 두 가지입니다.

  1. DT는 수치적 정확도 때문에 결정하는 것이지, 실세계의 ‘데이터 간격’ 때문이 아니다.
  2. “줄여 보고, 결과가 별 차이 없으면 OK” → 시스템다이내믹스에서 가장 실용적이고 확실한 방법.

이런 아이디어들이 왜 중요할까?

  • 실제 모델링 현장에서는, “분기별 데이터 있으니 DT=3개월”처럼 단순 대응시키는 실수를 종종 봅니다.
  • 혹은 “우리 문제는 천천히 변하니까 5년 간격으로 뚝뚝 계산하면 되겠지?”라고 했다가, 중간 과정을 전혀 모사 못해 결과가 잘못되는 경우도 생깁니다.
  • 반대로 지나치게 미세한 DT를 쓰면, 컴퓨터 연산은 엄청 늘어나는데 실제 결과가 크게 달라지지 않는 낭비일 수 있지요.

이런 문제들을 피하려면, Andrew Ford의 조언대로,

시스템의 변화 패턴모델의 목적, 그리고 step을 줄여 나가며 오차를 확인하는 프로세스” 를 따르는 것이 좋습니다.

댓글

이 블로그의 인기 게시물

경연제도와 시스템사고: 세종대왕의 조세제도 개혁에서 배우는 구조적 경청의 리더십

무기력을 이기는 시스템사고 (1) — 태도와 전략 사이에서

Fishery Game과 내쉬 균형