SPSS Statistics

SPSS Statistics Small Tips #03適正在庫を確保するための売上予測 ~SPSS Statistics Forecasting ~

記事をシェアする:

トレンドをとらえて将来値を予測する

 

明日、明後日の売上げやそれに従って適正在庫数が判ったら、どんなに良いでしょうか?

過去のトレンドをとらえて将来値を予測する時系列分析は、一般的に手続きが多く、難しいものだといわれています。トレンドの視覚化、要因との関連づけ、ふさわしいモデルの選択やパラメータの決定など、たくさんの知識を必要とする取り組みだといわれてきました。SPSS Statistics Forecastingを利用すると、実データを投入するだけで最適な予測モデルを得ることができ、将来値を推測できます。

今回は、SPSS Statistics Forecastingを用いて、時系列分析を行う手順を紹介します。

 

 

SPSS Statistics Forecastingを使ってみよう

 

製品に同梱されているサンプルファイル catalog.sav でお試しいただけます(ただし、本掲載とは日付データが異なりますのでご了承ください)。このデータには、紳士服や婦人服をカタログを用いて通信販売している会社の月ごとの販売数(紳士服や婦人服、ジュエリーのカテゴリ別)、カタログの送付数やページ数、申込の受付専用電話回線数などが保存されています。変数情報は次の通りです。

  • 日付:2011年1月1日から2020年12月1日までの10年間(月単位)
  • 紳士服:紳士服の売上
  • 婦人服:婦人服の売上
  • ジュエリー:ジュエリーの売上
  • 送付:送付したカタログの総数
  • ページ:送付したカタログのページ数
  • 電話:オーダー用に開いた電話回線の数
  • 印刷:印刷広告に費やした金額
  • サービス:カスタマ サービス スタッフの数

目的は、紳士服の売上データから時系列モデルを作成し、将来の売上予測です。

今月を2020年12月と仮定し、2021年1月から2021年12月までの売上金額を予測してみます。

 

 

時系列グラフ - 売上の推移を観測する

 

予測モデルを作成する前にデータの概観をグラフでつかんでみます。

時系列グラフで、2011年1月から2020年12月までの紳士服の売上金額の推移を描いてみます。

 

「分析」メニューの「時系列」>「時系列グラフ」

時系列グラフのダイアログボックス内で「紳士服」を「変数」に設定し、「日付」を「時間軸のラベル」に設定します。

 

時間とともに増加している右肩上がりの傾向が見られます。時間の経過とともに、売上の上限と下限の幅が大きくなっていることがわかります。この増減は、何か他の情報から影響をうけているのでしょうか?上記と同じ手続きで、時系列グラフをもう一度作成します。今回は、紳士服の売上に加えて、送付したカタログの数のデータも一緒に視覚化してみましょう。

 

 

 

別のデータと照らし合わせてみると、紳士服の売上金額は、送付したカタログの総数からの影響を受けているのではないかと、仮説を立てることができます。他の変数を説明変数として加えることで、予測精度が上がることが期待できます。まずは、説明変数を含めずに過去の売上のみから将来の売上を予測する、時系列モデルを作成してみます。

 

時系列モデルを作成する - 過去トレンドのみで将来を予測する

 

「分析」メニューの「時系列」>「従来モデルの作成」を選択します。

「従属変数」に「紳士服」を設定します。

「方法」は、「エキスパートモデラー」を選択します。「エキスパートモデラー」の「基準」は、「すべてのモデル」です。

 

 

 

エキスパートモデラ―とは?

 

エキスパートモデラーを使用すると、実測値と予測値の差がもっとも小さくなるような最適なモデルを自動的に採択することができます。SPSS Statistics Forecastingには、指数平滑法モデルとARIMAモデルが準備されていて、データのトレンド、季節性、不規則性変動を調べた上で最適なモデル、パラメータを決めてくれます。

 

エキスパートモデラ―は、基準を決めることができます。指数平滑法モデル、ARIMAモデル両方から選ぶのか、一方の手法のみから選ぶのか、を決めることができます。

 

もちろんエキスパートモデラーを使わず、任意のモデル、パラメータを決定することも可能です。

 

続けて設定を行います。

 

「統計」タブから、モデルの適合度の指標を選択します。以下2か所にチェックをいれます。

☑モデルごとの適合度、Ljung-Box統計量、および外れ値の数を表示

☑平均絶対パーセント誤差(MAPE)

 

 

「作成」タブから、グラフを選択します。以下6か所にチェックをいれます。

☑系列

☑観測値

☑予測

☑当てはめ値

☑予測の信頼区間

☑当てはめ値の信頼区間

 

 

「保存」タブから、新しい変数を選択します。以下3か所にチェックをいれます。

☑予測値

☑信頼限界の下限

☑信頼限界の上限

 

 

出力結果

モデル

 

ARIMA(1,0,12)モデルが選ばれています。

 

適合度

 

MAPE(平均絶対パーセント誤差)でモデルのデータへの適合度を判断します。MAPEは、モデルの予測値が実測値に対して平均、上下何パーセントぶれているかを表し、今回は、27%ぶれています。

 

 

予測値と区間予測

 

 

データセットに戻ってみると、「予測値」「LCL:予測値からの下限値」「UCL:上限値」が作成されています。デフォルトでは、予測値はデータセット内のアクティブなケースに対して計算されます。将来の予測値を計算させるには、計算させたい期間の日付をもたせたケースを作成しておきます。下限値、上限値は、区間予測の結果です。

 

グラフ

 

赤線(実測値)と青線(モデル適合値)を比較し、どの程度一致しているかをみます。

紫の点線は、予測区間の下限・上限値を表すため、下振れ・上振れした場合を把握します。

 

 

観測値のデータの動きの全体的なトレンドや周期などについては、ある程度は適合値で説明しているようですが、まだまだ説明できていない部分が多くあるようです。これは、売上変動の要因が外部に存在する可能性があり、それをモデルに教えていないという理由が考えられます。次にモデルの精度を上げるため、独立変数を使用します。

 

時系列モデルを作成する - 独立変数を使用する

 

「分析」メニューの「時系列」>「従来モデルの作成」を選択します。

「従属変数」に「紳士服」を、「独立変数」に「送付」(送付したカタログの数)と「電話」(オーダー用に開いた電話回線の数)を設定します。

「方法」は、「エキスパートモデラー」を選択します。「エキスパートモデラー」の「基準」は、前回と同様に「すべてのモデル」に設定します(独立変数を使用している場合、ARIMAモデルのみが候補です)。

 

 

「統計量」、「作図」、「保存」のタブは、前回と同じ設定で結果を出力してみます。

 

出力結果

モデル

 

ARIMA(0,0,12)が選ばれています。

 

適合度

 

MAPE(平均絶対パーセント誤差)でモデルのデータへの適合度を判断します。MAPEは、モデルの予測値が実測値に対して平均、上下何パーセントぶれているかを表し、今回は、13%ぶれています。1つめのモデルにたいして誤差の数値が低くなり精度が上がっていることがわかります。

 

 

 

グラフ

 

全体的に1つめのモデルより良くなっているのがわかります。

赤線(実測値)と青線(モデル適合値)を比較すると、1つめのモデルに比べ、時間のずれ、値のずれともに小さくなっています。季節的な変動もより正確にとらえることができています。紫の信頼区間の線は間隔が狭くなっていて、予測精度が向上していることがわかります。

 

 

SPSS Statistics Forecastingは、本来難しいといわれてきた時系列分析をより手軽に行えるように設計されています。実データを投入するだけでデータの季節性やトレンドを考慮したモデルを自動採択してくれるエキスパートモデラーを搭載し、時系列予測初心者の方も取り組みやすい製品となっています。

また、モデル作成をサポートする時系列グラフや独立変数の指定など、予測モデルの精度向上には欠かせない機能も備えています。

ここでは触れていませんが、量的な独立変数だけでなく、質的な独立変数としてキャンペーンの有無や割引の有無といったイベント変数を使用し、モデル精度を高めていくことも可能です。エキスパートモデラ―により自動的に予測対象に有効な独立変数を選択し、独立変数が従属変数に与える影響にどのくらいのラグ(遅れ)が発生しているのかを調べることができます。今回はエキスパートモデラーを使用しましたが、分析者の方が以下のリストから自由にモデル、パラメータを選択できる機能もあります。

 

IBM SPSS Forecastingで利用できるモデル

 

指数平滑法モデル

非季節:単純指数平滑法、Holtの線形トレンド、Brownの線形トレンド、減衰トレンド

季節:単純季節、Winters加法、Winters乗法

 

ARIMAモデル

非季節:p:自己回帰 d:差分 q:移動平均

季節:P:自己回帰 D:差分 Q:移動平均

 

また、将来の予測を行う場合、先にデータセットに将来の期間の日付を入力しておきます(青枠)。独立変数を使用している場合には、独立変数の将来値を入力しておく必要があります(青枠)。そうすると、簡単に将来の予測値をデータセットに記録することができます(赤枠)

 

 

時系列分析は経済学において独自の分野を築いていますが、近年では、業界を問わず様々な分野、目的において使用されています。

 

 まとめ

 

いかがでしたか。適正在庫を確保するための売上予測では、SPSS Statistics Forecastingで、適切な時系列モデルを自動選択し、区間予測を算出しました。時系列分析は、将来を完璧に予測できるわけではありません。しかし、過去のデータからトレンドや周期性を解きモデルを作成し、将来の値に幅を持たせた推測ができます。つまりそれは、これまでの余剰や不足によるビジネスの損失を抑えて収益を得ることができるようになるということです。

さあ、さっそくはじめてみませんか。

 

 

SPSS Statistics 無料評価版 https://www.ibm.com/jp-ja/products/spss-statistics

お問い合わせは SPSS営業部まで jpsales@jp.ibm.com

 

→SPSS Statistics Small Tips バックナンバーはこちら

 

 

牧野 泰江

日本アイ・ビー・エム株式会社

テクノロジー事業本部 データ・AI・オートメーション事業部
Data & AI 第一テクニカルセールス

 

 

More SPSS Statistics stories

データ分析者達の教訓 #19- ちゃぶ台返しを受けないため「最初に」現場と握っておく

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

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


データ分析者達の教訓 #18- データの向こうにある社会的背景や因果関係を洞察せよ

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

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


ジェネレートするAI。クリエートする人類 。 | Think Lab Tokyo 宇宙の旅(THE TRIP)

IBM Data and AI, IBM Partner Ecosystem, IBM Sustainability Software

その日、船長ジェフ・ミルズと副船長COSMIC LAB(コズミック・ラブ)は、新宿・歌舞伎町にいた。「THE TRIP -Enter The Black Hole-」(以下、「THE TRIP」)と名付けられた13度目の ...続きを読む