Gallagher体脂肪率計算
BMI・年齢・性別から、複数の項をもつGallagher式で体脂肪率を見積もります。30歳の男性でBMI 25なら19.61%です。年齢と性別がBMIと組み合わさるため、同じBMIでも結果が変わります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Bmi
- 25
- Age
- 30
- 性別
- 男性
- 性別コード
- 1
- 逆BMI
- 0.04
- 体脂肪率 (%)
- 19.61
- 精度
- 4
Gallagher体脂肪率計算機は、キログラム毎平方メートルの体格指数(BMI)、年齢(年)、生物学的な性別という日常的な3入力から体脂肪率を推定します。BMIの逆数に年齢・性別の交互作用項を加えたGallagherの多項予測を実装しているため、同じBMIでも年齢や性別が異なれば推定値は変わり得ます。
Gallagher式が測るもの、BMIが体脂肪率になる仕組み
BMIだけでは体組成は分かりません。同じBMIの成人でも脂肪量と除脂肪組織の量は大きく異なり得ます。Gallagherらは、年齢と性別で調整しつつBMIを推定体脂肪率に写像する予測式を公表しました。
これは、同じBMIでも加齢に伴い脂肪が増えやすいこと、また同じBMIでも女性のほうが平均して脂肪割合が高いという集団パターンを反映します。本機能はBMIの逆数を主予測子とし、年齢の線形項、性別オフセット、性別×年齢、性別×BMI逆数の交互作用を加える多項式を用います。算術内では性別を男性1・女性0と符号化し、同一式で両群に対応します。
体脂肪率は設定可能な桁数に丸めた有限の単一数値として返り、エコーされたBMI・年齢・性別コード・BMI逆数、methodタグgallagher、回答横や方法ノートに固定できるformula文字列が付きます。処理は純算術で、参照表も活動係数も民族切替もこの製品面にはありません。そのため成功した呼び出しはランタイム間でバイト単位で再現できます。
結果は教育・スクリーニング向けの推定として扱ってください。臨床判断で測定組成が必要な場合は、二重エネルギーX線吸収測定法、水中体重法、多区画モデル、熟練した皮脂厚プロトコルなどが参照手段として残ります。
Gallagher式が役立つ場面
身長と体重が既に揃っており、キャリパーやスキャナなしで性別・年齢を踏まえた脂肪推定が必要なコーチや地域保健プログラムは、Gallagher体脂肪計算機を使います。運動生理学や栄養学の授業はBMIから体脂肪率への実験を課し、非数値や非正の入力を黙って0%にするのではなく拒否するオラクルを必要とします。無料の対話的探索と、料金付きで同一の自動化経路です。
臨床的な期待は正直に保ってください。これは診断用医療機器ではありません。筋量・水分・測定品質の文脈と数を併せ、密な筋肉による高いBMIを式だけで高脂肪と誤らないようにしてください。
体脂肪率なしのBMI区分帯だけが必要な場合は、ここで組成を再導出せずBMI計算機を使ってください。
活用例
身長・体重が保存済みのウェルネスダッシュボード
保存済みのBMI・年齢・性別を、キャリパーなしで決定的なGallagher体脂肪率に変換し、グラフや縦断ログに使います。
よくある質問
Gallagher体脂肪率計算機に必要な入力は何ですか?
kg/m²のBMI、年単位の年齢、性別(maleまたはfemale)です。任意のprecisionで小数桁を設定します(既定4)。
US NavyやJackson-Pollockの体脂肪計算機と同じですか?
いいえ。 それらは周径や皮脂厚を使います。本機能はGallagherのBMI・年齢・性別予測のみを実装し、独自のSEOランディングとtypeを持ちます。
Gallagher式はどのような式ですか?
64.5から848×(1/BMI)を引き、0.079×年齢を足し、16.4×性別を引き、0.05×性別×年齢と39.0×性別×(1/BMI)を足します。性別は男性を1、女性を0とします。
同じBMIでも男女で結果が違うのはなぜですか?
同じBMIなら女性のほうが平均して脂肪の割合が高いという集団の傾向を式が反映しているためです。性別の項が結果をずらし、年齢の項が年とともに値を上げます。
体重と身長しか分からない場合はどうしますか?
先にBMIを計算してから入力します。BMIは体重(kg)を、メートル単位の身長の2乗で割った値です。この計算機は体重と身長を直接は受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/bodyfat-gallagher \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"bmi":25,"age":30,"sex":"male"}'const res = await fetch("https://api.kit.forhosting.com/health/bodyfat-gallagher", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"bmi": 25,
"age": 30,
"sex": "male"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/bodyfat-gallagher",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"bmi": 25,
"age": 30,
"sex": "male"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/bodyfat-gallagher", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"bmi":25,"age":30,"sex":"male"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"bmi":25,"age":30,"sex":"male"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/bodyfat-gallagher", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"bmi": 25,
"age": 30,
"sex": "male"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.bodyfat_gallagher",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
処理は完全にオフラインかつ決定的で、ネットワークも乱数シードも時計も使わないため、宿題の検算、コーチングアプリ、前払いAPIクライアントは同一入力に対して常に同じJSONを受け取ります。欠落フィールド、非数値、非正のBMIや年齢、範囲外の値はinvalid_inputで失敗し、課金されません。手早い確認やデモには無料のブラウザツールを、係数を手実装せず安定したGallagher契約が必要なパイプラインでは成功1件あたり$0.002のAPIをご利用ください。
Gallagher式が測るもの、BMIが体脂肪率になる仕組み
本endpointをUS Navyの周径式やJackson-Pollock皮脂厚多項式と混同しないでください。それらは測定が異なり、別の製品ページとSEOランディングにあります。
入力契約、検証規則、応答フィールドの読み方
BMIはキログラム毎平方メートルの正の有限な体格指数です。極端な逆数が非物理的な推定を生まないようBMIは文書化された実用帯に収める必要があり、年齢も文書化された上限年を超えてはなりません。質量と身長だけしかない場合は、呼び出し前にキログラムの質量をメートルの身長の二乗で割ってBMIを自ら計算してください。必須のbmi、age、sexを含むJSONオブジェクトをPOSTしてください。フォームや表計算が慣れたラベルを使えるよう、aliasとしてbody_mass_indexとbmi_kg_m2を受け付けます。ageは正の有限な年数で、aliasはage_yearsとyearsです。sexは大文字小文字を正規化したうえでmaleまたはfemale、およびm、f、man、womanなどの短い表記を受け付け、genderとsex_at_birthも認識します。任意のprecision(alias: decimals、dp)は丸め出力の小数桁を0から12まで選び、既定は4です。欠落、空文字列、非有限数、0以下のBMIや年齢、未対応の性別文字列、範囲外は、違反規則名付きのinvalid_inputとなり、前払い残高は消費されません。成功時はsexとsex_code、丸めたageとbmi、逆数の変化が見えるよう報告精度少なくとも6桁のinv_bmi、表示と記録用のbody_fat_percent、形状を嗅がずに分岐できるよう常にgallagherのmethod、多項恒等式を書き直したformula、使用したprecisionが返ります。体重や身長だけを送り、本endpointがBMIを捏造することを期待しないでください。
Gallagher体脂肪APIが活きる場面と料金の仕組み
方法付録を書く研究者は、formulaフィールドの係数文字列をそのまま引用し、継続的インテグレーションのフィクスチャに例示JSONを固定できます。本ページでは計算はすべてブラウザ内で走り、APIでは成功した照会ごとに$0.002、検証失敗は課金されず、応答後に何も保存しません。この分担はKITのtier Aカタログ全体と一致します。皮脂厚や周径を既に保存している場合は、BMIのみの式に押し込むのではなく、Jackson-PollockやUS Navyの専用endpointを使ってください。
連携の活用例
教室でのBMIから体脂肪率への検算
学生は採点スクリプトやLMS自動チェック向けの安定JSONで、Gallagher多項演算を宿題の答えと照合します。
フィットネスアプリとCIフィクスチャ
アプリとテストスイートが純前払いendpointを呼び、クライアントUIとサーバgoldenが同じBMI・年齢・性別契約を共有します。
技術的な質問
BMIから体脂肪率はどう計算されますか?
Gallagher多項式は1/BMI、age、sex(male=1、female=0)、およびsex×ageとsex×(1/BMI)の交互作用を使います:%BF = 64.5 − 848·(1/BMI) + 0.079·age − 16.4·sex + 0.05·sex·age + 39.0·sex·(1/BMI)。
BMIや年齢が欠落している、または数値でない場合は?
要求はinvalid_inputで失敗します。必須フィールドは存在し有限でなければならず、非正や範囲外のBMI・年齢も拒否され、課金されません。
Gallagher体脂肪率計算機の料金は?
ブラウザツールは無料です。API要求は成功1回あたり$0.002のKIT前払い残高を使い、無効入力は課金されません。