サロン経営ラボRefine
  • ホーム
  • 当サイトについて
    • 当サイトの説明
    • 管理人自己紹介
    • 経営とコンサルティングについて
  • 経営ブログ
    • データ分析実装
    • 経営戦略
    • 人事・労務
  • 学習ブログ
    • 経営戦略(学習)
    • データ分析(学習)
    • マーケティング(学習)
    • 財務・会計(学習)
  • 書籍レビュー
    • 経営戦略(書籍)
    • データ分析(書籍)
    • マーケティング(書籍)
    • 財務・会計(書籍)
  • お問い合わせ
    • お問い合わせ
    • プライバシーポリシー
サロン経営ラボRefine
より良い経営を探求する
データ分析実装経営ブログ

売上高の時系列分析(1)

【ホルト・ウィンタース法】

by Yoshinori Inoue 2023年11月22日
written by Yoshinori Inoue 2023年11月22日
589

目次

  • データの読み込みと説明
    • 読み込み
    • 仮説を立ててみる
    • EDA(Explanatory Data Analysis)
  • モデリング
    • ホルト・ウィンターズ分析について
      • 加法的ホルト・ウィンターズ法
    • モデル1学習
    • モデル1予測
    • モデル2学習
    • モデル2で予測
  • まとめ
  • 参考書籍
    • 基礎からわかる時系列分析―Rで実践するカルマンフィルタ・MCMC・粒子フィルタ― Data Science Library
    • 時系列解析 自己回帰型モデル・状態空間モデル・異常検知 Advanced Python 1

モデル2学習


では次にトレンドを含めたモデルを作成していきます。

加法モデルです。

# 加法的トレンドと加法的季節性を持つモデルをフィットさせる
model_with_trend = ExponentialSmoothing(data['売上'], 
                                        trend='add', 
                                        seasonal='add', 
                                        seasonal_periods=12).fit()

# モデルのフィット結果のプロット
fitted_values2 = model_with_trend.fittedvalues

plt.figure(figsize=(12, 6))
plt.plot(data['売上'], label='Actual Revenue')
plt.plot(fitted_values2, label='Fitted Values', linestyle='--')
plt.title('Holt-Winters Model Fitting on Full Data')
plt.xlabel('Month')
plt.ylabel('Revenue')
plt.legend()
plt.show()

あら、あまり先ほどと変わらない気がしますね(^▽^;)

params2 = model_with_trend.params

params_df2 = pd.DataFrame(list(params2.items()), columns=['Parameter', 'Value'])
params_df2 = params_df2[params_df2['Parameter'] != 'initial_seasons']

params_df2

トレンド成分が追加されているのがわかると思います。

成分ごとにプロットしてみましょう。

# モデルの成分を抽出
fitted_values = model_with_trend.fittedvalues
level = model_with_trend.level
trend = model_with_trend.trend
seasonal =model_with_trend.season
resid = model_with_trend.resid

# 各成分のプロット
plt.figure(figsize=(14, 10))

plt.subplot(511)
plt.plot(fitted_values, label='Fitted Values')
plt.title('Fitted Values')
plt.legend()

plt.subplot(512)
plt.plot(level, label='Level')
plt.title('Level Component')
plt.legend()

plt.subplot(513)
plt.plot(trend, label='Trend')
plt.title('Trend Component')
plt.legend()

plt.subplot(514)
plt.plot(seasonal, label='Seasonal')
plt.title('Seasonal Component')
plt.legend()

plt.subplot(515)
plt.plot(resid, label='Residual')
plt.title('Residual Component')
plt.legend()

plt.tight_layout()
plt.show()

モデル2で予測


# 次の12ヶ月の売上を予測
forecast2_next_12 = model_with_trend.forecast(12)

# 予測結果のプロット
plt.figure(figsize=(12, 6))
plt.plot(data['売上'], label='Actual Revenue')
plt.plot(forecast2_next_12, label='Forecasted Revenue', linestyle='--')
plt.title('12-Month Revenue Forecast')
plt.xlabel('Month')
plt.ylabel('Revenue')
plt.legend()
plt.show()

forecast2_next_12

トレンド成分が入ったことによって予測が少し上向きになりました。

先ほどの予測と比較してみると...

(モデル1予測再掲)

後半に連れて上昇しているのがわかりますね!

まとめ

今回は、ホルトウィンターズ法で、トレンドなしとトレンドありの2つのモデルを実行しました。

データが少ないこともあり残差が残ってしまっている部分もありましたが、思いのほかいい感じに予測できたのではないかと思います。

もう少しデータがあればトレーニングセットとテストセットに分けて検証したいところでしたが、中小企業のデータはそんなにたくさんあるわけではないことが多く、その中で意思決定に寄与する最大限の分析をしていかなければなりません。

今回のホルトウィンターズ法が最善というわけではないと思いますので、実務ではもっといろいろ試してみる必要があります。

では♪

参考書籍

基礎からわかる時系列分析―Rで実践するカルマンフィルタ・MCMC・粒子フィルタ― Data Science Library

萩原 淳一郎 (著), 瓜生 真也 (著), 牧山 幸史 (著), 石田 基広 (監修)


時系列解析 自己回帰型モデル・状態空間モデル・異常検知 Advanced Python 1

島田 直希 (著)

ページ: 1 2

分析経営美容室
previous post
美容室の新メニューに対する顧客反応分析
next post
売上高の時系列分析(2)

You may also like

サロン経営ノート...

2024年8月29日

サロン経営ノート...

2024年8月11日

サロン経営ノート...

2024年7月27日

顧客特性をグルー...

2024年4月12日

顧客の来店頻度を...

2024年4月11日

売上高の時系列分...

2023年11月28日

美容室の新メニュ...

2023年11月18日

美容室の売上高を...

2023年11月14日

美容室の顧客離反...

2023年11月10日

Category search

【Author】

井上 慶典

Yoshinori Inoue


株式会社Nfractal(美容室)代表取締役

経営コンサルタント

専門分野


経営戦略

マーケティング分析

論理思考

興味関心


機械学習

ベイズ統計学

経営全般

保有資格


美容師

管理美容師

統計検定準1級

ビジネス統計スペシャリスト

最近の投稿

  • 「現代数理統計学の基礎」(久保川著) 2章の演習問題を解いてみる
  • サロン経営ノート(ロジカルシンキング編)―論理的思考を深める―
  • サロン経営ノート(経営戦略編)―中小企業の負けないための戦い方―
  • 確率分布(probability distribution)曼荼羅
  • サロン経営ノート(分析編)―データ分析をどう活用できるか―
  • Facebook
  • Linkedin
  • ホーム
  • 当サイトについて
    • 当サイトの説明
    • 管理人自己紹介
    • 経営とコンサルティングについて
  • 経営ブログ
    • データ分析実装
    • 経営戦略
    • 人事・労務
  • 学習ブログ
    • 経営戦略(学習)
    • データ分析(学習)
    • マーケティング(学習)
    • 財務・会計(学習)
  • 書籍レビュー
    • 経営戦略(書籍)
    • データ分析(書籍)
    • マーケティング(書籍)
    • 財務・会計(書籍)
  • お問い合わせ
    • お問い合わせ
    • プライバシーポリシー

@2019 - All Right Reserved. Designed and Developed by PenciDesign

サロン経営ラボRefine
  • ホーム
  • 当サイトについて
    • 当サイトの説明
    • 管理人自己紹介
    • 経営とコンサルティングについて
  • 経営ブログ
    • データ分析実装
    • 経営戦略
    • 人事・労務
  • 学習ブログ
    • 経営戦略(学習)
    • データ分析(学習)
    • マーケティング(学習)
    • 財務・会計(学習)
  • 書籍レビュー
    • 経営戦略(書籍)
    • データ分析(書籍)
    • マーケティング(書籍)
    • 財務・会計(書籍)
  • お問い合わせ
    • お問い合わせ
    • プライバシーポリシー