絶対変化計算ツール
128.5と95.25の絶対変化は33.25で、どちらを先に入力しても同じです。2つの数を入れるだけで、符号のない差の大きさが分かり、ずれや価格の変動、予測の誤差を確かめられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 128.5
- B
- 95.25
- 絶対変化量
- 33.25
絶対変化計算ツールは、2つの数値を受け取り、方向に関係なくその間隔を返します。つまり |a − b| で、常にゼロ以上です。どちらの値が先か、増加か減少かを気にすることなく、「どれだけ動いたか」という、あらゆる比較で最もシンプルで一般的な質問にお答えします。数値でない入力、欠損、無限大は、暗黙の NaN ではなく、明確なエラーで拒否されます。
絶対変化とは何か
2つの値の間の変化には、2つの表し方があります。符号付きの変化(b 引く a)は方向を示します。値が増えたときは正、減ったときは負です。
一方、絶対変化は符号を捨て、大きさだけを残します。方向が関係ない場合、あるいはすでに分かっている場合に必要なのは、こちらです。たとえば、センサーの基準値からのずれ、価格調整の幅、予測と観測値の誤差、同じ量の2回の測定値の間隔などです。
絶対変化は対称で、|a − b| は |b − a| と等しいため、入力の順序は結果に影響せず、結果は常にゼロ以上になります。ゼロは2つの値が同一であることを意味します。結果は入力と同じ単位の数値なので、「絶対変化がしきい値を超えたら通知する」といった後続のチェックとそのまま組み合わせられます。
パイプラインでの位置づけ
絶対変化が最終的な答えになることはまれで、他のチェックを構成する部品です。監視ジョブは現在の指標をベースラインと比較し、符号を気にせず、動きの大きさが限界を超えたときだけ発火させるために使います。照合タスクは、行ごとの絶対変化を合計して全体の不一致を求め、2つのシステムが許容誤差内で一致していることを確認するために使います。
データクリーニングでは、中央値や前回値からの距離で外れ値を検出するために使います。この機能は決定的で、状態を持たず、副作用もないため、どんな量でも安全に呼び出せ、結果をメモ化できます。グローバルなエッジ上で動作し、応答後に何も保存されません。
活用例
指標のずれを検知して通知
現在の値をベースラインと比較し、方向に関係なく絶対変化がしきい値を超えたら担当者に通知します。
2つのシステム間の照合
2つのデータベースに記録された金額が許容誤差内で一致しているか、絶対変化がほぼゼロであることで確認します。
予測誤差の測定
予測が観測値からどれだけ外れたかを計算します。絶対変化は MAE 系のスコアリングで使われる絶対誤差です。
よくある質問
2つの値の順序は関係ありますか?
いいえ。 |a − b| は |b − a| と等しいため、結果はどちらの順序でも同じです。
数値を文字列で渡せますか?
はい。" 128.5" のように、有限の数値として解釈できる空でない文字列は受け付けられ、減算の前に変換されます。
Infinity や NaN はどうなりますか?
拒否されます。 両方の入力は有限の数値である必要があるため、結果は常に非負の実数になります。
何か保存されますか?
いいえ。 計算はステートレスで、2つの値を読み、差を返した後は何も保持されません。
絶対変化と符号付きの変化はどう違いますか?
符号付きの変化は2つ目の値から1つ目を引いたもので、増えればプラス、減ればマイナスになります。絶対変化は符号を外して変化の大きさだけを残すので、負になりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/absolute-change \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":128.5,"b":95.25}'const res = await fetch("https://api.kit.forhosting.com/math/absolute-change", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 128.5,
"b": 95.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/absolute-change",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 128.5,
"b": 95.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/absolute-change", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":128.5,"b":95.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":128.5,"b":95.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/absolute-change", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 128.5,
"b": 95.25
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.absolute_change",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
計算の仕組み
追加の丸め処理は一切行いません。同じ純粋なモジュールが両方で動くので、対話的に確認した結果が、そのままパイプラインが受け取る結果になります。有限の double が表現できる範囲を超える隠れた上限はありません。このエンドポイントは a と b の2つのフィールドを受け付け、それぞれ有限の数値である必要があります。"42.5" のような数値文字列は受け付けて変換されますが、有限の数値を表さないもの(null、真偽値、NaN、Infinity、空文字列、オブジェクト)は invalid_input エラーで拒否され、課金されることはありません。結果は差の絶対値、つまり Math.abs(a − b) を倍精度で計算したもので、お使いのブラウザや任意の IEEE-754 ランタイムとまったく同じ算術です。減算が返すものがそのまま返されるため、無料のブラウザ版と有料エンドポイントの間で API の結果はバイト単位で再現可能です。
パイプラインでの位置づけ
このページでの対話的な利用は無料で、API 経由で自動化する場合のみ1リクエストにつき $0.002 をお支払いいただきます。
技術的な質問
料金はいくらですか?
API 経由では1リクエストにつき $0.002 です。このページでブラウザから実行する場合も無料です。
数値でない入力を送るとどうなりますか?
どのフィールドが失敗したかを説明する invalid_input エラーで拒否されます。エラーになったリクエストは課金されません。