Keyword: 一変量時系列, 季節階差, 非季節階差
概要
本サンプルは一変量時系列の季節及び非季節階差の計算を行うFortranによるサンプルプログラムです。 本サンプルは以下に示される時系列データを分析し、季節及び非季節階差を出力します。
※本サンプルはnAG Fortranライブラリに含まれるルーチン g13aaf() のExampleコードです。本サンプル及びルーチンの詳細情報は g13aaf のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本ルーチンの詳細はg13aaf のマニュアルページを参照)| このデータをダウンロード |
G13AAF Example Program Data 20 2 1 4 120.0 108.0 98.0 118.0 135.0 131.0 118.0 125.0 121.0 100.0 82.0 82.0 89.0 88.0 86.0 96.0 108.0 110.0 99.0 105.0
- 1行目はタイトル行で読み飛ばされます。
- 2行目に時系列データの数(nx=20)、非季節階差の次数(nd=2)、季節階差の次数(nds=1)、季節性(ns=4)を指定しています。
- 3〜6行目に時系列データ(x)を指定しています。
出力結果
(本ルーチンの詳細はg13aaf のマニュアルページを参照)| この出力例をダウンロード |
G13AAF Example Program Results
Non-seasonal differencing of order 2 and seasonal differencing
of order 1 with seasonality 4 are applied
The output array holds 20 values, of which the first 14 are differenced values
-11.0 -10.0 -8.0 4.0 12.0
-2.0 18.0 9.0 -4.0 -6.0
-5.0 -2.0 -12.0 5.0 2.0
-10.0 -13.0 17.0 6.0 105.0
- 3〜4行目に2次の非季節階差と1次の季節階差が適用されていることが示されています。
- 6行目に、出力結果の配列には20個の値があり最初の14個は階差であることが示されています。
- 8〜11行目には階差の値(最初の14個)と再構成データ(残り6個)が出力されています。
ソースコード
(本ルーチンの詳細はg13aaf のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「nAG Fortranライブラリ」のルーチンを呼び出します。
サンプルのコンパイル及び実行方法
| このソースコードをダウンロード |
PROGRAM g13aafe
! G13AAF Example Program Text
! Mark 23 Release. nAG Copyright 2011.
! .. Use Statements ..
USE nag_library, ONLY : g13aaf, nag_wp
! .. Implicit None Statement ..
IMPLICIT NONE
! .. Parameters ..
INTEGER, PARAMETER :: nin = 5, nout = 6
! .. Local Scalars ..
INTEGER :: ifail, nd, nds, ns, nx, nxd
! .. Local Arrays ..
REAL (KIND=nag_wp), ALLOCATABLE :: x(:), xd(:)
! .. Executable Statements ..
WRITE (nout,*) 'G13AAF Example Program Results'
WRITE (nout,*)
! Skip heading in data file
READ (nin,*)
! Read in the problem size
READ (nin,*) nx, nd, nds, ns
ALLOCATE (x(nx),xd(nx))
! Read in data
READ (nin,*) x(1:nx)
! Perform differencing
ifail = 0
CALL g13aaf(x,nx,nd,nds,ns,xd,nxd,ifail)
! Display results
WRITE (nout,99999) 'Non-seasonal differencing of order ', nd, &
' and seasonal differencing'
WRITE (nout,99999) 'of order ', nds, ' with seasonality ', ns, &
' are applied'
WRITE (nout,*)
WRITE (nout,99998) 'The output array holds ', nx, &
' values, of which the first ', nxd, ' are differenced values'
WRITE (nout,*)
WRITE (nout,99997) xd(1:nx)
99999 FORMAT (1X,A,I1,A,I1,A)
99998 FORMAT (1X,A,I2,A,I2,A)
99997 FORMAT (1X,5F9.1)
END PROGRAM g13aafe
