Main Content

sampsizepwr

標本サイズと検定の検出力

説明

sampsizepwr は、標本サイズまたは検出力を計算します。または、この 2 つの値が与えられた場合に仮説検定の対立仮説のパラメーター値を計算します。たとえば、対立仮説のパラメーター値が与えられた場合に、ある仮説検定について特定の検出力を取得するために必要な標本サイズを計算できます。

nout = sampsizepwr(testtype,p0,p1) は、有意水準 (帰無仮説が真である場合に帰無仮説を棄却する確率) が 0.05 の場合に、testtype で指定されたタイプの両側検定の検出力 (対立仮説が真である場合に帰無仮説を棄却する確率) を 0.90 にするために必要な標本サイズ nout を返します。p0 では、帰無仮説のパラメーター値を指定します。p1 では、対立仮説で検定する単一パラメーターの値または値の配列を指定します。

nout = sampsizepwr(testtype,p0,p1,pwr) は、標本サイズ nout、指定された検出力 pwr、および対立仮説のパラメーター値 p1 を返します。

pwrout = sampsizepwr(testtype,p0,p1,[],n) は、真のパラメーター値が p1 の場合に n の標本サイズのために達成された乗数を返します。

p1out = sampsizepwr(testtype,p0,[],pwr,n) は、指定された標本サイズ n および検出力 pwr で検出できるパラメーター値を返します。

___ = sampsizepwr(testtype,p0,p1,pwr,n,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、上記の引数のいずれかを返します。たとえば、検定の有意水準を変更したり、右側検定または左側検定を指定できます。名前と値のペアを指定する順序に制限はありませんが、6 番目の引数位置で始まらなければなりません。

すべて折りたたむ

ある会社で、100 mL の液体を空のボトルに詰めるという製造工程を使用しています。この会社では、品質を管理するため、いくつかのボトルを無作為に選択し、内部の液体の体積を測定しています。

0.80 という検出力で 100 mL と 102 mL の違いを検出する t 検定に必要な標本サイズを決定します。標準偏差が 5 mL であると仮定します。

nout = sampsizepwr('t',[100 5],102,0.80)
nout = 52

0.80 という検出力で平均値 100 mL と 102 mL の違いを検出するには、52 本のボトルを検定しなければなりません。

検出力の曲線を生成して、標本サイズが検定の検出力に与える影響を可視化します。

nn = 1:100;
pwrout = sampsizepwr('t',[100 5],102,[],nn);

figure;
plot(nn,pwrout,'b-',nout,0.8,'ro')
title('Power versus Sample Size')
xlabel('Sample Size')
ylabel('Power')

Figure contains an axes object. The axes object with title Power versus Sample Size, xlabel Sample Size, ylabel Power contains 2 objects of type line. One or more of the lines displays its values using only markers

ある従業員が、事務所の近くにある家を購入しようと考えています。そして、朝の平均通勤時間が 20 分以上かかる家は考慮しないことにしました。この右側検定の帰無仮説 H0 は μ = 20、対立仮説 HA は μ > 20 です。選択した有意水準は 0.05 です。

平均通勤時間を決定するため、1 週間にわたって毎朝のラッシュ時にこの家からオフィスまで試運転を行ったので、合計標本サイズは 5 です。標準偏差 σ は 5 であると仮定しました。

この従業員は、25 分という真の平均通勤時間は目標の限度である 20 分との差が大きいので、真の平均が 25 分である場合の有意な乖離を求めることにしました。平均通勤時間を 20 分以内とした結論が誤りである確率を計算します。

検定の検出力を計算し、1 から減算して β を取得します。

power = sampsizepwr('t',[20 5],25,[],5,'Tail','right');
beta = 1 - power
beta = 0.4203

β の値は、朝の通勤時間が 20 分以内であるという結論が誤りである確率は 0.4203 であることを示しています。

この従業員は、このリスクは高すぎると判断したので、誤った結論に達する確率を 0.01 以下にしようと考えました。0.99 という検出力を得るために必要な試運転の回数を計算します。

nout = sampsizepwr('t',[20 5],25,0.99,[],'Tail','right')
nout = 18

この結果は、目的の検出力を得るには候補の家からの試運転を 18 回行う必要があることを示しています。

この従業員には、試運転を 10 回行う時間しかありません。また、0.05 という確率で誤った結論に達する可能性を受け入れることにしました。平均通勤時間において、検出可能な差異を出力する真のパラメーターとしての最小値を計算します。

p1out = sampsizepwr('t',[20 5],[],0.95,10,'Tail','right')
p1out = 25.6532

目標の検出力とこの標本サイズでは、25.6532 分という平均通勤時間からの有意な差を検定で検出できます。

検出力が 0.8 の二項検定を使用して、p = 0.30 を p = 0.36 と区別するために必要な標本サイズ n を計算します。

napprox = sampsizepwr('p',0.30,0.36,0.8)
Warning: Values N>200 are approximate.  Plotting the power as a function
of N may reveal lower N values that have the required power.
napprox = 485

この結果は、0.8 という検出力を実現するには標本サイズとして 485 が必要であることを示しています。ただし、この結果は概算値です。

プロットを作成して、必要な検出力 0.8 をより小さい n の値で実現できるかどうかを調べます。

nn = 1:500;
pwrout = sampsizepwr('p',0.3,0.36,[],nn);
nexact = min(nn(pwrout>=0.8))
nexact = 462
figure
plot(nn,pwrout,'b-',[napprox nexact],pwrout([napprox nexact]),'ro')
grid on

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers

この結果は、462 という標本サイズでもこの検定について 0.8 という検出力になることを示しています。

ある農業経営者が 2 種類の肥料が豆の収穫量に与える影響を検定しようと考えています。現在は肥料 A を使用していますが、肥料 B の方が収穫量が増えると確信しています。そして、肥料 B は肥料 A より高価なので、この実験では肥料 B で処理する苗木の数を制限しようと考えています。

そこで、各処理グループで苗木を 2:1 の比率で使用しました。10 本の苗木を肥料 A で、5 本の苗木を肥料 B で検定しました。肥料 A を使用した場合の平均収穫量は苗木 1 本あたり 1.4 kg で、標準偏差は 0.2 でした。肥料 B を使用した場合の平均収穫量は苗木 1 本あたり 1.7 kg でした。検定の有意水準は 0.05 です。

この検定の検出力を計算します。

pwr = sampsizepwr('t2',[1.4 0.2],1.7,[],5,'Ratio',2)
pwr = 0.7165

農業経営者は、検定の検出力を 0.90 に上昇させようと考えています。いずれかの肥料を使用すべき苗木が何本であるかを計算します。

n = sampsizepwr('t2',[1.4 0.2],1.7,0.9,[])
n = 11

検定の検出力を 0.90 に上昇させるには、11 本の苗木をいずれかの肥料で検定しなければなりません。

検定の検出力を 0.90 に保ちながら、各処理グループにおける当初の 2:1 という苗木の比率を維持したまま、肥料 B で処理すべき苗木の本数を減らそうと考えています。

各処理グループにおける 2:1 という苗木の比率を使用して、0.90 という検出力を得るために検定すべき苗木の本数を計算します。前の検定で得られた平均と標準偏差の値を使用します。

[n1out,n2out] = sampsizepwr('t2',[1.4,0.2],1.7,0.9,[],'Ratio',2)
n1out = 8
n2out = 16

0.90 という検出力を得るには、16 本の苗木を肥料 A で、8 本の苗木を肥料 B で処理しなければなりません。

入力引数

すべて折りたたむ

検定タイプ。次のいずれかを指定します。

  • 'z' ― 標準偏差が既知の正規分布データに対する z 検定。

  • 't' ― 標準偏差が不明な正規分布データに対する t 検定。

  • 't2' ― 標準偏差が不明で分散が等しい正規分布データに対する 2 標本プール t 検定。

  • 'var' ― 正規分布データに対する分散のカイ二乗検定。

  • 'p' ― 二項分布に対する p パラメーター (成功確率) の検定。'p' 検定は、標本サイズを増加することで必ずしも力が増加されるとは限らない離散テストです。n の値が 200 より大きい場合、返される n の値より小さい値でも、指定された検出力が得られる可能性があります。

帰無仮説におけるパラメーター値。スカラー値またはスカラー値が含まれている 2 要素の配列を指定します。

  • testtype'z' または 't' の場合、p0 は帰無仮説における平均および標準偏差の 2 つの要素 [mu0,sigma0] をもつ配列になります。

  • testtype't2' の場合、p0 は平均および標準偏差の 2 つの要素をもつ配列 [mu0,sigma0] になります。それぞれ帰無仮説および対立仮説における最初の標本に対応します。

  • testtype'var' の場合、p0 は帰無仮説における分散です。

  • testtype'p' の場合、p0 は帰無仮説における p の値です。

データ型: single | double

対立仮説におけるパラメーター値。スカラー値またはスカラー値の配列を指定します。

  • testtype'z' または 't' の場合、p1 は対立仮説における平均の値です。

  • testtype't2' の場合、p1 は対立仮説における 2 番目の標本の平均の値です。

  • testtype'var' の場合、p1 は対立仮説における分散です。

  • testtype'p' の場合、p1 は対立仮説における p の値です。

p1 として配列を指定した場合、sampsizepwrp1 と同じ長さの nout または pwrout の配列を返します。

対立仮説のパラメーター値 p1out を取得するには、構文の説明に示されているように、空の大かっこ ([]) を使用して p1 を指定します。

データ型: single | double

検定の検出力。(0,1) の範囲にあるスカラー値または (0,1) の範囲にあるスカラー値の配列を指定します。検定の検出力とは、与えられた有意水準において、対立仮説が真である場合に帰無仮説を棄却する確率です。

pwr として配列を指定した場合、sampsizepwrpwr と同じ長さの nout または p1out の配列を返します。

検出力の値 pwrout を取得するには、構文の説明に示されているように、空の大かっこ ([]) を使用して pwr を指定します。

データ型: single | double

標本のサイズ。正の整数値または正の整数値の配列を指定します。

testtype't2' の場合、sampsizepwr では 2 つの標本のサイズが等しいと仮定します。標本のサイズが等しくない場合は、n として 2 つのサイズの小さい方を指定し、'Ratio' の名前と値のペアの引数を使用して標本サイズの比率を指定します。たとえば、小さい標本のサイズが 5、大きい標本のサイズが 10 の場合、n として 5 を、名前と値のペア 'Ratio' として 2 を指定します。

n として配列を指定した場合、sampsizepwrn と同じ長さの pwrout または p1out の配列を返します。

データ型: single | double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'Alpha',0.01,'Tail','right' は、有意水準 0.01 の右側検定を指定します。

検定の有意水準。'Alpha' と (0,1) の範囲にあるスカラー値をコンマで区切って指定します。

例: 'Alpha',0.01

データ型: single | double

2 標本 t 検定の標本サイズの比率。'Ratio' と 1 以上のスカラー値をコンマ区切りのペアとして指定します。Ratio の値は n2/n1 と同じ値です。n2 は大きい方の標本サイズ、n1 は小さい方の標本サイズです。

検出力 pwrout または対立仮説のパラメーター値 p1out を取得するには、2 つの標本サイズの小さい方を n に指定し、'Ratio' を使用して標本サイズの比率を指定します。

例: 'Ratio',2

検定のタイプ。'Tail' と次のいずれかをコンマで区切って指定します。

  • 'both'p0 に等しくないという対立仮説に対する両側検定

  • 'right'p0 より大きいという対立仮説に対する片側検定

  • 'left'p0 より小さいという対立仮説に対する片側検定

例: 'Tail','right'

出力引数

すべて折りたたむ

標本のサイズは、正の整数値または正の整数値の配列として返されます。sampsizepwrceil を適用して、生の標本サイズを次の整数に切り上げます。

testtypet2 で、'Ratio' の名前と値のペアの引数を使用して 2 つの等しくない標本サイズの比率を指定した場合、nout には 2 つの標本サイズの小さい方が返されます。

あるいは、両方の標本サイズを取得するには、この引数として [n1out,n2out] を指定します。この場合、sampsizepwr は小さい方の標本サイズを n1out に、大きい方の標本サイズを n2out に返します。

pwr または p1 として配列を指定した場合、sampsizepwrpwr または p1 と同じ長さの配列を nout に返します。

検定で得られる検出力。(0,1) の範囲にあるスカラー値または (0,1) の範囲にあるスカラー値の配列として返されます。

n または p1 として配列を指定した場合、sampsizepwrn または p1 と同じ長さの配列を pwrout に返します。

対立仮説のパラメーター値。スカラー値またはスカラー値の配列として返されます。

'p' 検定の p1out を計算する際に、与えられた帰無仮説と有意水準に対して拒否される代替法がない場合は、関数は警告メッセージを表示し、NaN を返します。

バージョン履歴

R2006b で導入