はじめに
※本記事は2022年8月16日に更新いたしました。
AxrossRecipeを運営している藤原です。
AxrossRecipe とは、エンジニアの"教育"と"実務"のギャップに着目し、「学んだが活用できない人を減らしたい」という想いのもと、ソフトバンクと社内起業制度にて立ち上げたサービスです。
現役エンジニアによる実践ノウハウを"レシピ"として教材化し、実際にプログラミングで実装を追体験しながら学ぶことができます。AI/機械学習をテーマにした、様々な業務領域やビジネスの課題解決に応用できる実践的な学習教材を370以上揃えています。(2022年8月時点)
Axross:https://axross-recipe.com
公式Twitter:https://twitter.com/AxrossRecipe_SB
今回は、時系列データを分析する考え方について紹介し、Axrossのサービスで学べる実践的な、Pythonによる時系列データを活用し、予測・分析する人気レシピをご紹介します。
時系列データとは
時系列データ(time series data)とは、ある特定の対象(価格・消費・入出荷などの経済事象、気温・雨量などの自然現象、施設の入退室の行動履歴や、交通状況、土地利用の変遷など)について、時間の経過とともに変動する数値を、継続的に観測することで得られたデータのことです。
そのデータを用いて、時間的な変化をもたらす背景や傾向パターンの発見や、その変化の将来予測などを目的に分析することを時系列データ分析と呼びます。
時系列データの活用例
時系列データとして活用できるものには、大きく4つの変動の種類があります。
・循環変動:一定の周期(年、週、日など)によって変化が繰り返される変動
・季節変動:季節ごとに繰り返される変動
・トレンド:時間の経過とともに増減する動きが見られる変動
・不規則変動:時間の経過に伴い、周期性や規則性が見られない不規則な変化をする変動
時間経過に合わせて事象を予測し、現場で判断・対応することは、様々な業界の現場レベルの仕事として必ずやっていることです。
例えば、最近の身近な時系列データを活用する例としては、新型コロナウイルス感染者数の拡大傾向や重症者数の推移から病床数の逼迫予測等があります。また、小売業や飲食業においては、曜日や時間帯ごとに来客数の推移を予測し、接客に当たる人員数や発注する食材・ドリンクの量、陳列する商品の在庫整理 など、規則性のある時系列情報をもとに、業務内容を調整していることも多いと思います。
ただ、現場の経験則や勘で行っていることが多く、過去の時系列データをもとに、様々な要素(変数)を踏まえ、デジタル上で数値的な根拠によって客観的に分析し、より高い精度での予測・対応を実現することが、これからは重要になってきます。
時系列データを分析するためには、時系列データのファイル(表)を読み込み、データをグラフにプロットして可視化するのが第一歩です。その後、仮説を持ちながらデータ分析のテクニックを用いて、事象を予測していきます。
時系列データ分析レシピの紹介
予測
01.TensorFlow.jsを用いてブラウザで数値予測モデルを実行するレシピ
投稿者:@12kaz さん
webアプリケーションフレームワークであるDjangoでwebアプリを開発し、Tensorflow.jsを用いてブラウザ上で以下のような数値予測モデルの構築・予測方法を学びます。
データベースに格納された数値データを用いた需要予測が可能になります。
02.日本の財政赤字を可視化し推移を体感するレシピ
投稿者:@中村真裕 さん
財政赤字や歳入歳出などについて学習しつつ、財務省が公開している統計表を用いて実際どういった状況にあるのかを予測します。
財務省が公開している一次情報を通してテレビや新聞だけでなく、自分の力ででも分析をし考察することができます。
03.ベネズエラの現状からインフレ・デフレを理解するレシピ
投稿者:@中村真裕 さん
ベネズエラを通してインフレとデフレがどういったものであるか学習しつつ現状の分析を行います。
調査や分析をしたいと考えている国についてテレビや新聞だけでなく自分の力でそれを行い独自の考察に繋げることができます。
株価予測
04.日経33業種の株価増減率をクラスタリング分析し、日経平均株価と連動する業種を見つけるモデル作成レシピ
投稿者:@belltree さん
上場33業種の時系列データをクラスタリングし、日経平均株価の値動きと似通った値動きをした業種の特定するモデルを作成する手法を学べます。
上場33業種の2020年11月日足株価増減率データを読み込み、k-means法によるクラスタリングを行います。次に、pandas_datareaderライブラリを用いて日経平均株価を読み込み、主成分分析を行い、再度日経平均株価増減率を加えてクラスタリングをして、同じクラスターに属する業種を確認します。
05.Pythonと機械学習(ディープラーニング)を利用したS and P 500指数の価格予想
投稿者:@佐藤優 さん
アメリカの代表的な経済指標である『S and P 500』の連動型インデックスファンドである”SPY”の株価を機械学習して,株価を予想するプログラムを構築する手法を学べます。
S and P 500の価格予想と投資判断の補助の活用に期待ができます。
売上予測
06.RNNをつかった実店舗の売上を予測するレシピ
投稿者:@manami(https://axross-recipe.com/users/1452) さん
人工的で整っていないリアルなPOSデータを使用して、商品の売上予想モデルの実装を試し、データの収集→データの加工→モデルの実装という流れを学ぶことができます。
コンペや研究用のデータセットは最初からきれいなデータが用意されている事が多いですが、 実際の現場では、空白のあるデータも多く、綺麗な状態に整えることから始まります。今回は小売業のデータをテーマに、回帰型ニューラルネットワーク(RNN)による売り上げ予測を行います。
07.機械学習を用いてE-コマースのデータから利益を予測するレシピ
投稿者:@ritsu_dragons(https://axross-recipe.com/users/8996) さん
E-コマースのデータセットを題材に、商品価格、つまり利益を予測する回帰モデルを作成する方法を学びます。
データの分析・整理、回帰モデルの作成に活用することができます。
購買履歴データ分析を用いた需要予測
08.飲食店の購買履歴データ分析レシピ
投稿者:@belltree さん
購買履歴データやレシートデータを分析するための手法として、Python(Pandas)における時系列データ解析の基礎的な考え方や分析テクニックを学べます。
折れ線グラフや棒グラフなど基本的なデータ可視化手法によって、売上や客数などの時間変化を捉え、仮説をもってデータ分析することで、ビジネスにおける需要予測や購買ルールやパターン認知に応用できます。
09.購買履歴データを分析し購買傾向を抽出するレシピ
投稿者:@belltree さん
購買履歴データやレシートデータを分析するためのテクニックとしてアソシエーション分析(別名:マーケット・バスケット分析)を学びます。
アソシエーション分析を用いると、購買履歴データの中から購買ルールを自動抽出することができます。
10.顧客の購買履歴データを層別解析で分析するレシピ
投稿者:@belltree さん
購買履歴データやレシートデータを分析するためのテクニックとして層別解析の基礎事項を学びます。
飲食店における利用者の購買傾向分析に活用することができます。
需要予測
11.イベントやキャンペーンを考慮したPythonによる需要予測レシピ
投稿者:@kaz_en_official さん
pythonを用いて需要予測を出力し、グラフで可視化するプログラムを作ります。
Pythonの基礎を学びながら、需要予測の手法を考えます。
12.売上データから需要と供給を見極めるレシピ
投稿者:@中村真裕 さん
今回のレシピではPythonでのデータ分析に経済学から「需要と供給」の考え方を取り入れ、価格と取引量での落とし所や価格の変化にどれくらい影響を受けやすいか検証していきます。
「需要と供給」の考え方をPythonでのデータ分析に取り入れることで扱っている商品の販売戦略の立案や見直しでの活用が期待できます。
マーケティング
13.ECサイトのCSVファイルをデータベース化し分析するレシピ
投稿者:@中村真裕 さん
BASEやShopifyなどECサイトの運営を想定し、**ショップの売り上げデータ(CSVファイル)**をデータベースに格納し、それを用いてデータ分析をしたり、新しい売り上げデータを追加したりする、等、Pythonを使い、SQLを操作して業務でも使えるようにする実践ノウハウを学ぶことができます。
CSVの管理や分析にSQLを取り入れることでファイルの分量や数が大きくなってもその時々で必要なものだけを効率よく取り出したり管理ができるようになります。
14.ECサイトのデータ分析から新商品を考えるレシピ
投稿者:@中村真裕 さん
KaggleにあるECのデータセットを用いて売れている商品やよく利用している層を分析、これを土台とし新商品の品目やターゲットを設定しターゲットからのフィードバックがサイトのレビューでどの数値に該当するか予測するモデルの構築にまで繋げていくレシピです。
ECサイトの運営、マーケティング分析に活用することができます。
15.ECサイトで在庫に無駄なく商品を発注するためのデータ分析レシピ
投稿者:@中村真裕 さん
Kaggleにあるデータセットを基にECサイトの運営者になりきってAI(人工知能)と力を合わせ無駄なく発注するのを目指すレシピです。
ECサイトにおける商品の受発注予測に活用することができます。
16.Campfireでプロジェクトを分析し作戦を考案するレシピ
投稿者:@中村真裕 さん
Campfireから複数のプロジェクトをスクレイピング、機械学習を取り入れながら成否を分ける要素を分析し成功させるための作戦を考えるレシピです。
クラウドファンディングにおけるプロジェクトの合理的な推進に活用することが出います。
17.ECサイトのデータ分析から新商品を考えるレシピ
投稿者:@中村真裕 さん
KaggleにあるECのデータセットを用いて売れている商品やよく利用している層を分析、これを土台とし新商品の品目やターゲットを設定しターゲットからのフィードバックがサイトのレビューでどの数値に該当するか予測するモデルの構築を学びます。
ECサイトの運営、マーケティング分析に活用することができます。
18.ECサイトで新商品の価格を決めるレシピ
投稿者:@中村真裕 さん
ECサイトのデータセットを使い新しい商品を何にするか、どの層をターゲットにするか、価格をどう決めどれくらいの収益を期待できるかの算出を行うレシピです。
手元の売り上げデータを参考に売れている製品とそうでない製品を参考に適切な価格設定に繋げることができます。
19.サポートベクトルマシンを用いた回帰分析の方法と実演レシピ
投稿者:@Jolibee さん
ボストンの地価データにおける13個の変数値(築年数、広さ、周辺環境など)から、**機械学習 サポートベクトルマシン(SVM)**を活用して回帰分析を行い、それぞれの独立変数の相関関係を予測する手法を実演します。
SVMを用いたデータ解析手法やデータのグラフ等による可視化の手法を丁寧に解説しています。
異常検知
20.時系列データから異常検知するレシピ
投稿者:@12kaz さん
PythonライブラリのMerlionを用いて、IsolationForest・LSTM、アンサンブル学習などを駆使し、時系列データの単変量異常検知・多変量異常検知を行う方法を学びます。
運用するサーバーのCPU利用率などのデータから異常を検知することによる予兆保全の活用が期待できます。
最後に
今回は、AxrossRecipeサービスで学べる実践的な、Pythonによる時系列データ分析のレシピ をご紹介しました。
データ分析ができるようになるためのコツは、座学勉強よりも、まず身近なデータから何か仮説を立てて、実際に分析してみる、そして、様々なテーマやデータセットでのデータ分析演習を通して、データの扱い方に慣れることこそが近道だと思います。
AxrossRecipeのレシピを通して、プログラムの意味を考えながら写経(コードを実際に書き写す行為)し、実際に動くものをつくりながら学ぶことで、新たな知識の習得やスキルアップの一助になれれば幸いです。