Mathematical modeling — 수학적 모델링

From Systems analysis Wiki
Jump to navigation Jump to search

수학적 모델링이란 실제 객체, 과정 또는 현상을 수학적 모델로 대체하여 수학적 방법을 사용해 시스템의 동작을 분석할 수 있도록 하는 연구 방법이다.

수학적 모델링의 본질

수학적 모델링에는 다음이 포함된다:

  • 연구 대상의 본질적인 특성을 형식화하는 것;
  • 매개변수 간의 관계를 표현하는 수학적 모델을 구축하는 것;
  • 해석적, 수치적 또는 시뮬레이션 방법으로 모델을 연구하는 것;
  • 실제 시스템에 적용하여 결과를 해석하는 것.

모델은 항상 현실의 단순화이며, 연구 또는 설계의 목표에 중요한 측면만을 의도적으로 반영한다.

수학적 모델링의 목적

수학적 모델은 다음을 위해 개발된다:

  • 시스템의 구조, 특성 및 기능을 기술하기 위해;
  • 패턴을 발견함으로써 관찰된 현상을 설명하기 위해;
  • 주어진 입력에 대한 시스템의 미래 동작을 예측하기 위해;
  • 프로세스 및 제어 시스템을 최적화하기 위해;
  • 현실에서 불가능하거나 바람직하지 않은 가상 실험을 수행하기 위해.

수학적 모델의 분류

  • 기술 방식에 따라: 결정론적 모델과 확률론적(stochastic) 모델.
  • 시간의 특성에 따라: 정적 모델과 동적 모델.
  • 변수의 특성에 따라: 이산 모델과 연속 모델.
  • 세부화 정도에 따라: 거시적(macroscopic), 미시적(microscopic), 중간 규모(mesoscopic) 모델.
  • 사용 수단에 따라: 해석적, 수치적, 시뮬레이션 모델.
  • 목적에 따라: 기술적, 예측적, 최적화, 시뮬레이션 모델.
  • 구조에 따라: 선형 모델과 비선형 모델.
  • 구축 접근 방식에 따라: 현상론적(경험적) 모델과 기계론적(이론적) 모델.

수학적 모델링의 단계

일반적으로 수학적 모델링의 단계는 다음과 같다:

  1. 문제 설정:
    • 모델링 목표 정의 (무엇을 알고 싶거나 달성하고자 하는가?).
    • 객체 또는 프로세스와 그 경계에 대한 기술.
    • 고려해야 할 핵심 요인과 특성 선별.
  2. 모델 구축(또는 선택):
    • 형식화: 객체와 관계에 대한 기술을 수학 언어(방정식, 함수, 논리 규칙, 알고리즘 등)로 변환.
    • 핵심 요소를 부각하기 위한 가정과 단순화 도입.
    • 모델 매개변수와 그 관계 정의.
  3. 모델 연구:
    • 수학적 문제 풀기 (해석적, 수치적, 시뮬레이션 방식으로).
    • 다양한 조건에서 모델의 동작을 연구하기 위한 수치 실험 수행.
  4. 모델의 적절성 검증(Validation):
    • 실제 데이터(실험적, 관측적 데이터) 또는 알려진 사실과 모델링 결과 비교.
    • 모델이 설정된 목표에 맞게 현실을 얼마나 잘 반영하는지 평가.
  5. 결과 해석 및 적용:
    • 얻어진 모델링 데이터 분석.
    • 결과를 원래 문제의 언어로 변환.
    • 결론과 예측을 도출하고, 모델을 기반으로 권고안을 작성하거나 의사결정 수행.

이 과정은 종종 반복적이다. 검증 또는 해석에서 만족스럽지 않은 결과가 나오면 이전 단계(문제 설정의 정밀화, 가정의 변경, 모델 수정)로 돌아가야 할 수 있다.

원칙적 접근법

Clive Dym의 연구(Principles of Mathematical Modeling)에 기반한 원칙적 접근법은 모델링을 핵심 질문에 대한 순차적인 답변으로 바라볼 것을 제안한다:

  • Why? (왜?): 모델의 필요성은 무엇인가? 모델링의 목적과 모델이 해결해야 할 문제를 명확히 정의해야 한다.
  • Find? (찾을 것?): 우리가 알고 싶은 것은 무엇인가? 모델이 목표 달성을 위해 제공해야 하는 구체적인 출력, 특성 또는 정보는 무엇인가?
  • Given? (주어진 것?): 우리가 알고 있는 것은 무엇인가? 시스템에 대해 이미 보유하고 있는 정보, 데이터(실험적, 통계적), 지식 및 사용 가능한 자원은 무엇인가?
  • Assume? (가정?): 어떤 가정을 하는가? 단순화, 이상화, 시스템 동작에 대한 가설 및 모델 적용 범위 정의. 이 단계는 모델의 적절성을 결정하므로 매우 중요하다.
  • How? (어떻게?): 시스템은 어떻게 작동하는가? 모델링 대상의 동작을 지배하는 주요 법칙(물리적, 화학적, 생물학적, 경제적 등), 메커니즘 및 상호 관계 파악.
  • Predict? (예측?): 모델은 무엇을 예측하는가? 모델의 핵심을 구성하는 수학적 방정식, 부등식, 논리적 규칙 또는 알고리즘을 공식화하고 수행할 계산을 정의.
  • Valid? (유효성?): 모델의 예측은 현실과 얼마나 일치하는가? 모델이 설정된 목표에 적절한지 확인하기 위해 모델링 결과를 실제 데이터 또는 알려진 사실과 비교.
  • Verified? (유용성/검증?): 모델이 최초 목표(Why?)를 달성하는 데 유용한가? 얻어진 결과와 모델의 정확도가 최초 필요를 충족하는가? (이 단계에서 수학적 계산과 프로그램 구현의 정확성을 확인하는 Verification도 수행될 수 있다).
  • Improve? (개선?): 모델을 개선할 수 있고, 개선해야 하는가? 정밀화가 필요한 매개변수, 완화할 수 있는 가정, 또는 더 높은 정확도나 광범위한 적용을 위해 추가해야 할 고려되지 않은 측면 식별.
  • Use? (활용?): 결과를 어떻게 적용하는가? 의사결정, 새로운 지식 획득, 예측, 최적화 또는 시스템 제어를 위한 모델 예측 및 결론 해석.

수학적 모델링의 순방향 및 역방향 문제

전통적으로 수학적 모델과 관련된 두 가지 주요 문제 유형이 구별된다:

  • 순방향 문제는 객체의 동작에 관한 정보를 얻기 위해 사전에 정해진 구조와 알려진 매개변수를 가진 모델을 연구하는 것이다.
  • 역방향 문제는 기존의 실험적 또는 경험적 데이터를 기반으로 특정 모델을 선택하거나 그 매개변수를 결정하는 것이다.

순방향 문제

순방향 문제의 목표는 시스템의 알려진 특성을 바탕으로 외부 입력에 대한 반응이나 다양한 조건에서의 특성을 답하는 것이다. 순방향 문제 목표의 주요 측면:

  • 알려진 구조와 매개변수를 가진 주어진 수학적 모델을 기반으로 객체의 동작 연구.
  • 시스템의 정량적 또는 정성적 특성 획득: 예를 들어 응력, 온도장, 하중에 대한 동적 반응 등 결정.
  • 다양한 외부 입력(하중, 환경 조건 변화, 제어 작용)에서 객체 상태 예측.
  • 시스템의 안정성과 신뢰성 분석, 한계 작동 모드 결정.
  • 모델에 기반하여 공식화된 객체 동작에 관한 가설 검증.
  • 제어 입력에 대한 모델 반응 계산을 통한 제어 프로세스 최적화.
  • 초기 조건과 모델 매개변수 변화에 대한 해의 민감도 평가.

역방향 문제

역방향 문제의 목표는 실제 시스템의 동작에 관한 기존 데이터를 기반으로 모델의 구조나 매개변수를 결정하는 것이다.

역방향 문제 목표의 주요 측면:

  • 모델의 미지 매개변수 찾기 (예: 탄성 계수, 열전도율, 저항 계수 등).
  • 관측된 출력 데이터를 기반으로 프로세스의 숨겨진 구조 파악.
  • 동작이 실험적 또는 경험적 데이터와 일치하도록 수학적 모델 구축 또는 수정.
  • 관측 및 실험 데이터 처리 및 해석을 위한 적절한 방법 개발.

Verification과 Validation

수학적 모델을 구축하고 프로그램 또는 알고리즘 구현을 얻은 후, 그 정확성과 적용 가능성을 평가하는 것이 매우 중요한 단계이다. 이를 위해 상호 연관되어 있지만 서로 다른 두 가지 프로세스인 Verification(검증)과 Validation(유효성 검사)이 사용된다.

  • Verification(검증):
    • 질문: 모델을 올바르게 구현(구축)하고 있는가?
    • 의미: 모델의 프로그램 구현 또는 수치 알고리즘이 수학적 공식 및 개념적 기술과 정확히 일치하는지 확인. 즉, Verification은 방정식이 올바르게 풀리고 알고리즘이 내재된 논리에 따라 오류 없이 작동하는지 확인한다.
    • 방법: 코드 분석 및 검토, 알려진 해석 해(존재하는 경우)를 이용한 테스트, 검증된 다른 프로그램의 결과와 비교, 알고리즘의 수치 안정성 및 수렴성 확인.
  • Validation(유효성 검사):
    • 질문: 올바른 모델을 구축했는가?
    • 의미: 모델이 기술하고자 하는 실제 객체, 프로세스 또는 현상과 모델링 목적에 맞게 얼마나 일치하는지 결정. Validation은 모델이 우리가 관심 있는 현실의 측면을 얼마나 잘 반영하는지 답한다.
    • 방법: 모델링 결과를 실험 데이터, 실제 시스템 관측 데이터, 통계 데이터, 알려진 사실, 또는 이미 검증된 다른 모델의 결과와 비교. 매개변수 변화에 대한 모델의 민감도 평가.

핵심 차이:

  • Verification은 모델의 구현모델의 명세(수학적 기술)와 비교한다.
  • Validation은 모델(전체)현실과 비교한다.

수학적으로 올바르지만 실제 프로세스에 부적절한 모델(Verified되었지만 Validated되지 않은)이 있을 수 있고, 적절하게 설계되었지만 오류 있게 구현된 모델(Verified되지 않은)이 있을 수 있다.

Verification과 Validation 프로세스는 수학적 모델링 과정의 필수적인 부분이다. 이 프로세스들은 모델링 결과에 대한 신뢰를 보장하고 모델의 적용 범위를 평가할 수 있게 해준다. 이 과정 없이는 예측, 최적화 또는 의사결정을 위해 모델을 사용하는 것이 부적절할 수 있다.

한계와 가정

모든 수학적 모델은 추상화, 즉 연구되는 현실의 의도적인 단순화이다. 모델은 여러 가정에 기반하며, 모든 지도와 마찬가지로 영토 그 자체가 아닌 특정 목적을 위한 기술일 뿐이다. 이로 인해 다음과 같은 한계가 생긴다:

  1. 불완전성: 모델은 (연구 목적과 설정된 가정의 관점에서) 본질적인 요인과 관계만 고려하며, 분석을 단순화하기 위해 다른 세부 사항들은 의도적으로 무시한다.
  2. 가정에 대한 의존성: 모델의 정확성, 정밀도 및 적용 범위는 설정된 가정의 타당성에 직접적으로 의존한다. 잘못되거나 위반된 가정은 부정확하거나 잘못된 결과로 이어진다.
  3. 제한된 적용 범위: 모델은 특정 조건(가정에 부합하는)에서, 그리고 모델이 개발되고 검증된 특정 유형의 문제를 해결하는 데만 현실을 적절하게 기술한다. 이 범위를 벗어난 외삽은 적절하지 않다.
  4. 오차: 단순화로 인해 모델링 결과는 항상 실제 객체의 동작과 비교하여 어느 정도의 오차를 가진다.
  5. Validation의 필요성: 모델은 단순화이므로, 그 적절성은 항상 실제(실험적 또는 관측된) 데이터를 기반으로 한 검증(Validation)을 필요로 한다.
  6. 민감도: 모델링 결과는 입력 데이터, 모델 매개변수 및 설정된 가정의 변화에 민감할 수 있으며, 이는 종종 민감도 분석 수행을 요구한다.

적용 예시

  • 물리학에서: 열전도, 유체역학, 전자기 프로세스 모델링.
  • 공학에서: 구조물의 강도 계산, 기술 공정 최적화.
  • 생물학에서: 개체군 동태 및 질병 확산 모델링.
  • 경제학에서: 거시경제 모델 및 최적 제어 모델 구축.
  • 사회학에서: 이주 과정 및 사회 역학 모델링.

참고문헌

  • 수학적 모델링 입문 / P.V. Trusov 편. — 모스크바: Universitetskaya Kniga, Logos, 2007.
  • 수학적 모델링. 아이디어. 방법. 예시. Moiseev N.N. — 모스크바: Nauka, 1981.
  • 수학적 모델링. Galanin M.P., Galanina E.M., Sergeev A.V., Shalaeva A.K. — 모스크바: LKI, 2022.
  • Principles of Mathematical Modeling Dym, C.L. (2004)

관련 개념

  • 수학적 모델
  • 시스템 모델
  • 모델링 프로세스
  • 시스템 모델의 형식화
  • 모델링
  • 운용 연구