2つの比率のz検定計算ツール
この2つの比率のz検定計算ツールは、独立した2標本の成功率を比較します。各群の成功数と標本サイズを入力すると、観測比率、帰無仮説の下でプールした比率、プール標準誤差、符号付きz統計量、両側p値を返します。計算は決定論的で過程も明確なため、正規近似が妥当な場面での迅速な分析、再現可能な報告、自動チェックにご利用いただけます。
無料で実行
独立した2群の度数を入力します
各群について、成功数と観測総数を入力してください。成功とは、購入、検査合格、アンケートへの回答、事前に定めた臨床評価項目の達成など、比較したい事象を指します。成功数は0以上で対応する標本サイズ以下の整数、標本サイズは1以上の整数である必要があります。数値上は精密でも不整合な問いにならないよう、両群で同じ成功の定義と観測期間を用いてください。また、一つの観測が両方の標本に含まれず、意図的な対応付けもない独立した群である必要があります。別々に割り付けた実験群は通常独立していますが、同じ人を介入前後に測定したデータには対応のある別の手法が必要です。丸めた百分率ではなく元の度数を入力すると、実際の分母を保持して不要な丸め誤差を避けられます。差は常に第1群から第2群を引いて計算されるため、説明したい方向に合わせて群の順序を選んでください。
プールしたz検定の計算方法を確認します
帰無仮説では、2つの母比率が等しいと仮定します。この仮定の下で、両標本の成功数を合計し、全成功数を全観測数で割って一つのプール比率を推定します。プール標準誤差は、プール比率と1からその比率を引いた値、さらに各標本サイズの逆数の和を掛け、その平方根を取ったものです。z統計量は、観測された差である第1比率から第2比率を引いた値を、この標準誤差で割って求めます。正の値なら第1群の観測率が高く、負の値なら低いことを示します。p値は両側であり、どちらの方向についても等しいという仮説への反証の強さを表し、zの絶対値より外側の標準正規分布の片側確率を2倍します。連続性補正は行いません。両群がすべて失敗、またはすべて成功の場合は比率が同じで分散が0になるため、zを0、p値を1として返します。中間値も返すので計算を検証できます。
p値を解釈し近似の妥当性を確認します
p値が小さい場合、母比率が本当に等しく標本抽出の仮定が成立しているなら、観測値以上に極端な差は起こりにくいことを示します。ただし、帰無仮説が正しい確率ではなく、差の実用的重要性を測るものでも、因果関係を証明するものでもありません。2つの観測比率も確認し、結果を伝える際には信頼区間や効果量の併記をご検討ください。正規近似を採用する前に、プールした帰無仮説の下で期待される成功数と失敗数が両群で十分に大きいか確認します。一般的な目安は各期待度数が5以上ですが、より厳しい基準が適切な場合もあります。疎なデータ、まれな事象、非常に小さい標本、0または1に近い比率では、Fisherの正確確率検定などの正確法が適することがあります。独立性と研究設計も重要であり、選択バイアス、反復観測、定義の不一致、多数の計画外比較は、説得力がありそうなp値を無効にし得ます。決定論的なAPIは1リクエスト$0.002で、同じ式を再現します。
活用例
実験のコンバージョン率を比較
独立に割り付けた各案で、購入率や登録率に差があるという証拠を検定します。
不良率を比較
2つの生産群について、共通の品質基準を満たさない製品の割合を比較します。
調査回答の差を評価
独立に抽出した2つの母集団で、同じ質問による二値回答を分析します。
よくある質問
p値は片側ですか、両側ですか?
両側であり、どちらの方向の差も検定します。
比率をプールするのはなぜですか?
帰無仮説では共通の母比率を仮定するため、その標準誤差では両群の成功数と観測数を合計します。
z統計量の差はどちら向きですか?
第1比率から第2比率を引きます。正の結果は、第1の観測比率が高いことを示します。
度数の代わりに百分率を入力できますか?
いいえ。実際の分母を保持するため、成功数と標本サイズを整数で入力してください。
標本サイズが1未満の場合はどうなりますか?
各群に少なくとも1件の観測が必要なため、無効な入力としてエラーを返します。
APIの利用料金はいくらですか?
APIリクエスト1回の料金は$0.002です。ブラウザーでも計算をローカル実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/z-test-two-proportions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"successes_1":56,"size_1":100,"successes_2":42,"size_2":100}'const res = await fetch("https://api.kit.forhosting.com/stat/z-test-two-proportions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"successes_1": 56,
"size_1": 100,
"successes_2": 42,
"size_2": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/z-test-two-proportions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"successes_1": 56,
"size_1": 100,
"successes_2": 42,
"size_2": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/z-test-two-proportions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"successes_1":56,"size_1":100,"successes_2":42,"size_2":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"successes_1":56,"size_1":100,"successes_2":42,"size_2":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/z-test-two-proportions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"successes_1": 56,
"size_1": 100,
"successes_2": 42,
"size_2": 100
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.z_test_two_proportions",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |