誤差伝播計算機
2 ± 0.1と3 ± 0.2を掛けると、結果は6、合成標準不確かさは0.5で、各入力の寄与も分かります。和、積、累乗、平方根、対数も同じ1次の規則で扱えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
導出量を測定入力から計算するとき、各入力の標準誤差は結果の不確かさに寄与します。一次の誤差伝播 — ガウスあるいはGUMの線形近似 — は、それらの寄与を式の偏導関数で合成します。この誤差伝播計算機は代数式と、名前付きの値および標準誤差を受け取り、式を評価し、入力が独立であるという通常の仮定のもとで合成標準不確かさ付きの結果を返します。加減乗除、べき乗、平方根や対数といった実験室でよく使う関数が一つの契約にまとまっているので、実験ごとに別の特例公式を覚える必要はありません。
一次の誤差伝播が実際に計算するもの
誤差伝播は、むき出しの電卓が決して問わない実験室の問いに答えます。各入力が述べられた標準誤差までしか分かっていないとき、いま計算した数の標準不確かさはどれほどか。一次のガウス則は測定の不確かさの表現のガイドの線形項でもあり、測定点のまわりで式を線形化し、独立な寄与を二乗和で足します。
書き下せば、合成標準不確かさは、各偏導関数に対応する標準誤差を掛けたものを二乗して足し、その平方根です。和や差では偏導関数がプラスマイナス1なので、合成不確かさは入力誤差の二乗和の平方根そのものです。積や商では同じ恒等式がおなじみの相対誤差の合成になります。
べき乗、平方根、対数では偏導関数は自明ではなく、だから汎用の式エンジンの方が、積と和だけを固定したボタン対より正直です。この計算機は前向き自動微分で式を評価するので、対応する演算子と関数はすべて、隠れた刻み幅に依存する差分近似ではなく正確な一階導関数を寄与します。入力は無相関として扱います。
共分散行列も、Monte Carlo抽選も、二階のヘッセ項もありません。それが学部実験と大半のLIMSの不確かさ欄で使う教科書どおりの一次独立モデルです。標準誤差が負なら要求は拒否されます。
標準誤差は非負の幅であり、符号付き残差ではないからです。ゼロは許され、その入力を厳密値として扱うことを意味します。応答は評価結果、合成不確かさ、結果がゼロでないときの相対・百分率不確かさ、そしてどの測定が予算を支配するかを見るための変数ごとの偏導関数と分散寄与の内訳を返します。
入力契約、対応する式、エラーの返し方
formulaは、これから渡す名前と一致する識別子を持つ代数式です。変数は少なくとも一つ必要で、ノートブックの貼り付けが暴走しないよう件数に上限があります。対応する構文は加減乗除、キャレットまたは二重星のべき乗、括弧、そして 2pi r や 2a のような暗黙の乗算です。
組み込み定数は pi と e です。組み込み関数は sqrt、exp、ln、log(自然対数)、log10、sin、cos、tan、abs、asin、acos、atan、pow で、三角関数の引数はラジアンです。古典的な積の確認は、a が 2±0.1、b が 3±0.2 の a かける b です。
結果は 6、合成不確かさはちょうど 0.5 で、偏導関数が 3 と 2 だからです。密度の確認 m 割る v は、質量 10±0.1、体積 2±0.05 で 5 となり、合成不確かさはおよそ 0.135 です。
誤差伝播が役立つ場面
学部の物理・化学・工学実験では、電卓の中心値だけを写すのではなく、導出結果に合成不確かさを付けて報告するよう求めます。教材基盤と試験生成器には、負の標準誤差を無効と印し、絶対値を取って雑な表計算を黙って正解にしない決定的な神託が必要です。
分析・校正の実験室は、計算機代数システムを立てずに、密度・抵抗・流量・収率の式へ一次の不確かさを LIMS やノートブック作業の中で付けます。品質と計量のチームは、より良い天秤を買うかより良い温度計を買うかを決めるとき、どの入力が分散寄与を支配するかを比べます。
データ科学とシミュレーションのフィクスチャは、公開済みの積 6 ± 0.5 をリファクタした補助関数がテスト失敗なしに変えられないよう、同じ合成不確かさを継続的インテグレーションに固定します。検証失敗は残高を消費しません。
活用例
実験レポートと宿題の解答
学生は式と各測定値・標準誤差を入れ、学部の物理・化学実験で使う一次則に対して合成不確かさを確認します。
LIMSとノートブックの不確かさ欄
計算機代数への依存なしに、密度・抵抗・収率の式へ決定的な合成不確かさを実験室情報システムと分析ノートへ付けます。
不確かさ予算の見直し
より良い機器を買うか測定をやり直すかを決める前に、変数ごとの分散寄与を見て、どの測定が合成不確かさを支配するかを調べます。
よくある質問
誤差伝播計算機の料金はいくらですか?
ブラウザの用具は無料です。負の標準誤差を含む無効な入力は課金されません。
合成不確かさはどのように計算されますか?
エンジンは独立入力に対する一次ガウス(GUM)伝播を使います。偏導関数は式の前向き自動微分から得ます。
入力変数は独立と仮定されますか?
はい。 合成不確かさは個々の(偏導関数×標準誤差)項の二乗和の平方根です。相関のある入力と Monte Carlo 伝播はこのページの範囲外です。
どの式と関数に対応していますか?
+ − * / ^、括弧、暗黙の乗算、定数 pi と e、関数 sqrt、exp、ln、log、log10、sin、cos、tan、abs、asin、acos、atan、pow が使えます。三角関数の引数はラジアンです。
どの測定値が不確かさを大きくしているか分かりますか?
はい。入力ごとの内訳に偏微分と寄与が表示されます。例では2番目の入力の寄与が0.4、1番目が0.3なので、2番目の測定を改善するのが最も効果的です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/error-propagation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"formula":"a*b","variables":[{"name":"a","value":2,"std_error":0.1},{"name":"b","value":3,"std_error":0.2}]}'const res = await fetch("https://api.kit.forhosting.com/stat/error-propagation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"formula": "a*b",
"variables": [
{
"name": "a",
"value": 2,
"std_error": 0.1
},
{
"name": "b",
"value": 3,
"std_error": 0.2
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/error-propagation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"formula": "a*b",
"variables": [
{
"name": "a",
"value": 2,
"std_error": 0.1
},
{
"name": "b",
"value": 3,
"std_error": 0.2
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/error-propagation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"formula":"a*b","variables":[{"name":"a","value":2,"std_error":0.1},{"name":"b","value":3,"std_error":0.2}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"formula":"a*b","variables":[{"name":"a","value":2,"std_error":0.1},{"name":"b","value":3,"std_error":0.2}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/error-propagation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"formula": "a*b",
"variables": [
{
"name": "a",
"value": 2,
"std_error": 0.1
},
{
"name": "b",
"value": 3,
"std_error": 0.2
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.error_propagation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_formula_len | 400 |
max_variables | 24 |
max_abs | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
負の標準誤差は絶対値に黙って置き換えず、invalid_inputで拒否します。
入力契約、対応する式、エラーの返し方
必須の二つの欄を持つJSON本体をPOSTしてください。別名 expression、expr、f を受け付けます。variablesは name、value、std_error を持つ記録の一覧で、一覧の別名は vars、inputs、measurements、標準誤差欄の別名は error、se、sigma、uncertainty です。欠落欄、空の式、未知の識別子、関数名を変数にした予約語、有限でない数、負の std_error は問題を名付けて invalid_input で失敗し、それらは課金されません。成功時は本体が式をエコーし、主対として result と combined_uncertainty を返し、method を first_order_gaussian、independent を true にし、二乗和の恒等式を述べ、各入力の偏導関数・絶対寄与・分散寄与を列挙します。報告書のひな型が特定の桁表示を求めるなら、有効数字の丸めはご自身でJSONに合わせてください。この端点は十二桁の小数を保ち、基準例とパイプラインが JavaScript エンジン間で安定するようにしています。
誤差伝播APIが役立つ場面
実装は純粋な parse のティアAなので、成功した呼び出しは毎回公表の基本料金 $0.002 で、モデルトークンも外向きの通信もありません。式を短くし、識別子にすべて名前を付け、丸めた result と combined_uncertainty をテストに固定すれば、宿題、エッジワーカー、実験室スクリプト向けに再現可能な不確かさが得られ、出荷する言語ごとに GUM の線形則を再実装する必要はありません。
技術的な質問
負の標準誤差が拒否されるのはなぜですか。
標準誤差は非負の幅です。負の値はほぼ常に符号の誤りか入れ替わった残差なので、絶対値を取らず invalid_input で失敗します。