経済統計の使い方
統計初心者の社会人向けに、経済データの解説をしています。「まとめページ」をご覧くだされば、全体的な内容がわかると思います。
R

【R】決定木による分析|機械学習の中では解釈が容易

決定木は、多数のデータを分類するのに適しています。「営業利益の前期比が-0.35よりも小さく、有効求人倍率が0.3より大きい時は、景気拡大期」といった判断ができるようになります。

経済統計の使い方では、統計データの入手法から分析法まで解説しています。

【R】Rのまとめ 経済統計の使い方では、統計データの入手法から分析法まで解説しています。 https://officekaisuiyoku.com...

決定木を使った分析を説明します。ここでは、景気の拡大期と後退期とそれに対応するデータを使って、どのような変数が景気の拡大期と後退期に影響を与えているかを見ていくことにします。まず、データをインポートします

データ

データは、1975年2月から2020年5月までで、変数BIが景気の状態を表す変数(データの型は因子型)です。景気拡大期はup、景気後退期はdownです。残りは景気動向指数一致指数の構成指数でC6とC7は前月差、他は前月比伸び率で表しています。

C1 生産指数(鉱工業),C2 鉱工業用生産財出荷指数 ,C3 耐久消費財出荷指数 ,C4 労働投入量指数(調査産業計) ,C5 投資財出荷指数(除輸送機械) ,C6 商業販売額(小売業)(前年同月比) ,C7 商業販売額(卸売業)(前年同月比) ,C8 営業利益(全産業) ,C9 有効求人倍率(除学卒) ,C10 輸出数量指数

CI <- fread(file=file.choose(),header=TRUE,data.table=FALSE,stringsAsFactors =TRUE)

決定木の計算

決定木を使うには、rpart パッケージを使います。コマンドはrpartです。書式は最小二乗法の場合と同じで、最初に被説明変数である景気を表す変数があり、~ 以降に説明変数を並べます。結果をresultに入れ、resultと入力するとその結果が表示されます。

library(“rpart”) 

library
result <- rpart(BI ~ C1+C2+C3+C4+C5+C6+C7+C8+C9+C10,data=CI)
result

以下が結果です。

n= 563

node), split, n, loss, yval, (yprob)
* denotes terminal node

1) root 563 190 up (0.03374778 0.30373002 0.66252220)
2) C8< -0.35 212 81 down (0.01886792 0.61792453 0.36320755) 4) C9< 0.3 162 38 down (0.01234568 0.76543210 0.22222222) 8) C9< -1.15 94 9 down (0.01063830 0.90425532 0.08510638) * 9) C9>=-1.15 68 29 down (0.01470588 0.57352941 0.41176471)
18) C10< 2 58 21 down (0.01724138 0.63793103 0.34482759) 36) C4>=-0.65 40 10 down (0.00000000 0.75000000 0.25000000) *
37) C4< -0.65 18 8 up (0.05555556 0.38888889 0.55555556) * 19) C10>=2 10 2 up (0.00000000 0.20000000 0.80000000) *
5) C9>=0.3 50 9 up (0.04000000 0.14000000 0.82000000) *
3) C8>=-0.35 351 55 up (0.04273504 0.11396011 0.84330484)
6) C9< -0.85 59 23 up (0.10169492 0.28813559 0.61016949) 12) C2< 0.05 24 12 down (0.04166667 0.50000000 0.45833333) 24) C9>=-2.05 17 6 down (0.05882353 0.64705882 0.29411765) *
25) C9< -2.05 7 1 up (0.00000000 0.14285714 0.85714286) * 13) C2>=0.05 35 10 up (0.14285714 0.14285714 0.71428571)
26) C3>=4.2 7 3 (0.57142857 0.14285714 0.28571429) *
27) C3< 4.2 28 5 up (0.03571429 0.14285714 0.82142857) * 7) C9>=-0.85 292 32 up (0.03082192 0.07876712 0.89041096) *

決定木を描く

rpart コマンドで結果は出力されますが、わかりにくいので、木の形にして表示します。rpart.plot パッケージを使います。木の形はさまざまなオプションで変えることはできますが、オプションを指定しなくても木を書いてくれます。

library("rpart.plot")
prp(result)

結果の解釈

この分析によると、まずC8(営業利益 全産業)の前期比によって枝分かれします。C8が-0.35よりも小さい時、左側の枝に移行します。次に、C9(有効求人倍率)の数値で判断します。C9が0.3より大きい時は、景気拡大期となります。0.3以下の時は同じくC9で判断し、-1.1より小さければ景気後退期になります。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA