総平方和計算機
データ全体が平均のまわりにどれだけ散らばっているかを測ります。2、4、6、8なら平均は5で、総平方和は20です。確認用にデータの個数と平均も表示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 観測値
- 2, 4, 6, 8
- N
- 4
- 平均
- 5
- 全平方和
- 20
総平方和は、観測された数値が算術平均の周囲にどの程度広がっているかを全体として表す指標です。各観測値から平均を引き、その偏差を二乗してから、すべてを合計します。補正総平方和とも呼ばれ、SST または TSS と表記されます。母分散、標本分散、分散分析、回帰診断の基礎になる正規化前の量です。有限数からなる空でない配列を指定すると、観測数、平均、総平方和を返します。空の配列には平均がなく、偏差も定義できないため、エラーとして扱います。
総平方和の計算方法
まず、観測値を含む空でない配列を用意します。計算機はすべての値を加算し、その合計を観測数で割って算術平均を求めます。次にデータをもう一度走査します。
各観測値から平均を引き、得られた偏差を二乗し、その値を累計へ加えます。数式では、すべての観測について (x から x バーを引いた値) の二乗を合計したものです。二乗しない場合、平均より小さい偏差と大きい偏差が互いに相殺されるため、二乗が必要です。
すべての観測値が同じなら結果は 0 です。値が 1 個だけの配列でも、その値が平均と一致するため 0 になります。結果が大きいほど全体の散らばりは大きいものの、その値は数値の尺度と観測数の両方に左右されます。
この実装は有限数に対する決定的な算術演算だけを使用し、ネットワーク、時刻、乱数にはアクセスしません。文字列、null、NaN、無限大は暗黙に変換せず拒否するため、返される統計量は入力した数値配列に正確に対応します。
TSS の解釈と分散との関係
総平方和は正規化されていない散布度です。平均的な 1 観測あたりの二乗距離ではなく、観測配列全体が自身の平均から持つ二乗距離の総量を示します。母分散は TSS を n で割って求めます。
一般的な不偏標本分散では、観測が 2 個以上あるとき同じ分子を n から 1 を引いた値で割ります。多くの統計式は分母を選ぶ前にこの分子を利用するため、TSS を独立して保持すると便利です。分散分析では、総平方和を説明成分と残差成分に分解できます。
回帰では、総平方和と残差平方和の比較が決定係数の算出に役立ちます。単位にも注意が必要です。観測値の単位がメートルなら、TSS の単位は平方メートルです。
そのため、単位と尺度が互換であるデータ集合だけを直接比較してください。配列が長いと偏差の個数も増えるため、それだけで TSS が大きくなる場合があります。規模を調整して比較する場合は、値が母集団全体なのか標本なのかを判断したうえで、適切な分散または標準偏差をご利用ください。
入力規則、検証、実用例
観測値の順序は結果に影響しません。同じ値が繰り返されていても、それぞれが実際の観測なので保持されます。整数、小数、負数、0 を使用できます。
別の式で TSS を使う前に件数と平均を確認できるため、結果を監査しやすい構成です。主な用途には、ANOVA 計算の準備、回帰問題の確認、母分散または標本分散の導出、表計算式の検証、統計ソフトウェア向けの決定的なテストデータ作成があります。たとえば観測値 2、4、6、8 の平均は 5 で、偏差平方は 9、1、1、9 となり、TSS は 20 です。
活用例
ANOVA の準備
群間平方和と群内平方和へ分解できる、補正済みの全変動を計算します。
分散の検算
データに適切な分母を適用する前に、母分散と標本分散で共通する分子を確認します。
回帰と表計算のテスト
回帰診断、教材、自動テスト、数式監査に使える決定的な TSS 値を生成します。
よくある質問
総平方和とは何ですか?
各観測値と、すべての観測値の算術平均との差を二乗し、それらを合計した値です。
総平方和と分散は同じですか?
いいえ。 TSS は分散の分子です。母分散では n、標本分散では通常 n から 1 を引いた値で割ります。
総平方和が 0 になることはありますか?
はい。 すべての観測値が同じ場合は 0 です。値が 1 個だけの配列も該当します。
総平方和を手計算で求めるには?
平均を求め、各値から平均を引いて2乗し、すべて足します。2、4、6、8では平均が5、偏差の2乗が9、1、1、9となり、合計は20です。
総平方和の単位は何になりますか?
元のデータの単位を2乗したものになります。値がメートルなら結果は平方メートルなので、同じ尺度で測ったデータどうしでのみ比べてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/total-sum-squares \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"observed":[2,4,6,8]}'const res = await fetch("https://api.kit.forhosting.com/stat/total-sum-squares", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"observed": [
2,
4,
6,
8
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/total-sum-squares",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"observed": [
2,
4,
6,
8
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/total-sum-squares", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"observed":[2,4,6,8]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"observed":[2,4,6,8]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/total-sum-squares", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"observed": [
2,
4,
6,
8
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.total_sum_squares",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力規則、検証、実用例
observed フィールドに有限数を 1 個以上含む JSON 配列を設定したオブジェクトを送信してください。空の配列、フィールドの欠落、有限の JSON 数値ではない要素は invalid_input エラーになります。成功時の応答には n、算術平均、total_sum_squares が含まれます。ブラウザーでの計算は無料で、成功した API リクエストには 1 項目あたり公開基本料金 $0.002 が適用されます。無効なリクエストは、有効な統計量を返す前に拒否されます。
技術的な質問
observed 配列が空の場合はどうなりますか?
空の配列には算術平均がなく総平方和も未定義のため、invalid_input エラーになります。
計算機の料金はいくらですか?
ブラウザー版は無料です。成功した API リクエストは 1 項目あたり $0.002 で、無効な入力には課金されません。