Keyword: 一変量時系列, 標本自己相関関数, ACF
概要
本サンプルは一変量時系列の標本自己相関関数の計算を行うFortranによるサンプルプログラムです。 本サンプルは以下に示される時系列データを分析し、標本自己相関係数、標本平均や標本分散を出力します。
※本サンプルはnAG Fortranライブラリに含まれるルーチン g13abf() のExampleコードです。本サンプル及びルーチンの詳細情報は g13abf のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本ルーチンの詳細はg13abf のマニュアルページを参照)1 2 3 4 5 6 7 8 9 10 11 12
このデータをダウンロード |
G13ABF Example Program Data 50 10 5.0 11.0 16.0 23.0 36.0 58.0 29.0 20.0 10.0 8.0 3.0 0.0 0.0 2.0 11.0 27.0 47.0 63.0 60.0 39.0 28.0 26.0 22.0 11.0 21.0 40.0 78.0 122.0 103.0 73.0 47.0 35.0 11.0 5.0 16.0 34.0 70.0 81.0 111.0 101.0 73.0 40.0 20.0 16.0 5.0 11.0 22.0 40.0 60.0 80.9
- 1行目はタイトル行で読み飛ばされます。
- 2行目に時系列データの数(nx=50)、自己相関が必要なラグの数(nk=10)を指定しています。
- 3~12行目に時系列データ(x)を指定しています。
出力結果
(本ルーチンの詳細はg13abf のマニュアルページを参照)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
この出力例をダウンロード |
G13ABF Example Program Results The first 10 coefficients are required The input array has sample mean 37.4180 The input array has sample variance 1002.0301 The sample autocorrelation coefficients are Lag Coeff Lag Coeff 1 0.8004 2 0.4355 3 0.0328 4 -0.2835 5 -0.4505 6 -0.4242 7 -0.2419 8 0.0550 9 0.3783 10 0.5857 The value of STAT is 92.1231
- 3行目にラグの数(この場合は10個)の自己相関係数が必要であることが示されています。
- 4行目に入力された時系列データの標本平均が出力されています。
- 5行目に入力された時系列データの標本分散が出力されています。
- 9~13行目にはラグと標本自己相関係数が出力されています。
- 15行目には時系列の真の自己相関関数がゼロであるという仮説を検証するために使用される統計量の値が出力されています。
ソースコード
(本ルーチンの詳細はg13abf のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「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
このソースコードをダウンロード |
PROGRAM g13abfe ! G13ABF Example Program Text ! Mark 23 Release. nAG Copyright 2011. ! .. Use Statements .. USE nag_library, ONLY : g13abf, nag_wp ! .. Implicit None Statement .. IMPLICIT NONE ! .. Parameters .. INTEGER, PARAMETER :: nin = 5, nout = 6 ! .. Local Scalars .. REAL (KIND=nag_wp) :: stat, xm, xv INTEGER :: i, ifail, nk, nx ! .. Local Arrays .. REAL (KIND=nag_wp), ALLOCATABLE :: r(:), x(:) ! .. Executable Statements .. WRITE (nout,*) 'G13ABF Example Program Results' WRITE (nout,*) ! Skip heading in data file READ (nin,*) ! Read in the problem size READ (nin,*) nx, nk ALLOCATE (x(nx),r(nk)) ! Read in data READ (nin,*) x(1:nx) ! Compute autocorrelation ifail = 0 CALL g13abf(x,nx,nk,xm,xv,r,stat,ifail) ! Display results WRITE (nout,99999) 'The first ', nk, ' coefficients are required' WRITE (nout,99998) 'The input array has sample mean ', xm WRITE (nout,99998) 'The input array has sample variance ', xv WRITE (nout,*) 'The sample autocorrelation coefficients are' WRITE (nout,*) WRITE (nout,*) ' Lag Coeff Lag Coeff' WRITE (nout,99997) (i,r(i),i=1,nk) WRITE (nout,*) WRITE (nout,99998) 'The value of STAT is ', stat 99999 FORMAT (1X,A,I2,A) 99998 FORMAT (1X,A,F12.4) 99997 FORMAT (1X,I6,F10.4,I8,F10.4) END PROGRAM g13abfe