www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

失業率・第3次産業活動指数・消費者物価指数の時系列データ分析6 - tidymodels パッケージで第3次産業活動指数を予測する。

Bing Image Creator で生成: Shining grass field, long view, photo

 

www.crosshyou.info

の続きです。

いままでは、計量経済学っぽいことをしてきました。今回はデータサイエンスっぽいことをしてみます。

第3次活動指数を失業率と消費者物価指数から予測してみたいと思います。

tidymodels パッケージを使います。

まず、library() 関数でパッケージを読み込みます。

initial_split() 関数を使って、df をトレーニング用とテスト用にわけます。

全部で 108 の観測データがあって、そのうちの 81 をトレーニング用、27 をテスト用に分けていることがわかります。

それぞれ、データフレームを作成します。

トレーニング用の dai3ji の平均値は 100.3 で、テスト用の dai3ji の平均値は 99.66 です。

t.test() 関数で両者に有意な差がないことを確認しておきます。

p-value が 0.6319 なので両者に有意な違いが無いことが確認できました。

次は、recipe() 関数でレシピを作ります。time はモデルには含めず、どのデータかを識別する ID としての役割を与えましょう。

はじめは線形モデルで予測してみたいので、linear_reg() でモデルを生成します。

エンジンは普通の lm を使いましょう。

レシピとモデルが揃った揃ったので、workflow() 関数で2つを結合してワークフローを作成します。

次は、fit() 関数でモデルをフィットさせます。

dai3ji = 126.1221 - 6.5841 * unem - 0.2021 * cpi - 0.1083 * trend 

というモデルが推計されました。

extract_fit_pasnip() 関数と tidy() 関数で推計された係数の詳細がわかります。

この dai3ji_fit を使って df_test のデータを使って予測します。

predict() 関数を使います。

実際の値とどのくらい推計値が一致しているか、RMSE を計算してみます。

平均値して5.1ぐらい外れていることがわかりました。

今回は以上です。

次回は

www.crosshyou.info

です。

 

初めから読むには、

www.crosshyou.info

です。