Keyword: ノンパラメトリック, Sign Test, 検定
概要
本サンプルは符号検定 (Sign Test) を行うFortranによるサンプルプログラムです。 本サンプルは以下に示される2つの関連した(ペアの)標本を分析対象とし、検定統計量と P値 を算出します。
※本サンプルはnAG Fortranライブラリに含まれるルーチン g08aaf() のExampleコードです。本サンプル及びルーチンの詳細情報は g08aaf のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本ルーチンの詳細はg08aaf のマニュアルページを参照)1 2 3 4 5 6
このデータをダウンロード |
G08AAF Example Program Data 17 :: N 4.0 4.0 5.0 5.0 3.0 2.0 5.0 3.0 1.0 5.0 5.0 5.0 4.0 5.0 5.0 5.0 5.0 :: End of X 2.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0 2.0 3.0 2.0 2.0 5.0 2.0 5.0 3.0 1.0 :: End of Y
- 1行目はタイトル行で読み飛ばされます。
- 2行目に標本のサイズ(n)を指定しています。
- 3~4行目に一つ目の標本(x)を指定しています。
- 5~6行目に二つ目の標本(y)を指定しています。
出力結果
(本ルーチンの詳細はg08aaf のマニュアルページを参照)1 2 3 4 5 6 7 8 9 10 11 12
この出力例をダウンロード |
G08AAF Example Program Results Sign test Data values 4. 4. 5. 5. 3. 2. 5. 3. 1. 5. 5. 5. 4. 5. 5. 5. 5. 2. 3. 3. 3. 3. 3. 3. 3. 2. 3. 2. 2. 5. 2. 5. 3. 1. Test statistic 3 Observations 14 Lower tail prob. 0.029
- 7行目~8行目は読み込まれたデータがそのまま出力されています。
- 10行目は符号検定の統計量が出力されています。
- 11行目は観察数が出力されています。
- 12行目には下側確率 (lower tail probability) である P値 が出力されています。
ソースコード
(本ルーチンの詳細はg08aaf のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「nAG Fortranライブラリ」のルーチンを呼び出します。
サンプルのコンパイル及び実行方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
このソースコードをダウンロード |
PROGRAM g08aafe ! G08AAF Example Program Text ! Mark 23 Release. nAG Copyright 2011. ! .. Use Statements .. USE nag_library, ONLY : g08aaf, nag_wp ! .. Implicit None Statement .. IMPLICIT NONE ! .. Parameters .. INTEGER, PARAMETER :: nin = 5, nout = 6 ! .. Local Scalars .. REAL (KIND=nag_wp) :: p INTEGER :: ifail, isgn, n, n1 ! .. Local Arrays .. REAL (KIND=nag_wp), ALLOCATABLE :: x(:), y(:) ! .. Executable Statements .. WRITE (nout,*) 'G08AAF Example Program Results' WRITE (nout,*) ! Skip heading in data file READ (nin,*) ! Read in problem size READ (nin,*) n ALLOCATE (x(n),y(n)) ! Read in data READ (nin,*) x(1:n) READ (nin,*) y(1:n) ! Display title WRITE (nout,*) 'Sign test' WRITE (nout,*) ! Display input data WRITE (nout,*) 'Data values' WRITE (nout,*) WRITE (nout,99999) x(1:n) WRITE (nout,99999) y(1:n) ! Perform the sign test ifail = 0 CALL g08aaf(x,y,n,isgn,n1,p,ifail) ! Display results WRITE (nout,*) WRITE (nout,99998) 'Test statistic ', isgn WRITE (nout,99998) 'Observations ', n1 WRITE (nout,99997) 'Lower tail prob.', p 99999 FORMAT (4X,20F3.0) 99998 FORMAT (1X,A,I5) 99997 FORMAT (1X,A,F6.3) END PROGRAM g08aafe