SPSS Modeler ヒモトク
【リレー連載】わたしの推しノード – 知られざる名脇役「ユーザー入力ノード」 で価格弾力性カーブを描いてみる
2020年02月28日
カテゴリー Data Science and AI | IBM Data and AI | 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 テクニカルセールス
データ分析者達の教訓 #22- 予測モデルはビジネスの文脈で語られ初めてインパクトを持つ
Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...
皆さんこんにちは。IBMの坂本です。 SPSSを含むデータサイエンス製品の技術を担当しています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、データ活用を ...続きを読む
データ分析者達の教訓 #21- 異常検知には異常を識別する「データと対象への理解」が必要
Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...
皆さんこんにちは。IBMの宮園です。IBM Data&AIでデータサイエンスTech Salesをしています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、デー ...続きを読む
【予約開始】「SPSS秋のユーザーイベント2024」が11月27日にオンサイト開催
Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...
本年6月800名を超える方々にオンライン参加いただいたSPSS春のユーザーイベントに続き、『秋のSPSSユーザーイベント』を11月27日に雅叙園東京ホテルにて現地開催する運びとなりました。 このイベントは ...続きを読む