Skip to content

Bayesian inference toy problem code using Gaussian Process

wonjun-lab/bayesian-inference-using-GP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bayesian Inference using Gaussian Process

PyMC를 활용한 Bayesian Inference 및 Gaussian Process 서로게이트 모델링 예제

Windows 환경 기준으로 작성되었습니다.

목차

환경 설치

Prerequisites

  • Git (다운로드)
  • uv 설치:
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    또는 winget 사용:
    winget install --id=astral-sh.uv -e

설치

# 저장소 클론
git clone https://github.com/wonjun-lab/bayesian-inference-using-GP.git
cd bayesian-inference-using-GP

# Python 및 의존성 자동 설치
uv sync

# Jupyter Notebook 실행
uv run jupyter notebook

uv sync 명령어는 .python-version에 명시된 Python 버전을 자동으로 다운로드하고, 가상환경을 생성하며, 모든 패키지를 설치합니다. Python 및 관련 라이브러리를 한번에 설치하기 때문에, 간편하게 개발자와 동일한 환경을 만들 수 있습니다.

프로젝트 구조

bayesian-inference-using-GP/
├── examples/
│   └── pymc-gp-toy_model.ipynb    # GP 기반 Bayesian Calibration 예제
├── dataset/
│   ├── datacomp_hourly.csv        # 컴퓨터 시뮬레이션 데이터
│   ├── datacomp_monthly.csv
│   ├── datafield_hourly.csv       # 실제 관측 데이터
│   └── datafield_monthly.csv
├── pyproject.toml
├── uv.lock
└── README.md

예제

pymc-gp-toy_model.ipynb

Kennedy and O'Hagan (2001)의 Bayesian Model Calibration 방법론에서 Bias term을 제외하여 Gaussian Process를 이용한 서로게이트 모델로 Bayesian inference를 수행하는 예제입니다.

주요 내용:

  • 컴퓨터 시뮬레이션 데이터와 실제 관측 데이터 통합
  • GP를 에뮬레이터로 활용한 모델 캘리브레이션
  • NUTS 샘플러를 통한 파라미터 사후 분포 추정
  • 불확실성 정량화 및 예측

데이터:

  • 시뮬레이션 데이터: 에너지 사용량, 외기온도, 상대습도, 물리적 파라미터 (기기밀도, 조명밀도, COP)
  • 관측 데이터: 에너지 사용량, 외기온도, 상대습도

의존성

주요 패키지 (모두 uv sync로 자동 설치):

  • pymc (≥5.25.1) - Bayesian 모델링 프레임워크
  • numpyro (≥0.19.0) - NUTS 샘플러 백엔드
  • jax (≥0.8.0) - 자동 미분 및 가속
  • numpy, matplotlib, jupyter

전체 의존성 목록: pyproject.toml

문제 해결

uv 명령어를 찾을 수 없음

  • 터미널 재시작 또는 시스템 재부팅

PowerShell 실행 정책 오류

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

uv sync 실패

rmdir /s .venv
uv sync

Jupyter 실행 불가

uv run jupyter notebook

참고 자료

License

MIT

About

Bayesian inference toy problem code using Gaussian Process

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published