バッチでモデルの自動更新 [データサイエンス、統計モデル]
IBM SPSS Modeler(旧Clementine)を使って
1. モデルを毎日更新し
2. その出力結果をアウトプットしたい
ここで一度モデルを作り、ずっとそのモデルを使い続けるなら簡単なのですが、モデルを毎日更新する場合、どうするのか?
方法として二つ考えられます。
[やり方 1]
モデルノードを使わずに、すべてノードやスクリプトだけで完結する。
この場合、モデルノードの置換する面倒さはいりませんが、あまり複雑なモデルは作成できません。
[やり方 2]
Modelerに用意されているモデルノードを使い、スクリプトで制御をする。
例として時系列の需要予測を毎日行うと仮定します。
スクリプトの書き方として、
batファイルの書き方
スクリプトファイルの書き方
いたって簡単にバッチ化することができます。
1. モデルを毎日更新し
2. その出力結果をアウトプットしたい
ここで一度モデルを作り、ずっとそのモデルを使い続けるなら簡単なのですが、モデルを毎日更新する場合、どうするのか?
方法として二つ考えられます。
[やり方 1]
モデルノードを使わずに、すべてノードやスクリプトだけで完結する。
この場合、モデルノードの置換する面倒さはいりませんが、あまり複雑なモデルは作成できません。
[やり方 2]
Modelerに用意されているモデルノードを使い、スクリプトで制御をする。
例として時系列の需要予測を毎日行うと仮定します。
スクリプトの書き方として、
batファイルの書き方
D:\SPSS\Modeler\14.2\bin\clemb.exe -stream D:\test\時系列\時系列.str -script 時系列.txt -log log.txt -execute
スクリプトファイルの書き方
# モデルの実行
execute '時系列'
# 作成したモデルをパレットに挿入
insert model ARIMA at 950 110
# モデルの前のノードとモデルをリンクさせる
connect A to ARIMA
# モデルとモデルの後のノードをリンクさせる
connect ARIMA to B
いたって簡単にバッチ化することができます。