3440－5 章

応用：非線形な状態方程式を持つモデル

パッケージ・R 関数一覧
この本で使われた主なパッケージや R 言語の関数の一覧を、その用途別にまとめました。
[ ]で囲まれている部分が該当するページ番号です。
重要項目は大項目とし、派生項目を「・」記号以下で記しました。
「－」記号は詳細を示しています。
著者のページ https://logics-of-blue.com/も合わせてご参照ください。
【この本で使われたパッケージ】
xts 0.10.0
拡張された時系列データ型
fpp 0.5
様々な時系列データが格納されている
urca 1.3.0
単位根検定を実行する
lmtest 0.9.35
回帰モデルにおける各種検定を行う
tseries 0.10.42
残差の正規性の検定やダービンワト
ソン検定の関数など
prais 0.1.1
prais-winsten 法による GLS の実行
forecast 8.2
予測モデルの構築と評価
vars 1.5.2
VAR モデルの構築
fGARCH 3042.83
GARCH モデルの構築。構築できるモデルの種類は少ない
rugarch 1.3.8
GARCH モデルの構築。様々なモデルに対応
dlm 1.1.4
カルマンフィルタを用いた線形ガウ
ス状態空間モデルの推定
KFAS 1.3.0
散漫カルマンフィルタを用いた線形ガウス状態空間モデルの推定
rstan 2.16.2
R から Stan を実行する【Rstudio のショートカット】
新しい R ファイルの作成
Ctrl ＋ Shift ＋ N
コードの実行(選択範囲 or カーソル行)
Ctrl ＋ Enter
エディタの保存
Ctrl ＋ S
コメントアウトCtrl ＋ Shift ＋ C
コードの補完Ctrl ＋ スペース(Tab キー)セクションで区切る
Ctrl＋ Shift＋ R(「-」を 4 つ以上)セクションの移動
Alt＋ Shift＋ J【基本的な演算・用法】
四則演算 + - * / [74]比較演算子 < [129]変数の定義 <- [75]関数の定義 function [76]
ヘルプ ? [76]クラス名 class [78]
コメント # [74]欠損値 NA [242]
CSV ファイルの読み込み read.csv( )[90]・ファイルをダイアログで選択
read.csv(file.choose()) [91]・Excel からコピー＆ペースト
read.delim("clipboard") [91]特性方程式の解を求める polyroot [108]
累積和をとる cumsum( ) [121]繰り返し構文 for [128]左辺が右辺を含むなら TRUE %in% [274]
四分位点の取得 quantile( ) [314]5－14Stan で推定できる様々なモデルたち【基本的なデータ構造】
ベクトル c( ) [77]
－要素の抽出 [] [77]・等差数列 : [77]
行列 matrix( ) [78]
－行数の指定 nrow [78]－列数の指定 ncol [78]－横方向にデータを格納
byrow=T [79]
－要素の抽出 [行番号, 列番号] [79]－行・列名の指定
dimnames = list(c(rownames),c(colnames)) [80]・matrix 型に変換 as.matrix( ) [82]データフレーム data.frame( ) [80]－列の抽出 $列名 [81]
－要素の抽出 [行番号, 列番号] [81]・列数を得る ncol( ) [81]・行数を得る nrow( ) [81]・data.frame 型に変換
as.data.frame( ) [82]リスト list( ) [83]・要素の抽出 $ [83]
・添え字を使った抽出[[要素番号]] [84]345

【時系列データの処理】
標準の時系列型 ts [85]－ts 型の作成(引数に data.frame 指定が可能) [85]－多変量時系列データの抽出[行名, 列名] [87]・特定の期間の抽出 window(データ,start, end) [86,103]
・特定の月の抽出
forecast::subset(データ,month) [87]・頻度の取得 frequency( ) [100]拡張された時系列型 xts(xts パッケージ使用) [88]－xts 型の作成 [88]－データフレームを引数にする [91]－データの抽出－日付指定 xts["日付"] [89]－日付以降 xts["日付::"] [89]－範囲指定 xts["日付::日付"] [89]差分をとる階数を調べる
forecast::ndiffs() [94]対数系列の作成 log( ) [95]
ラグをとる lag( ) [98]差分をとる diff( ) [98]ts 型データの季節階差をとる diff(データ, lag=frequency(データ)) [100]自己相関係数 acf( ) [102]
偏自己相関係数 pacf( ) [102]相互相関係数 ccf( ) [150]
平均値 mean( ) [112]最初の時点を取得 head( ) [87]最後の時点を取得 tail( ) [112]
祝日判定 Nippon::is.jholiday( ) [273]
曜日の取得 weekdays( ) [273]

346

0－5 章

応用：非線形な状態方程式を持つモデル【モデル化】
ARIMA モデル(forecast パッケージ使用)
・次数指定でモデル推定 Arima( )[103,171]・ 自 動 モ デ ル 選 択 auto.arima( )[106,265]・残差の取得 resid( ) [110]・予測 forecast( ) [111]線形回帰モデルの推定 lm( ) [119]FGLS の推定 prais::prais.winsten( )[136]
VAR モデル(vars パッケージ使用)
・次数の決定 VARselect( ) [151]
・モデルの推定 VAR( ) [152]・予測 predict( ) [155]・Granger 因果性検定 causality( )[156]・インパルス応答関数 irf( ) [158]・分散分解 fevd( ) [159]GARCH モデル(fGarch パッケージ使用)
・モデルの推定 garchFit( ) [169]
GARCH モデル(rugarch パッケージ使用)
・次数の設定 ugarchspec( ) [169]・モデルの推定 ugarchfit( ) [170]・残差の取得 resid( ) [174]・分散の取得 sigma( ) [177]・予測 ugarchboot( ) [177]・ARMA-GARCH の推定 [172]・GJR モデルの推定 [175]状態空間モデル(dlm パッケージ使用)
・トレンドモデルの作成
dlmModPoly( ) [235]・パラメタの推定 dlmMLE( ) [235]・フィルタリングdlmFilter( ) [235]・平滑化 dlmSmooth( ) [235]状態空間モデル(KFAS パッケージ使用)
・モデルの構造の指定 SSModel( )[240,242]・フィルタリングと平滑化 KFS( )[240,243]・対数尤度の取得 logLik( ) [240]・ローカルレベルモデルの推定
SSMtrend(degree=1) [242]・ローカル線形トレンドモデルの推定
SSMtrend(degree=2) [257]・時変係数モデルの推定
SSMregression( ) [268]・周期成分の推定 SSMseasonal( )[274]・外生変数(係数固定)の追加 [274]・推定されたパラメタの取得 [245]・予測と補間 predict( )[247,262,269,276,278]
状態空間モデル(rstan パッケージ使用)
・HMC 法によるサンプリングの実施
stan( ) [307,326,337]
・結果の出力print( ) [310,327,338]
・トレースプロット
traceplot( ) [311]・乱数の取得extract( ) [314,327,338]
・状態の推定値の 95%区間の取得[316,327]・コンパイル結果の保存指定
rstan_options(auto_write=TRUE)[318]
・計算の並列化
options(mc.cores=parallel::detectCores()) [318]5－14Stan で推定できる様々なモデルたち【グラフィックス】
標準グラフ plot( ) [92]－タイトル main
－X 軸ラベル xlab
－Y 軸ラベル ylab
ggfortify によるグラフ autoplot( )・原系列の図示 [93]・自己相関の図示 [102]・相互相関の図示 [150]・ARIMA モデルの予測結果の図示[111,265]
・VAR モデルの予測結果の図示 [155]・多変量時系列の図示 [167]・dlm の図示 [237]・季節調整の結果の図示 [276]ggplot2 によるグラフ
・線形回帰の結果の図示 [122]・KFAS の図示 [246,261]
・信頼区間がある KFAS の図示[249,264,269,277,278]
・X 軸を日付にする [277]・ヒストグラムの描画 [315]・Stan の結果の図示 [317,328,339]
原系列・コレログラムの一括図示
forecast::ggtsdisplay( )[96]
季節ごとのグラフ
forecast::ggsubseriesplot( )[99]
ARIMA モデルの残差の図示
forecast::checkresiduals( )[109]
グラフを並べる
gridExtra::grid.arrange( )[123,168,174]
インパルス応答関数の図示 plot(irf( ))[158]
分散分解の図示 plot(fevd( )) [159]
Stan 実 行 結 果 の ト レ ー ス プ ロ ッ ト
traceplot( ) [311]347【モデルの評価】
ナイーブ予測・平均値使用
forecast::meanf( ) [113]・直近値使用
forecast::rwf( ) [113]
RMSE の計算forecast::accuracy( ) [114,265]【各種検定手法】
KPSS 検定 urca::ur.kpss( ) [94]
ADF 検定 urca::ur.df( ) [131]PO 検定 urca::ca.po( ) [142]
Ljung-Box 検定
forecast::checkresiduals( )[109,172]
Jarque–Bera 検定
tseries::jarque.bera.test( )[110,172]
Durbin-Watson 検定 lmtest::dwtest( )[127]【シミュレーション】
乱数の種 set.seed( ) [119]正規乱数の生成 rnorm( ) [119]ランダムウォーク系列の作成
cumsum(rnorm( )) [121, 139]
ARIMA 過程に従う乱数の生成
arima.sim( ) [124]ARMA-GARCH 過程に従う乱数の生成・パラメタの設定
fGarch::garchSpec( ) [166]
・乱数の生成fGarch::garchSim( ) [166, 171]

348

0－5 章

応用：非線形な状態方程式を持つモデル

索引【英数】
ADF 検定 [65,131]
AIC [61]
ARCH モデル [161]
ARIMAX モデル [57]
ARIMA モデル [38,52]－自動次数決定アルゴリズム[67]ARMA モデル [37,51]
AR モデル [42]Box-Jenkins 法 [33]DGP ⇒ データ生成過程
Durbin-Watson 検定 [125]EAP 推定量 [291]FGLS⇒実行可能一般化最小二乗法
GARCH モデル [163,169]
GJR モデル [165,175]
GLS⇒一般化最小二乗法
Granger 因果性検定 [146,156]
HMC 法 [283,298]
iid 系列 [30]Jarque–Bera 検定 [69,110,172]
KPSS 検定 [64,94]
Ljung-Box 検定 [68,109,172]
MA モデル [45]
MCMC [300]
PO 検定 [142]Prais-Winsten 法 [134]
R [72]RMSE [63]
SARIMA モデル [54]Stan [301]
SUR [145]
VAR モデル [144,151]【ア行】
赤池の情報量規準 ⇒AIC
当てはめ [62]一般化最小二乗法 [132]インパルス応答関数 [147,158]【カ行】
外因性 [24,57,202]
確率過程 [20]
確率的トレンド [31,200]
カルマンフィルタ [188,204,224,283]
季節性 ⇒周期性
期待値 [27]
ギブスサンプラー [300]基本構造時系列モデル [201,274]
共和分 [138]
共和分検定 [141]訓練データ [70]⇔テストデータ [70]
原系列 [37]
コレログラム [23,46,101]【サ行】
最尤法 [61,189,219,229]
差分系列 [37,97]
散漫カルマンフィルタ [188,209,237]
時系列データ－定義 [18]－構造 [23]－データの変換 [35]時系列モデル [21]自己回帰モデル ⇒ AR モデル
自己回帰移動平均モデル ⇒ ARMA モデル
自己回帰和分移動平均モデル ⇒ ARIMA モデル
自己共分散 [27]自己相関 [23,101]
事後分布 [288]事前分布 [288]実行可能一般化最小二乗法 [133]時点 [19]時変係数モデル [202,268]
弱情報事前分布 [333,335]
周期性 [23,54,200,271]
条件付確率分布 [43,288]
条件付期待値 [43,195]
状態空間モデル [179,187,281]
推定 [59]線形ガウス状態空間モデル [187]5－14

Stan で推定できる様々なモデルたち【タ行】
対数差分系列 [39,99]
対数尤度 [61,220,234]
単位根検定 [63,94,131,149]
単位根 [37]
直行化かく乱項 [147]
定常過程 [35]データ生成過程 [20]
テストデータ [70]
⇔訓練データ [70]
同定 [59]独立で同一の分布 ⇒iid 系列
トランザクションデータ [19]トレンド [24,254]
・確率的トレンド [31,200]
トレンドモデル [199]【ナ行】
ナイーブ予測[70,113]【ハ行】
ハミルトニアンモンテカルロ法 ⇒HMC 法
反転可能性 [50]非定常過程 [37]分散 [27]
分散分解 [159]
平滑化 [189,214,231]
ベイズ更新 [286]ベイズ推論 [284]
ベイズの定理 [287]
偏自己相関 [28,102]
ホワイトノイズ [25,30,41]
本源的なかく乱項 [51]【マ行】
見せかけの回帰 [118]密度効果 [330]無情報事前分布 [292]メトロポリス法 [296]モデル選択 [60]

349

【ヤ行】
尤度 [61,190]
予測 [43,62]【ラ行】
ラグ演算子 [55]
ランダムウォーク [31,41,120]
ローカル線形トレンドモデル [196,258]
ローカルレベルモデル [193,242]
ロジスティック増殖曲線 [332]

【ワ】
和分過程

[37]