Keyword: フリードマン, Friedman Test, 検定, 二元配置分散分析
概要
本サンプルはフリードマンの二元配置分散分析(フリードマン検定/Friedman Test) を行うFortranによるサンプルプログラムです。 本サンプルは以下に示される3つの標本を分析対象とし、検定統計量と自由度、有意確率を出力します。
※本サンプルはnAG Fortranライブラリに含まれるルーチン g08aef() のExampleコードです。本サンプル及びルーチンの詳細情報は g08aef のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本ルーチンの詳細はg08aef のマニュアルページを参照)1 2 3 4 5 6 7 8
このデータをダウンロード |
G08AEF Example Program Data 3 18 :: K,N 1.0 2.0 1.0 1.0 3.0 2.0 3.0 1.0 3.0 3.0 2.0 2.0 3.0 2.0 2.5 3.0 3.0 2.0 3.0 3.0 3.0 2.0 1.0 3.0 2.0 3.0 1.0 1.0 3.0 3.0 2.0 3.0 2.5 2.0 2.0 3.0 2.0 1.0 2.0 3.0 2.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 :: End of X
- 1行目はタイトル行で読み飛ばされます。
- 2行目に標本の数(k)と各標本のサイズ(n)を指定しています。
- 3~8行目に3つの標本の観察データ(x)を指定しています。
出力結果
(本ルーチンの詳細はg08aef のマニュアルページを参照)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
この出力例をダウンロード |
G08AEF Example Program Results Friedman test Data values 1 2 3 4 5 6 7 1 1.0000 2.0000 1.0000 1.0000 3.0000 2.0000 3.0000 2 3.0000 3.0000 3.0000 2.0000 1.0000 3.0000 2.0000 3 2.0000 1.0000 2.0000 3.0000 2.0000 1.0000 1.0000 8 9 10 11 12 13 14 1 1.0000 3.0000 3.0000 2.0000 2.0000 3.0000 2.0000 2 3.0000 1.0000 1.0000 3.0000 3.0000 2.0000 3.0000 3 2.0000 2.0000 2.0000 1.0000 1.0000 1.0000 1.0000 15 16 17 18 1 2.5000 3.0000 3.0000 2.0000 2 2.5000 2.0000 2.0000 3.0000 3 1.0000 1.0000 1.0000 1.0000 Test statistic 8.583 Degrees of freedom 2 Significance 0.014
- 6行目~19行目に読み込まれた3つの標本のデータがそれぞれ3行に渡って18個ずつ出力されています。"1"の行に1つ目の標本データ、"2"の行に2つ目の標本データ、"3"の行に3つ目の標本データが出力されています。
- 21行目には検定統計量が出力されています。
- 22行目には自由度が出力されています。
- 23行目には有意確率が出力されています。
ソースコード
(本ルーチンの詳細はg08aef のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「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
このソースコードをダウンロード |
PROGRAM g08aefe ! G08AEF Example Program Text ! Mark 23 Release. nAG Copyright 2011. ! .. Use Statements .. USE nag_library, ONLY : g08aef, nag_wp, x04caf ! .. Implicit None Statement .. IMPLICIT NONE ! .. Parameters .. INTEGER, PARAMETER :: nin = 5, nout = 6 ! .. Local Scalars .. REAL (KIND=nag_wp) :: fr, p INTEGER :: i, ifail, k, ldx, n ! .. Local Arrays .. REAL (KIND=nag_wp), ALLOCATABLE :: w1(:), w2(:), x(:,:) ! .. Executable Statements .. WRITE (nout,*) 'G08AEF Example Program Results' WRITE (nout,*) ! Skip heading in data file READ (nin,*) ! Read in the problem size READ (nin,*) k, n ldx = k ALLOCATE (x(ldx,n),w1(k),w2(k)) ! Read in data READ (nin,*) (x(i,1:n),i=1,k) ! Display title WRITE (nout,*) 'Friedman test' WRITE (nout,*) FLUSH (nout) ! Display input data ifail = 0 CALL x04caf('General',' ',k,n,x,ldx,'Data values',ifail) ! Perform ANOVA ifail = 0 CALL g08aef(x,ldx,k,n,w1,w2,fr,p,ifail) ! Display results WRITE (nout,*) WRITE (nout,99999) 'Test statistic ', fr WRITE (nout,99998) 'Degrees of freedom ', k - 1 WRITE (nout,99999) 'Significance ', p 99999 FORMAT (1X,A,F6.3) 99998 FORMAT (1X,A,I6) END PROGRAM g08aefe