SPSS Modeler ヒモトク

【リレー連載】わたしの推しノード – 知られざる名脇役「ユーザー入力ノード」 で価格弾力性カーブを描いてみる

記事をシェアする:

ユーザー入力ノード

SPSS Modelerの入力タブにベンチ入りしながら、滅多に登場しないユーザー入力ノード。一度も触れたことがない方も多数いらっしゃるのでは。過去に「推しノードは?」とアンケートした結果、誰にも投票されなかった圏外キャラです。

しかし、その意外な一面を知ればご興味いただけるはず。特にモデルのシミュレーション利用には圧倒的な活躍をします。

そもそもユーザー入力ノードって何者?

IBM SPSS Modelerは通常、すでにCSVやEXCEL、データベースとして存在しているデータを読み込んで利用します。一方でユーザー入力ノードは、直接データを生成します。例えば、以下のようなテーブルを作りたい場合には

テーブル

ユーザー入力ノードの設定画面でフィールドへ「変数1」、ストレージを「整数」、値に「1 2 3 4 5」または「1;5」と入力して「OK」ボタンを押します。

ユーザー入力

文字列の変数を加える場合には「データの生成」を「順番に」に選択した上で以下のように入力します。

データ

結果は以下の通りになります。

変数

お分かりいただけましたでしょうか?データを自己生成しますので、ストリームのみで実行が完結でき、データに依存しない勉強用のサンプルストリームには重宝します。

ユーザー入力ノードの真価

ここまでご覧になると、エクセルで表を5行2列のデータを作って読めば良い思われるかもしれません。このノードの本当の価値は、組み合わせを簡単に作れるところにあります。例えば、変数3を追加した上で、データの生成方法を「すべての組み合わせ」にモードを切り替えて実行します。

ユーザー入力ノード

すると5つの数字と5つのアルファベットに加え「甲乙丙丁」の4種類なので100通りの組み合わせのテーブルを生成します。

変数

変数

価格弾力シミュレーションに利用してみる(モデル作成)

ここで、この組み合わせテーブルの具体的な活用シーンをイメージするために価格弾力性分析を行ってみます。まず学習するデータは以下の通り。

テーブル

あるカップ麺がその日いくらで何個売れたかを記録したPOSデータです。見る限り135円で売られる時もあれば、1月3日のように78円まで値下げして135個も売り上げた日もあるようです。値引けばたくさん売れますが、仕入れ原価あっての商売のために極端には値下げできません。また日曜日(week=1)と月曜日(week=2)に同じ10円値引いてもインパクトは同じとは限りません。曜日や休日フラグ、何月だったのか(おおよその季節)も売り上げ数量に重要な要因です。

そこで何月の何曜日(休日か平日?)に幾らで価格設定していたのかを説明変数に、売り上げ数量を目的変数とする予測モデルをニューラルネットワークで作ります。

出来上がったモデルを当てはめると、過去の実績に対して、本来その日は何個売れるはずだったかの理論値を得られます。

予測モデル

価格弾力シミュレーションに利用してみる(カーブ描画)

過去の理論値ではなく、おおよそ価格単独の数量への影響を可視化するために、ここでユーザー入力ノードを使います。

ユーザー入力ノード

単価は最少50円から1円刻みで最大150円までの101種類、曜日(week)は7種類、11月からの3カ月分データですのでmonthは3種類、休日フラグなので組み合わせは101*7*3*2 で4242のパターンを生成します。

出来上がった組み合わせ表は以下の通りです。

テーブル

テーブル

そこに先ほどのモデルを当てはめ、価格で平均をとって散布図(モード=ライン)で実行します。

完成ストリーム,レコード集計ノード,散布図ノード

価格弾力性カーブの完成

出来上がったグラフは以下の通りです。横軸が価格で縦軸が数量です。Xについて値段を左に下げると数量が高まりますが、線型ではなく逆Sの字をしているのがわかります。

60円近辺や100円近辺では傾斜が緩いため、この範囲で5円値引いてもあまり大きな数量へのインパクトがなく、75円付近では5円値引くと数量が大きく跳ね上がることがわかります。

価格弾力性カーブ

まとめ

ユーザー入力ノードで分析データを手打ちする人は皆無でしょうし、このノードをモデル作成の材料にされるケースは少ないと思います。ただ、その機能を知ると、便宜的な最終帳票を作る行列の枠として利用したり、今回の様なシミュレーションに利用する事ができます。例えば何かの複数の材料X1からX10までの変数で、ある物質特性Yが得られるモデルが完成したとします。もし、ユーザーノードを使うと、理想的な特性Yにコントロールできる最も安価な材料X1からX10の組み合わせ特性を探索するなどが実現可能です。ぜひ一度、私の推しノード、機会があれば試してみてください。

次回推しノード#03は、荏原製作所の神子島様にデータ検査ノード編を寄稿いただきます!

 

→これまでのSPSS Modelerブログ連載のバックナンバーはこちら

→SPSS Modelerノードリファレンス(機能解説)はこちら

→SPSS Modeler 逆引きストリーム集(データ加工)はこちら

西牧 洋一郎の写真

西牧 洋一郎
日本アイ・ビー・エム株式会社
クラウド&コグニティブ・ソフトウェア事業本部
Data and AI事業部
データサイエンス&AI テクニカルセールス

More SPSS Modeler ヒモトク stories

データ分析者達の教訓 #17- データ分析はチーム戦。個々がミス最小化の責任を持つ

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

皆さんこんにちは。山下研一です。IBM Data&AIでデータサイエンスTech Salesをしています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、データ活 ...続きを読む


データ分析者達の教訓 #16- ステークホルダーの高い期待を使命感と創意工夫で乗り越えろ

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

  皆さんこんにちは。IBMの坂本です。 SPSSを含むデータサイエンス製品の技術を担当しています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、データ活用を ...続きを読む


データ分析者達の教訓 #15- データ分析は手段と割り切り情熱をもって目標に進め

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

  皆さんこんにちはIBMの河田です。SPSSを含むデータサイエンス製品の技術を担当しています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、データ活用を進め ...続きを読む