Riegel式レースタイム予測
10 kmを40:00で走った記録から、Riegelの式と標準の指数1.06でハーフマラソンは1:28:15と予測されます。走ったレースと次に目指す距離を入れると、目標タイムが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 既知の距離
- 10
- 既知のタイム
- 2,400
- 目標距離
- 21.0975
- 予測タイム
- 5,295.36739456
- 予測タイム(秒)
- 5,295.36739456
- 予測タイム(整形)
- 1:28:15
- 既知のタイム(秒)
- 2,400
Riegelの式は、ランナーが一つのレース結果を別距離の現実的な目標に換算する古典的な持久スケーリング則です。既知の距離 D1、既知のフィニッシュタイム T1、目標距離 D2 が与えられると、予測タイムは T2=T1×(D2/D1) の一点零六乗です。一よりわずかに大きい指数は、距離が延びるにつれ平均ペースが遅くなることを表し、十キロの自己ベストが二十キロ予測に単純に二倍になることはありません。本計算機はその閉じた予測を正確に適用し、秒数と読みやすい時計文字列を返し、非正の距離やタイムを拒否して無効なトレーニングログが偽の目標を生まないようにします。十キロからハーフマラソンを計画する、ハーフからフルの準備を確認する、透明で監査可能な予測が必要なコーチングツールを作る用途に使えます。
Riegelのレースタイム予測の仕組み
信頼できる測定距離とチップまたはスタートのフィニッシュタイムがある完走レースから始めます。単位をきれいに保つためそのフィニッシュを秒に換算します。四十キロ分の十キロは二千四百秒、九十キロ分のハーフマラソンは五千四百秒です。
次に予測したい距離を、既知レースと同じ長さ単位で選びます。キロはキロ、マイルはマイル、メートルはメートルです。Riegelの式は T2 を T1 に (D2÷D1) を掛け、古典的な持久指数一点零六 (1.06) で累乗したものにします。
目標が既知レースより長いと比は一を超え、予測タイムは線形の距離スケールよりわずかに速く伸び、フルのペースがハーフより遅いという一般的な観察と一致します。目標が短いと比は一未満で、絶対タイムは速く平均ペースもやや速くなりますが、新しいトレーニングデータは捏造しません。指数は再現性のため 1.06 に固定され、複数レース履歴からカスタム指数を当てはめません。
非正の距離やタイムは早期失敗し、零や負の長さ・時間は実レース結果になり得ません。累乗の後、応答は浮動小数のノイズを安定した有効桁に整え、既知と予測の所要時間を時計文字列に整形し、距離比と単位あたりペースを報告してコーチが中間手順を手計算で監査できるようにします。
Riegelレースタイム予測が実務で使われる場面
ランニングコーチや持久プログラムは最近の五キロや十キロの結果をハーフとフルの目標帯に常に換算し、秒数と読みやすい時計文字列を返す信頼できる神託が計画作成と選手との会話を加速します。ペースグループ向けの予測フィニッシュ帯を示す大会ディレクターやイベントアプリは、ブラックボックスの機械学習推定ではなく、選手が手計算で再計算できる文書化された式を必要とします。
ペーシングダッシュボード用の合成レースデータを用意するデータ技術者は、ネットワークやモデルドリフトなしに既知距離とタイムから決定的なフィニッシュラベルを必要とします。
分/キロとマイル/時の純粋なペース単位変換、年齢補正スコア、複数レースのカスタム指数当てはめが後から必要なら、この Riegel レースタイム予測ページを過負荷にせず別の検索意図とランディングとして扱ってください。結果は常に教育的な計画推定として枠付けし、医学的・成績保証ではありません。
コースの起伏、天候、補給、体調変化は、閉じた形の予測から実フィニッシュを大きくずらすことがあります。
活用例
トレーニング目標の設定
最近の5Kや10Kのフィニッシュを、コーチング計画向けの透明なハーフやフルのタイム目標にRiegelスケーリングで変換します。
授業での持久数学
スポーツ科学の宿題用に決定的なRiegel予測を生成し、教員と自動採点が一つの基準真理を共有します。
よくある質問
Riegelの式とは何ですか?
T2 = T1 × (D2/D1)^1.06 です。T1 は既知のフィニッシュタイム、D1 は既知のレース距離、D2 は目標距離です。指数 1.06 は距離が延びるほどペースが遅くなることをモデル化します。
距離やタイムが零または負の場合はどうなりますか?
非正の距離とタイムは、Riegel予測の実レース結果になり得ないため拒否されます。
10 km 40分ならハーフマラソンの予測タイムは?
1:28:15です。ハーフマラソンは10 kmの2.10975倍の長さで、その比を1.06乗するため、距離の比だけで伸ばすより少し長いタイムになります。
キロメートルではなくマイルでも使えますか?
使えます。走ったレースと目標のレースで同じ単位を使えば、マイル同士、キロメートル同士、メートル同士のどれでも計算できます。
指数の1.06は変更できますか?
変更できません。結果を再現できるよう1.06に固定しており、過去の複数のレースから独自の指数を求めることもしません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/race-time-predictor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"known_distance":10,"known_time":2400,"target_distance":21.0975}'const res = await fetch("https://api.kit.forhosting.com/health/race-time-predictor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"known_distance": 10,
"known_time": 2400,
"target_distance": 21.0975
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/race-time-predictor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"known_distance": 10,
"known_time": 2400,
"target_distance": 21.0975
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/race-time-predictor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"known_distance":10,"known_time":2400,"target_distance":21.0975}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"known_distance":10,"known_time":2400,"target_distance":21.0975}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/race-time-predictor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"known_distance": 10,
"known_time": 2400,
"target_distance": 21.0975
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.race_time_predictor",
"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は一つの純粋な同型関数を共有するため、授業デモと自動パイプラインは常に同じ数値で一致します。
Riegelのレースタイム予測の仕組み
パイプラインは決定的な浮動小数点算術のみで、乱数シードも壁時計の時刻もネットワークもモデルドリフトもなく、同一の既知距離・既知タイム・目標距離は常に同一のJSONを生みます。欠落フィールドや非有限数もゼロに黙って強制せず invalid_input で失敗します。
送信内容と返り値
古典的なスモーク確認は、二千四百秒の十キロを 21.0975 キロのハーフに投影する例と、千二百秒の五キロを十キロに投影する例で、どちらも解答キーに適した安定した正の予測タイムになります。フォームが時計文字列を集める場合は呼び出し前に時分を総秒に換算してください。三つのフィールドを送ってください。known_distance は完走レースの長さで、零より大きい有限数である必要があります。別名 distance1、d1、known_d を受け付けます。known_time はそのレースのフィニッシュタイム(秒)で、有限かつ正である必要があります。別名 time1、t1、known_time_seconds、seconds を受け付けます。target_distance は予測したいレース長で known_distance と同じ単位、有限かつ正である必要があります。別名 distance2、d2、target_d を受け付けます。三フィールドとも必須です。欠落、非数値文字列、NaN、Infinity、零、負値は invalid_input で失敗し課金されません。成功時、応答は同じ整理済み秒数としての predicted_time と predicted_time_seconds、H:MM:SS または M:SS の predicted_time_formatted、整理済み known_distance・known_time・known_time_seconds・known_time_formatted・target_distance、distance_ratio(D2/D1)、固定指数 1.06、pace_known_sec_per_unit と pace_predicted_sec_per_unit、formula(T2=T1×(D2/D1)^1.06)、method riegel、unit_time seconds、unit_distance same_as_input を返します。成功API呼び出しの料金は公開ベース $0.002/件で、検証失敗は前払い残高を消費しません。公開算術は known_time を秒のみと仮定します。
Riegelレースタイム予測が実務で使われる場面
スポーツ科学の教室は今も VDOT 表や臨界速度モデルの隣で Riegel スケーリングを教え、手計算とAPI出力の一致が漸近コストより重要です。本能力は純粋な parse エンジンなので、API料金は成功1件あたり公開ベース $0.002 で、検証失敗は残高を消費しません。
連携の活用例
アプリとAPIのfixture
ネットワークや非決定モデルなしに、レースアプリと回帰テスト用のgolden予測フィニッシュJSONを一括生成します。
技術的な質問
どの単位を使うべきですか?
known_distance と target_distance が同じ長さ単位(km、マイル、メートル)を共有すればよいです。known_time は総フィニッシュタイムを秒で与えます。
入力はどう整形すればよいですか?
known_distance と target_distance を同じ単位の正の数で、known_time を正の秒(例:40分レースなら 2400)で送ってください。JSON数値または数値文字列を受け付けます。
料金はいくらですか?
ブラウザツールは無料でローカル実行されます。APIリクエストは成功1件あたり前払いKIT残高から $0.002 を使い、無効な入力は課金されません。