{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ADAY BP pipeline — Google Colab\n",
    "\n",
    "설문 + 스마트워치로 혈압(SBP/DBP)을 **추정·예측**하는 파이프라인.\n",
    "\n",
    "- **수준 + 위상 = E0**, **편차 r = 실측 − E0 ~ f(워치, 지난추정)**, **최종 = E0 + r̂**\n",
    "- 평가: **MAE + BHS 등급** (세션·일평균, train/valid/test)\n",
    "- **PART3**: 정적(static, 1-step 재앵커) vs 동적(dynamic, rollout)\n",
    "\n",
    "합성 데모 데이터로 즉시 실행됩니다. 실데이터는 마지막 셀 참고.\n",
    "\n",
    "책·논문: https://sdkparkforbi.github.io/bp-interpolation-book/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip -q install scikit-learn pandas numpy matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 파이프라인 스크립트 받기 (저장소 단일 소스)\n",
    "!wget -q https://raw.githubusercontent.com/sdkparkforbi/bp-interpolation-book/main/skill/scripts/aday_bp_colab.py -O aday_bp_colab.py\n",
    "print('downloaded')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 합성 데모 실행 (PART2 추정 + PART3 예측, MAE+BHS)\n",
    "!python aday_bp_colab.py"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 실데이터로 실행\n",
    "\n",
    "CSV 열: `ID, day, tod, SBP, DBP, HR, METs, age, cl`  (tod = 자정 기준 분, day1=보정/튜닝, day7=예측)\n",
    "\n",
    "```python\n",
    "from google.colab import files; up = files.upload()   # my_bp.csv 업로드\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# !python aday_bp_colab.py --csv my_bp.csv"
   ]
  }
 ],
 "metadata": {
  "colab": {"provenance": []},
  "kernelspec": {"display_name": "Python 3", "name": "python3"},
  "language_info": {"name": "python"}
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
