予測の方法論
このページでは、飲み帳が血中アルコール濃度(以下「濃度」)の推定・酔いの状態・推定の幅・この先の見通し・翌朝の二日酔いの目安を、どのように計算しているかを説明します。どの部分も公表された研究にもとづいており、本文中に出典を示し、末尾にまとめています。自分の数字を確かめたい方、取材される方、医療者、レビュアーのために書いています。
これは推定であって、計測ではありません。 飲み帳は、あなた自身が記録した飲みものをもとにした自己管理の道具です。アルコール検知器ではなく、運転の可否を判定するものでもなく、医療上の助言でもありません。実際の値は人や状況で大きく変わります。少しでも飲んだら、運転は絶対にしないでください。
1. 何であって、何でないか
あなたの身体プロフィールと、記録した飲みもの(量・度数、任意で飲むのにかけた時間や食事のメモ)の時刻つきリストから、飲み帳は次を計算します。中心となる濃度の推定値を % w/v(血液 100 mL あたりの純アルコールのグラム数 — 日本の酒気帯び運転 0.03% と同じ単位)で、その上下の推定範囲、酔いの状態(数字ではなく言葉)、向き(上がり/下がり/横ばい)、この先の見通し、そして翌朝の二日酔いの目安です。
これは入力だけから決まる計算です。通信もせず、あなたの身体を測りもしません。「運転して大丈夫」という判定は決して出さず、健康上の効能もうたいません。セッションが終わると、そのピークは固定され(§13)、あとからプロフィールを変えても過去が書き換わらないようにしています。
2. 基本となる考え方 — 誤差は安全側へ
このモデルでいちばん大切な性質です。
「実際より醒めている」と伝えるのが、いちばん危ない外し方です。だから外れるときは、濃度を高めに・警告を早めに・幅を広めに外すよう、すべての設計を寄せています。逆向きには外しません。
この一点が、以下の選択のほとんどを決めています。閉じた式ではなく 1 分ごとに積み上げて 0 で下限を切る積分(閉じた式は翌日に残るアルコールを少なく見積もります)。分解の速さを健康な集団の平均より少しだけ遅めに置くこと(遅いほどアルコールが長く「残る」と見なせます)。推定範囲の上側を、分解の遅い体として引くこと。検証された範囲からプロフィールが外れるほど、幅を広げるだけのペナルティ。そして、低活性型 ALDH2 を持つ人が多い日本では、赤くなりやすい人ほど警告を早める補正。安全側でない選択は、その旨を明記しています(§14〜§15)。
3. 使う項目
一度だけ取得(必須): 性別、年齢(5 歳きざみの区分 → その中央値)、体重、身長、赤くなりやすさ(赤くなりやすさは ALDH2 のはたらきの目安です)。生年月日は取得しません。±5 歳の区分のずれは推定を約 3% 動かすだけで、計算式そのものの誤差や、自己申告の体重のばらつきの中に収まるからです。
任意: 体脂肪率(詳細設定 — 推定した体水分量を実測値で置き換えます)、セッションごとの食事メモ(何を食べたか・いま食べているか、それぞれに時刻)、睡眠時間(二日酔いの計算にのみ使用)、飲みものごとの飲むのにかけた時間。
取得しているが v1 の濃度計算には使わない項目: 飲む頻度。長期にわたる多量飲酒は、CYP2E1 の誘導によって分解をやや速めますが(Cederbaum 2012)、自己申告の「毎日」だけでは、本当に速い人と「夕食に一杯」の人を区別できません。弱い根拠で分解を速める補正をかけると推定値が下がり、危ない向きになるため、使いません。
4. 計算のながれ
ある時点の濃度は、直前 24 時間に記録した飲みものすべてから計算します。
Step 1 分布容積 V(リットル) Watson(男性)/ Forrest(女性)/体脂肪率による上書き
Step 2 1 杯あたりの純アルコール量(g) 量 × 度数 × 0.789
Step 3 1 杯ごとの吸収(g/分) 一定速度のランプ × 食事による吸収率、任意で時間に分散
Step 4 分解 + 積分 1 分ごと: BAC = max(0, BAC + 吸収/(10·V) − β/60)
Step 5 状態への対応づけ しきい値のはしご、赤くなりやすさで補正(酔いの段階のみ)
Step 6 推定範囲 分解が遅い/速い体の包絡線 + ピーク付近の幅
Step 7 向き・見通し・ペース 記録済みの飲みものの前向き積分 + ペースの連続流入
以下、各ステップに確かさ(高/中/低)を付けています。パラメータがどれだけ根拠に支えられているかの目安です。各ステップのパラメータには、その場で出典を示します。一方、それらの組み立て方 — 1 分ごとの数値積分・24 時間の移動窓・0 での下限処理 — は、法医学標準の 0 次(Widmark)モデルを私たちが実装したもので、別の出典があるわけではありません。
5. Step 1 — 分布容積 V ・確かさ:高
アルコールが広がる体の水分量です。性別ごとの式を使い、法医学で標準的に用いられているものです(Maskell et al. 2020)。
男性 — 総体水分量(Watson, Watson & Batt 1980):
TBW (L) = 2.447 − 0.09516·年齢 + 0.1074·身長cm + 0.3362·体重kg
V (L) = TBW / 0.806
女性 — Forrest、Searle 2014 による再導出:
BMI = 体重kg / (身長m)²
Vd_kg = 0.9367 − 0.0124·BMI (体重1kgあたりの分布容積リットル)
V (L) = Vd_kg · 体重kg
任意:体脂肪率による上書き(Walling & Schwartz 2024):
除脂肪体重 (kg) = 体重kg · (1 − 体脂肪率% / 100)
TBW (L) = 除脂肪体重 · 0.732
V (L) = TBW / 0.806
定数:0.806 — 血液は質量比で約 80.6% が水(体水分中の濃度を血中濃度に換算する、法医学で標準の係数)。0.732 — 除脂肪体重の約 73.2% が水。
これらの式は、おおむね BMI 18.5〜30・年齢 20〜60 の範囲でよく検証されています(Maskell et al. 2020)。その外では中心の推定がずれ、とくに日本人に多い細身・低 BMI のプロフィールでは身長の項が濃度を低めに見積もりがちで、これは危ない向きです。中心の推定はそのまま(いちばん確からしい中心値として)残し、この領域こそ、分解の遅い側の端(§10)と各種ペナルティ(§10)が上側で受け止めるためにあります。
6. Step 2 — 純アルコール量 ・確かさ:高
純アルコールg = 量ml · (度数% / 100) · 0.789
0.789 g/mL は 20℃ でのエタノールの密度で(NIST Chemistry WebBook)、消費者向けに丸めた 0.8 より実際に近い値です。ここでの最大の誤差はモデルの手前、つまりあなたが申告する量と度数にあります。これは自己記録の道具に本質的なもので、計算では消せないため、推定範囲のなかに「量のばらつき」として織り込んでいます(§10)。
7. Step 3 — 吸収 ・確かさ:中〜高
モデルでいちばん作り込んだ部分であり、日本の文脈(飲みながら食べるのがふつう)にいちばん寄り添った部分です。1 杯のアルコールは、胃から血中へ一定速度のランプで移ります。G グラムの一杯が R 分のランプなら、毎分 G/R グラムずつ、なくなるまで入ります。だからピークはランプの終わりに来ます。さらに、食事をしている状態での初回通過の損失を表す**吸収率(1.0 以下)**で割り引きます。
食事の状態ごとのパラメータ:
| 状態 | ランプ(分) | 吸収率(男性) | 吸収率(女性) |
|---|---|---|---|
| 空腹 | 30 | 1.00 | 1.00 |
| 軽食(約 210 kcal) | 40 | 0.85 | 0.85 |
| しっかりめの食事(約 460 kcal) | 50 | 0.71 | 0.66 |
ランプは、空腹・軽食でのピーク到達時間の実測にもとづいています(Veasey et al. 2020。飲みものの種類によるピーク時間は Mitchell et al. 2014 で照合)。しっかりめの食事のランプは、大きめの欧米式試験食ではなく、日本の約 460 kcal の食事(Oshima et al. 2012)に寄せています。空腹時の吸収率は 1.0 — 空腹では初回通過の損失をあえてモデル化しません(最もピークが高くなる、安全側の仮定)。
食事の効果は、胃が空くにつれて薄れます。 胃排出は、吸収における個人差の最大の要因です(Holt 1981)。各メモには時刻があり、保護の強さが空腹時の値に向かって減衰します。軽食は指数的に(半減期 約 87 分、液状の食事の胃排出 Hopkins et al. 2013 に対応)、しっかりめの食事は「少しの待ち時間ののち直線的に」減ります。「いま食べている」場合は、減衰が始まる前に保護が立ち上がっていきます。
飲むのにかけた時間 ・確かさ:中。 既定では一杯は記録時刻の一瞬として扱います。飲み終わりの時間を入れると、その区間に均等に(毎分の小分けとして、それぞれ同じ胃の歩みを通して、重ね合わせて)分散します。分散はピークを下げる=危ない向きなので、決して黙っては適用しません。あなたの入力(または、トレードオフを明示したうえでの明示的な既定オン)を必要とし、上限を 2 時間にしています。飲むのにかけた時間は確かめようのない自己申告で、約 2 時間を超えると分解が本物のピークを消してしまいかねないからです。推定範囲は、飲んだ時間の長さではなく胃のランプを使うので、これをオンにしても幅が不当に狭まることはありません。
「食べた」と「いま食べている」が両方あるときは、合算ではなくより保護の強いほうを採ります。これは重なった食事を控えめに見積もる=ピークを少し高めに出すもので、あえて安全側にしています。
8. Step 4 — 分解と積分 ・確かさ:高
β = 0.015 %/時 (定数)
0.015 %/時 は、適度/社交的に飲む人の集団平均としてよく支持される値です(Jones 2010)。健康な集団の平均よりわずかに低めに置くことで、分解をやや遅めに見なし、過剰に警告する向き=安全側に寄せています。分解は 0 次(速度一定)として扱います。これはこの製品が扱う濃度域で妥当な、法医学標準の Widmark の扱いです(Cederbaum 2012)。自己申告の多量飲酒で分解を速めることはしません(§3)。
濃度は 24 時間の移動窓のなかで 1 分ごとに積み上げるので、昨日から残っているアルコールも自動的に扱われます。
BAC = 0
窓の開始から現在までの各分について:
吸収 = Σ(活動中の各ドリンクの毎分の吸収)
BAC = max(0, BAC + 吸収/(10·V) − β/60)
0 で下限を切ることと 1 分ごとに歩むことには意味があります。閉じた式の近道だと、濃度がすでに 0 だった区間でも分解を引き続け、翌日の出発点の濃度を低めに見積もってしまう=危ない向きだからです。24 時間より前にさかのぼって記録した飲みものは、日記の合計には残しつつ、濃度の再構成からは除きます(とうに分解しきっており、入れると過去に存在しなかった数字を作ってしまうため)。
9. Step 5 — 酔いの状態 ・確かさ:高(段階)/低(赤くなりやすさの倍率)
濃度の数字を、主画面用の言葉に対応づけます。数字自体は変えません。
しきい値 (% w/v) = 0.02, 0.05, 0.10, 0.15, 0.20
しらふ < 0.02
効いてきた 0.02 – 0.05
ほろ酔い 0.05 – 0.10
酔っぱらい 0.10 – 0.15
飲み過ぎ 0.15 – 0.20
限界超え 0.20 – 0.25
急性アルコール中毒 0.25 – 0.30
重度の急性アルコール中毒 ≥ 0.30
赤くなりやすさによる補正(ALDH2 の目安): 赤くなりやすい人では、酔いの段階のしきい値を下にずらし(「少し」で × 0.80、「よく」で × 0.60)、警告を早めます。日本人のおよそ 40〜50% は低活性型の ALDH2 を持ちます(Chen et al. 2022、厚生労働省 e-ヘルスネット)。アセトアルデヒドがたまりやすく、同じ濃度でも体感が強く出て、少ない量で酔いや二日酔いに達します(Yokoyama et al. 2005)。この補正は体感の言葉だけを動かし、濃度の数字は変えません。同じ濃度での身体的な作用は変わらないからです。0.80/0.60 という倍率は、あえて控えめに置いた推定です(文献は強い変化を支持しますが、量までは定めていません)。早めの警告に寄せています。中毒の 2 段階は、体感ではなく濃度で決まる臨床的なリスクなので、赤くなりやすさでは動かしません。
画面に出る状態の言葉(しらふ・ほろよい・ふわふわ…)は、臨床の尺度ではなく、飲み帳が独自に選んだ平易な言葉です。行動を指図せず、状態をそのまま言い表すために選んでいます。しきい値の値は、特定の論文ではなく、日本の道路交通法の酒気帯び 0.03% という基準点と、一般的な行動への影響の区分にもとづいています。赤くなりやすさの倍率と同じく、較正された定数ではなく、あえて控えめに置いた対応づけです。
10. Step 6 — 推定範囲 ・確かさ:中
計算がいちばん自信を持ちにくいとき、飲み帳はひとつの数字ではなく幅で表示します。この幅は統計的な信頼区間ではなく、**生理的な包絡線(エンベロープ)**です。だからアプリでは「推定範囲」と呼び、「信頼区間」とは決して呼びません。
中心の推定値のまわりに、実在する 2 本の濃度の軌道 — 上端は分解の遅い体、下端は速い体 — を引き、ピーク付近の幅と合わせます。
slow = β = 0.010 で積分 (分解が遅い → 上端)
fast = β = 0.020 で積分 (分解が速い → 下端)
ピーク幅 = ベースライン(約 0.13)に、BMI・年齢・体重・直近のペースが
検証された中心から外れるほど広げる片側ペナルティを合わせたもの
上端 = 中心 + √(slowの差² + ピーク幅²)
下端 = max(0, 中心 − √(fastの差² + ピーク幅²))
分解の遅い側の端は、中心の推定より遅く 0 に達するので、中心が計算上 0 になったあとも上端はしばらく 0 より上に残ります。「本当にもう抜けた?」に、設計上ひかえめに答えるためです。分解の幅(0.010〜0.020 %/時)は公表された集団のばらつきをそのまま使い(Jones 2010、Dettling et al. 2007)、日本人向けにあえて偏らせません。赤くなりやすさの遺伝はアセトアルデヒドに働くもので、アルコールの分解速度そのものには働かないからです。各ペナルティは広げるだけで、しかもプロフィールが検証の中心から離れたときだけです。これは CV(変動係数)にもとづく誤差伝播の枠組み(Searle 2014)に従います。ただし、その具体的な係数(約 0.13 のベースラインや BMI・年齢・体重・ペースのペナルティ)は、文献で定まった定数ではなく工学的な見積もりです。幅が小さいうちは単一の数字を、大きくなると範囲を表示します。
11. Step 7 — 向き・見通し・ペース ・確かさ:中/低(ペース)
次の 1 分が上がりか下がりか横ばいかは、ひとつの計算で決めます。画面の矢印が曲線と食い違わないようにするためです。見通しは「この先どこへ向かうか」に答えます。記録済みの飲みものを現在まで再生し、そこから観測されたペースの連続的な流入を足して前向きに積分し、ピークを追います。この先の個々の杯はあえて想定しません(「何杯ぶん?」に確かな根拠がないため)。役に立つ問いは「まだ上がっているか、ピークを過ぎたか」です。ペースは、いまのセッションの 1 時間あたりのグラム数を、あなた自身の移動平均と比べます。これは穏やかな言い回しに使うだけで、濃度の数字には反映しません。
このステップに出典がないのは、意図的です。見通しとペースの仕組みは、公表された研究に由来するものではなく、アプリ自身の設計と、UX 上の判断(とくに ±25% の「いつもと同じくらい」の幅)によるものです。ありもしない出典をにおわせるより、そうはっきり書くことを選びました。
12. 二日酔いの目安 ・確かさ:低〜中
これは明確に、薬物動態モデルではなく**ヒューリスティック(経験則)**です。あなた自身の翌朝の自己申告と見比べるための、透明な・文献にもとづく採点ルールで、1〜5 の段階を出します(Penning et al. 2012)。システムのなかで最も確かさの低い部分です。体重あたりの量、睡眠不足(Devenney et al. 2021)、急性のピーク、飲みものの種類による不純物(コンジナー)の代理(色の濃い蒸留酒ほど高い。Rohsenow et al. 2010)、そしてどれだけ酔ったと感じたか、を組み合わせます。赤くなりやすさの倍率は、量に由来する項にだけかけます(アセトアルデヒドの負荷は処理したアルコール量で決まり、睡眠では決まらないため)。重みは公表された二日酔いの研究にもとづいており、感じた酔いが最も強い予測因子です(Mackus et al. 2020)。ただし各傾きや境界は、較正された値ではなく v1 の暫定値です。任意の個人補正が、あなたの過去の「実際 ÷ 予測」から学習され、安全な範囲に収めたうえで、時間とともに馴染ませます。
13. 過去の固定 ・確かさ:高
濃度は常に飲みものから計算し直し、保存しません。だからあとからプロフィールを変えても過去の各夜のグラフが静かに曲がらないよう、各セッションはピークを生んだプロフィールの値のスナップショットを保存し、セッションが終わると固定します。記録されたピークは、あとからプロフィールがどうであれ、そのセッション自身の固定された値から再現できます。
14. 仮定と単純化
まとめて示します。それぞれに、私たちが主張する誤差の向きを添えています。
| 仮定 | 誤差の向き |
|---|---|
| 1 次(指数的)ではなく 0 次(直線ランプ)の吸収 | ピークがやや高め・早め → 安全側 |
| 分解速度は一定。0 付近の鈍化も高濃度での加速もモデル化しない | 軽微。0 付近は分解の遅い端が受け止める |
| 自己申告の多量飲酒で分解を速めない | 分解を速めない → 安全側 |
| 空腹時の吸収率 = 1.0 | 空腹のアルコールはすべて血中に入ると仮定 → 安全側 |
| 食事は合算でなく最も保護の強いほうを採用 | 重なった食事を控えめに → ピーク高め → 安全側 |
| 飲んだ時間の分散は胃の動態を一定と仮定。明示入力+2時間上限で制御 | ピークやや高め → 安全側 |
| 食事状態ごとに 1 組のランプ/吸収率。度数や炭酸の影響は見ない | まちまち。明示した保留事項 |
| 年齢は 5 歳区分の中央値で、正確な生年月日ではない | 約 3% — 無視できる |
| 性別 2 分の式(その他は式を選ぶ) | 検証された中立の式が存在しない |
| 赤くなりやすさは体感の言葉だけを動かし、濃度は変えない | 構造上、正しい |
| 範囲のベースラインとペナルティは単一の公表 CI でなく工学的な見積もり | 片側に広げるのみ。目安は約 1σ で 95% ではない |
15. わかっている限界
隠さず、引き受けます。
- このモデルは個別に検証された部品の組み合わせであり、組み上がったパイプライン自体を、日本人集団の実測濃度に対して較正したわけではありません。 これが中心となる正直な注意点です。各式・各係数には出典がありますが、パイプライン全体が、利用者の呼気/血液の実測とどれだけ合うかはまだ測っていません。推定範囲・安全側の偏り・「計測ではなく推定」という枠づけが、その埋め合わせです。実集団での較正は今後の課題です。
- 出力は入力の質に縛られます — あなたが申告する量・度数・時刻です。
- 赤くなりやすさの倍率と二日酔いの係数は、較正された値ではなく控えめな暫定値です。
- 胃が速く空く例外(一部の薬、手術後の解剖学的変化など)では食事の保護を過大に見積もります。v1 では取得しません。
- モデル化していないもの: 度数・炭酸の吸収への影響、ALDH2 と食事の相互作用、栄養素の構成。
- BMI や年齢の両極端は体水分の式が最も不正確な領域です。体脂肪率の上書き・推定範囲・アプリ内の案内で和らげています。
- 推定範囲があえてカバーしないもの: 妊娠・授乳、薬の服用、肝臓や腎臓の病気、特異な体組成、水分状態、体調不良、ホルモン周期。これらを「カバー」しようと幅を広げると、安全な領域で幅を絞るという本来の役目を損ないます。これらはアプリ内で別途お伝えしています。
16. 参考文献
分布と体水分
- Watson, Watson & Batt (1980). Am J Clin Nutr 33(1):27–39. — PubMed
- Searle (2014). Med Sci Law. — PMC
- Maskell et al. (2020). — PubMed
- Walling & Schwartz (2024). — PMC
純アルコール量
- NIST Chemistry WebBook — エタノール(密度 0.789 g/mL、20℃)。 — NIST
吸収と胃排出
- Veasey et al. (2020). — PMC
- Mitchell et al. (2014). — PMC
- Hopkins et al. (2013). — PubMed
- Holt (1981). CMAJ 124(3):267–77. — PMC
- Oshima et al. (2012). Food Nutr Sci 3:732–737. — 全文
分解(代謝)
赤くなりやすさ(ALDH2)
二日酔いの予測
- Mackus et al. (2020). J Clin Med 9:2. — PMC
- Penning et al. (2012). Psychopharmacology. — DOI
- Rohsenow et al. (2010). — PMC
- Devenney et al. (2021). — PMC
確かさと幅
- Dettling et al. (2007). — PubMed