1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ID毎に前回のフラグからの経過時間を求める(SPSS Modeler データ加工逆引き4-7)

Last updated at Posted at 2022-07-19

ID毎に前回フラグが立った時との時間差を求める(@￰SINCE)

スクリーンショット 2022-07-12 15.41.07.png

1.想定される利用目的

・顧客の特定の行動までの間隔を特徴量にする
・設備ログから特定イベントの発生間隔を特徴量にする

2.サンプルストリームのダウンロード

3.サンプルストリームの説明

スクリーンショット 2022-07-12 15.41.25.png

a.入力するデータは以下の通りです。ID(顧客/設備)が2種類存在します。
スクリーンショット 2022-07-12 15.42.13.png

b.[フィールド作成]ノードを編集します。[派生]モードを[条件付き]にします。[If]は自分のレコードにフラグが立っていて且つ前回フラグが立ったレコードが何行情報かを[@￰SINCE(ID,1)]で数えた上で、そのレコードを@￰OFFSETで指定してIDが一致する条件を記述しています。[Then]では前回のフラグが立っている時間と自分のレコードの差を求めています。該当しない場合はundefで欠損値にします。
スクリーンショット 2022-07-12 15.42.31.png

式ビルダーから@￰関数を探すと簡単に入力できます。
スクリーンショット 2022-07-12 15.43.20.png

[プレビュー]します。ID毎の最初のフラグも欠損値になるのでゼロにします。
スクリーンショット 2022-07-12 15.43.38.png

c.[置換]ノードを編集します。
スクリーンショット 2022-07-12 15.43.50.png

[テーブル]ノードを実行します。完成しました。
スクリーンショット 2022-07-12 15.44.11.png

注意点

@￰SINCEとの組み合わせのみで利用できる関数に@￰THISがあります。
同じフィールドが何行上方に存在するかを数で返します。存在しない場合には@￰INDEX+1になるため@￰OFFSET内で利用するとNullになるようになっています。

スクリーンショット 2022-07-12 16.57.09.png

7と9レコードだけ同じ時刻をもつレコードが上方にあるため、その行数を返しています。それ以外は@￰INDEX+1になっています。
スクリーンショット 2022-07-12 16.56.53.png

4.参考情報

フィールド作成のカウント型を解説した記事

SPSS Modeler ノードリファレンス目次

SPSS Modeler 逆引きストリーム集(データ加工)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?