スタートページ>
JavaScript>
ライブラリ目次
統計検定関連 JavaScript関数ライブラリ test.js の利用解説書
ご利用にあたって
t検定
参照:t分布と推定・検定
t値の計算
t = testTvalue(df, p)
t分布表から、自由度 df、有意水準 p に対応するt値を得ます。
p = 0.1, 0.05, 0.025, 0.01, 0.005 に対応しています。
片側での表記ですので、両側 0.1 のときは 0.05 を用います。
信頼係数(1-有意水準) 0.9 0.95 0.975 0.99 0.995 でも同じです。
この関数は、他のt検定関連関数から呼び出されます。
t検定 平均の区間推定
testTIETrace(表示場所, n, μ, σ, p)
lower, upper = testTIE(n, μ, σ, p)
testTIExTrace(表示場所, x, p)
lower, upper = testTIEx(x, p)
例題「10人の平均身長が 170cm、標準偏差が 9cmであったとき、身長平均の有意水準 0.05 での信頼区間を求めよ。」
testTIEx では、各人の身長 x を入力して、平均、標準偏差を計算して信頼区間を求める。
●左と右の両側になるので、有意水準確率は 0.05/2= 0.025 を用いる
testTIE
testTIEx
t検定 標本平均と母集団平均の比較
testTtest1Trace(表示場所, μ, n, μ0, σ, side)
[t0, tp] = testTtest1(μ, n, μ0, σ, side)
testTtest1xTrace(表示場所, μ, x, side)
[t0, tp] = testTtest1x(μ, x, side)
例題「母平均はμ=50点である。標本n=16人での結果は、平均はμ0=55点、標準偏差はσ=5点であった。
標本の平均点数は母平均より高いといえるか、高いならば有意水準(0.01, 0.05 など)を示せ。」
上側検定では side="upper"、下側検定では side="lower" とする。例題では "upper"
標本から計算したt値が t0. t分布表から得られた有意水準0.05の値が t であり、
上側検定で t < t0 あるいは下側検定で t > t0 ならば「有意水準0.05で有意差がある」とする。
(有意水準 0.1 でも有意差がないときは、 tp=-1 を戻す。
testTtest1
testTtest1x
t検定 2変数の平均の比較
testTtest2Trace(表示場所, nx, μx, σx, ny, μy, σy, side)
[t0, tp] = testTtest2(nx, μx, σx, ny, μy, σy, side)
testTtest2xyTrace(表示場所, x, y, side)
[t0, tp] = testTtest2xy(x, y, side)
例題「製品Xの標本数(nx)10個の特性の平均(μx)は37、標準偏差σxは4
製品Yの標本数(ny) 6個の特性の平均(μy)は32、標準偏差σyは3
であった。Xの特性値ははYよりも大といえるか。」
標本X、Yから、次式により t0 を算出する
t0 = (μx - μy)/(σ√(1/nx + 1/ny)
ただし σ=√[(dfxσx2 + dfyσy2) / (dfx + dfx)]、 dfx、dfyは自由度 nx-1, ny-1
t分布表から、自由度df=dfx + dfx = nx + ny - 2 から有意水準p(0.01,0.05など)のt値 t を調べる。
t0 と t の大小により有意水準 tp=0.05など を戻す。
上側検定で t < t0 あるいは下側検定で t > t0 ならば「有意水準0.05で有意差がある」とする。
(有意水準 0.1 でも有意差がないときは、 tp=-1 を戻す。
testTtest2
testTtest2xy
χ2検定
参照:χ2分布と推定・検定
χ2値の計算(上側確率)
χ2 = testChi2Value(自由度, 上側確率)
自由度 df(1~120 の整数)、有意水準(上側確率)p の χ2値を χ2分布表から求めます。
この関数は、χ2検定の多くの関数で用いられます。
下側確率の場合は、1-p とします。
両側確率のときは、p/2 で上側、1-p/2 で下側確率になります。
χ分布 有意水準の計算
有意水準 = testChi2Pvalue(自由度, χ2)
この関数は、χ2検定の多くの関数で用いられます。
自由度 dfでの分布表がχ2のときの有意水準 p を戻します。
df=10 のときのχ2
p= 0.995, 0.99, 0.975, 0.95, 0.9, 0.1, 0.05, 0.025, 0.01, 0.005
χ2[10] = [2.156, 2.558, 3.247, 3.940, 4.865, 15.99, 18.31, 20.48, 23.21, 25.19]
結果の p
chi2 = 1.5 → p = 0.995 有意水準 0.995 で有意差があるといえる
chi2 = 3.0 → p = 0.95 有意水準 0.95 で有意差があるといえる
chi2 = 4.5 → p = -1 有意水準 0.9 または 0.1 でも有意差があるといえない
chi2 = 17 → p = 0.05 有意水準 0.05 で有意差があるといえる
chi2 = 24 → p = 0.01 有意水準 0.01 で有意差があるといえる
χ2検定 分散の区間推定
testChi2IETrace(表示場所, n, v, p)
[lower, upper] = testChi2IE(n, v, p)
testChi2IExTrace(表示場所, x, p)
[lower, upper] = testChi2IEx(x, p)
上の引数では、v=s2 と表示しています。
母分散σ2 の正規分布に従うn個の標本分散をs2 とすると、
χ2 = (n-1)s2 / σ2
は、自由度 df = n-1 のχs2分布に従がいます。
有意水準を p とすれば、上側確率は p/2、下側確率は 1-p/2 であり、信頼区間は
下限 lower = df*s2 / χ2[df][p/2]
下限 upper = df*s2 / χ2[df][1-p/2]
で求められます。χ2[][] は、testChi2Value(df, p) で求めます。
testChi2IET
testChi2IEx
χ2検定 母分散との比較
testChi2Test1Trace(表示場所, v0, n, vx)
p = testChi2Test1(v0, n, vx)
testChi2Test1xTrace(表示場所, v0, x)
p = testChi2Test1x(v0, x)
母分散が v0 = σ2であり、n個(自由度df=n-1)の標本の標本分散が vx=s2 であるとき、
vx は v0 に比べて大きい(小さい)といえるか、そのときの有意水準 p を求めます。
vx > x0 のときは、p = 0.005 ~ 0.1、vx < x0 のときは、p = 0.995 ~ 0.9 になります。
計算によるχ2=chi2=df(vx/v0) とχ2[df]分布表の値との比較になります。
そのときの有意水準は p = testChi2Pvalue(df, chi2) で得られます。
(分散は標準偏差2ですから、標準偏差が小ならば分散も小になるので、標準偏差の比較でもあります。
標準偏差の比較では正規分布による検定(Z検定)が用いられます。)
testChi2Test1
testChi2Test1x
χ2検定 適合度検定
testChi2fitTrace(表示場所, x, y)
p = testChi2fit(x, y)
本来は多数の変数を扱えますが、ここでは2変数に限定します。
理論値 x と 実測値 y とが一致しているかどうかを n 個の組 (xi, yi) のデータで比較し、
適合度(一致度)の有意水準 p を戻します。
製品xと製品yについてn個の特性値を比較して、xとyに違いがあるかないかを検定するにも適用できます。
標本からのχ2 = Σ[(xi - yi)2 / xi] で求めます。
自由度 df は、(組数-1)(変数-1) になるので、df=(n-1)(2-1) = n-1 です。
分布表のχ2[df] から有意水準 p を求めます。
χ2検定 2x2分割表
testChi2cont2x2Trace(表示場所, a, b, c, d)
p = testChi2cont2x2(a, b, c, d)
下表のように2x2の分割表が与えられたとき、層や特性に差があるかどうかの有意水準pを戻します。
χ2は次のように計算できます。
(ad-bc)2 (a+b+c+d)
χ2 = ──────────
(a+b)(c+d)(a+c)(b+d)
a~dに10よりも小さい値があるときは、Yatesの補正をします。
上の (ad-bc)2 → [((ad-bc)±(a+b+c+d)/2]2 ±は、[ ]2の値が小になるよう選択
単純には、χ2が大きければ、有意差があることになります。
自由度 df=(2-1)(2-1)=1 なので、χ2分布表から 有意水準 p を求めます。
F検定
参照:F分布と推定・検定
F値の計算
[f5, f1] = testFvalue(横自由度, 縦自由度)
F分布表から、上側累積確率
f5 = F0.05(横自由度, 縦自由度),
f1 = F0.01(横自由度, 縦自由度)
を求めます。
下側F値の計算
[f5, f1] = testFvalueLower(横自由度, 縦自由度)
F分布表から、下側累積確率が 0.95, 0.99 のF値を求めます。
F分布表は、通常は上側 0.05, 0.01 しかないので、次の公式を用います。
F1-p[横自由度, 縦自由度」= 1/Fp(縦自由度, 横自由度)
例:F0.05(10, 5) = 4.735 は F分布表から求められます。
f5 = F0.95(5, 10) = 1/F0.05(10, 5) = 1/4.735 = 0.211
F検定 2変数分散比の検定
testFtest2Trace(表示場所, na, v1, n2, v2)
p = testFtest2(n1, v1, n2, v2)
testFtest2xyTrace(表示場所, x, y)
p = testFtest2xy(x, y)
下の入力データで、工程1の分散 v1 が、工程2の分散 v2 よりも大きい(小さい)といえるかを。
分散比 = v1/v2 >< Fp(n1-1, n2-1) により、有意水準 p=0.05, 0.01 で検定します。
通常は、v1/v2 > 1 として上側確率を用いるので、分散が大きいほうを v1(工程1=分子側)にします。
すなわち、大きいかどうかの検定です。
ここでは、v1 < v2 のときも、下側確率を用いて、小さいかどうかの検定もできます。
testFtest2
testFtest2xy
ANOVA F検定による分散分析
F分布による分散分析 ANOVA(analysis of variance)
二つの平均値の相違を検討するにはt検定を用いるが、 三つ以上の平均値の相違を検討する場合にはF検定を用います。
結果は、全ての群に差があるとはいえない/どれかに差があるといえるの有意水準を求めることです。
F検定の流れ
自由度を加味した群間変動2の総和を(群内変動2)の総和で割り算し、F値を算出する
F値が大きいかどうかを判断する閾値を2種類の自由度を使用したF分布から算出する
F値と閾値の大きさを比較する
F検定には4種類の方法があります。
一元配置要因分散分析(対応なし)one way factorial ANOVA testFAnova1Fact
一元配置反復測定分散分析(対応あり)one way repeated ANOVA testFAnova1Rep
二元配置要因分散分析(対応なし)two way factorial ANOVA testFAnova2act
二元配置反復測定分散分析(対応あり)two way repeated ANOVA testFAnova2Rep
参照:分散分析
F検定 一元配置要因分散分析
testFAnova1FactTrace(表示場所, x);
rtn = testFAnova1Fact(x);
ケース1
例題「ある製品を3つの工程で生産した。各工程の標本の製品特性を「入力」に示した。
3つの工程で特性平均に差があるといえるか」
特徴:1 対象とする特性は1つ(一元配置)
2 工程間の標本は独立(対応なし)同じ標本に異なる加工をしたのではない。
3 どの工程が他の工程と異なるかではなく、全体として差があるかないかを求めている。
入力:
var x = [ [ 10, 12, 12, 14, 14, 16 ], // 群(工程)0
[ 12, 10, 12, 13, 12, 12, 14, 11, 12 ], // 群1
[ 10, 12, 11, 10, 10, 13, 11 ] ]; // 群2
var rtn = testFAnova1Fact(x);
結果:
分散分析表 [i] は戻り値 rtn[i] を示します、
偏差平方和 自由度 分散
─────── ───── ────
群間変動 群間偏差平方和 群間自由度 群間分散
Sa=12.95[4] dfa=m-1=2[5] Va=Sa/dfa=6.48[6]
群内変動 群内偏差平方和 群内自由度 群内分散
Se=40 [7] dfe=m-n=19[8] Ve=Ss/dfs=2.11[9]
全体変動 全体偏差平方和 全体自由度 全体分散
St=52.95[10] dft=n-1=21[11] Vt=St/dft=2.52[12]
分散比 = F値 = Va/Ve=3.077[3]
F分布表から、F0.05(dfa, dfe) = 3.522[2] F0.05 = 5.926[1] を得る
分散比 > F0.05、F0.01 ならば、有意水準 p = 0.05[0] で異なる平均の群があるとし
分散比 < ならば、異なる平均の群があるとはいえない この例での検定結果 p=-1[0] を戻す。
ケース2
var x = [ [ 10, 12, 12, 14, 14, 16 ],
[ 12, 10, 12, 13, 12, 12, 14, 11, 12 ],
[ 10, 12, 11, 10, 10, 13, 11 ] ];
F検定 一元配置反復測定分散分析
testFAnova1RepTrace(表示場所, x);
rtn = testFAnova1Rep(x);
ケース1
例題「4つの材料に加工1とさらに加工2の工程を加えてみた。追加工程により特性の平均に差があるといえるか」
特徴:1 対象とする特性は1つ(一元配置)
2 同じ標本を用いる(対応あり)
3 加工1、加工2のどれが効果があったかではなく、全体として差が生じたかどうかを求めている。
入力
標本 A B C D 群
var x = [ [ 3, 2, 2, 5], // 0 加工0 加工前
[ 7, 4, 1, 4], // 1 加工1をした
[ 11, 6, 6, 9 ] ]; // 2 さらに加工2を追加
var rtn = testFAnova1Rep(x);
Return での戻り値
分散分析表 [i] は rtn[i] を示す
自由度 偏差平方和 分散
標本間 [4] 3 [5] 30 [6] 10.00
群間 [7] 2 [8] 56 [9] 28.00
標本*群 [10] 6 [11] 12 [12] 2.00
分散比 =[3] 14.00 F0.05 =[2] 5.143 F0.01 =[1] 10.92 p =[0] 0.01
ケース2
F検定 二元元配置要因分散分析
testFAnova2FactTrace(表示場所, x);
rtn = testFAnova2Fact(x);
ケース1
例題「ある反応の反応度は、圧力(因子0)と温度(因子1)が大きく関係している。
圧力は高・低の2水準、温度は高・中・低の3水準がある。
この2×3のケースでの反応度を与えて分析することにより、因子・水準の影響を調べよ」
入力:
因子1
高 中 低
var x = [ [ 30, 18, 16 ], // 温度高 ┬ 因子0
[ 25, 18, 15 ] ]; // 温度低 ┘
var rtn = testFAnova2Fact(x);
結果:
分散分析表の作成 rtn = testFAnova2Fact(x)
変動要因 変動 自由度 分散 分散比 F0.05 F0.01 有意水準
因子0 rtn[0]=6.00 rtn[1]=1 rtn[2]=6.00 rtn[3]=1.71 rtn[4]=18.51 rtn[5]=98.5 rtn[6]=-1 差があるとはいえない
因子1 rtn[7]=160.33 rtn[8]=2 rtn[9]=80.17 rtn[10]=22.90 rtn[11]=19 rtn[12]=99 rtn[13]=0.05 差がある
誤差 rtn[14]=7.00 rtn[15]=2 rtn[16]=3.50
全変動 rtn[17]=173.33 rtn[18]=5
結果「圧力による違いがあるとはいえないが、温度による違いは有意水準 0.05 であるといえる」
ケース2
F検定 一元配置反復測定分散分析
testFAnova2RepTrace(表示場所, x);
rtn = testFAnova2Rep(x);
ケース1
例題「ある反応の反応度は、圧力(因子0)と温度(因子1)が大きく関係している。
圧力は高・低の2水準、温度は高・中・低の3水準がある。
5つの異なる原料から標本をとり、それぞれの標本を6つの試料に分けて、
この2×3のケースで実験を行った。因子・水準の影響を調べよ」
入力:
標 本
A B C D E 因子1 因子0
var x = [ [ [18, 22, 20, 18, 22], 水準0┐
[18, 14, 18, 24, 16], 水準1├水準0
[14, 18, 16, 14, 18] ], 水準2┘
[ [21, 18, 17, 15, 19], 水準0┐
[17, 19, 16, 17, 21], 水準1├水準1
[15, 13, 14, 15, 18] ] ] 水準2┘
x は3次元配列 [因子0水準][因子1水準][標本]
分散分析表 rtn = testFAnova2Rep(x) の戻り値
変動要因 変動 自由度 分散 分散比 F005 F001 有意水準
因子0 rtn[0] = 7.5 rtn[1] = 1 rtn[2] = 7.5 rtn[3] =1.304 rtn[4] =4.260 rtn[5] =7.823 rtn[6] = -1
因子1 rtn[7] = 65.0 rtn[8] = 2 rtn[9] =32.5 rtn[10]=5.652 rtn[11]=3.403 rtn[12]=5.614 rtn[13]= 0.01
交互作用 rtn[14]= 5.0 rtn[15]= 2 rtn[16]= 2.5 rtn[17]=0.435 rtn[18]=3.403 rtn[19]=5.614 rtn[20]= -1
誤差 rtn[21]=138.0 rtn[22]=24 rtn[23]= 5.5
全変動 rtn[24]=215.5 rtn[25]=29 有意水準 -1 は「有意差があるとはいえない」を示す
ケース2