
平均雲量を日付のデータと気象状況から予測する
1.題材と分析手法の説明
こんにちは。
ビジネスのためのAI活用プラットフォーム「MatrixFlow」の広報部の中野です。
MatrixFlowのAIのレシピ(設計図)の一つである時系列解析を行う「MfTransformer」を紹介したいと思います。
時系列解析とは、時間の経過に伴い変化するデータを分析することです。
時間の単位としては、日別、週別、月別、期別、年別があります。
例えば、日によって変化する株価、天気予報における時間ごとの気温の変化などの気象観測などのデータを分析できます。
MatrixFlowの時系列解析には、「TrendFlow」と「MfTransformer」があります。
「TrendFlow」は、時間の単位(日付など)と1つの要因のデータだけで未来を予測し、時間の経過とともに増減をするなどの動きの傾向(トレンド)を見ることができます。
「MfTransformer」は、時間の単位(日付など)と複数の要因を学習することができるため、保有している様々なデータを活かして未来を予測することができます。
今回は「MfTransformer」を使って日付のデータと様々な気象状況から平均雲量を予測するAIを作成したいと思います。
では、さっそく作っていきましょう!
2.プロジェクトの説明
MatrixFlowにログインして、はじめにプロジェクトを作成します。
プロジェクトとは、AIで分析するための作業(データセット~推論まで)に必要なものを一つに纏められるフォルダの役割を持ちます。パソコンのフォルダと同じ意味合いです。これから行う作業は、このプロジェクトで管理します。
では、始めていきましょう。
プロジェクト一覧から「新規プロジェクトを作成する」をクリックします。

「テンプレートを使用してAIを構築する」または「自分でAIを構築する」のどちらかを選択します。今回は、「自分でAIを構築する」を選択します。

プロジェクト名とプロジェクトの説明を入れて作成します。

3.AIを作成する流れの全体像の説明
ここから実際にAIを作っていくのですが、どのようなことをするのか、どのような手順で進めるのか確認しておきましょう。
【AIを作成する過程】
①学習データをインポート
②予測する項目を設定
③データの整形(前処理)
④AIの設計図の作成(レシピ)
⑤AIに学習させる
⑥予測に使用するデータをインポート
⑦予測する(推論)
「AI」といえば、難しいイメージがありますが、MatrixFlowでの作業はクリックやドラッグアンドドロップが多くとても簡単です。
4.データセットの説明
データセットとは、分析したいデータをまとめたものです。
まず、使用するデータを用意します。
今回、使用するデータは、気象庁の過去の気象データの、2011/1/4 ~ 2020/12/22 までの気象状況を7日ごとにデータを取得したCSVファイルです。
内容は列名の通りになります
日付, 平均気温, 平均湿度, 日照時間, 降水量, 平均風速, 平均雲量
今回は「平均雲量」を予測します。

このCSVファイルを使って、データセットの設定を行います。
使用するデータを設定するには、3つの方法がありますが、今回は「ファイルをアップロード」をします。
上記で用意したCSVファイルを所定の場所にドラッグ&ドロップします。

ファイルの情報が表示されたら、名前と説明を入力して「データセットをアップロードする」をクリックしましょう。

5.予測する列の選択
データセットをアップロードしたら、予測する列の選択画面に移行します。ここでは、予測する項目を設定します。何を予測分析したいのかを選びます。
今回は、「平均雲量」の推移を分析したいので、データセットの列名一覧より選択し、「予測する列を決定する」をクリックします。

6.前処理
前処理の画面に移行します。
ここでは、学習用データをAIが学習できる形に加工します。その工程を前処理と呼びます。
文字を数値変換したり、欠損値のある項目を特定の値で埋めたり、欠損値を含む行を削除します。これを行うことで、AIの学習精度が上がります。
ここで、前処理を行う必要があると、エラー(赤字)表示されますが、今回はデータが整っていたので、前処理の必要はありませんでした。
何もせずに、左上の「前処理を完了する」をクリックします。
※前処理が必要な場合の設定方法については別の記事で説明しています。

7.レシピ
次にAIのレシピを作ります。
レシピとは、AIの設計図です。
通常だと、ここでプログラミングが必要となりますが、MatrixFlowを使えば、ドラッグ&ドロップでブロックを置いてブロック同士を繋げるだけで、プログラミングをすることなくAIの構築(機械学習・深層学習)が出来ます。
では、レシピを作っていきましょう。
レシピ管理画面では「新規追加」ボタンを押します。

ブロックタイプ「時系列解析」(図1)をクリックすると2つのブロックが表示されます。(図2)


MFTransformerをドラック&ドロップで作成フィールドに置き、データ入り口(数値)と精度評価にそれぞれ繋げます。
そして、左上の「レシピを保存する」をクリックします。

名前と説明を書いて保存ボタンを押せばレシピの完成です。

8.学習
学習とは、レシピと学習用データを使ってAIを学習させます。
機械学習は、アルゴリズムを使って大量のデータを解析することで、その中に規則性や関係性を見つけ出す手法のことです。
では、AIの学習を始めましょう。
先ほど予想する列を選択画面で「平均雲量」を選びました。「MfTransformer」は、複数の要因を学習することができるため、ここでは全ての列名を選択し、「学習を開始する」をクリックします。

学習が始まりました。
数分で学習は完了します。

9.学習結果
紫色(予測値)と緑色(実測値)の線で表示されます。

グラフを拡大してみましょう。
紫色(予測値)と緑色(実測値)の動きに大きなずれはないので、これなら精度の高い予測が出来そうです。

学習が完了したAIは保存しておきましょう。
左上の「学習済みAIを保存する」をクリックして「名前」と「説明」を入力し、保存します。

10.推論
推論とは、学習結果(規則性や関係性)に基づき、提示された新たなデータについて予測測を行うことです。
ここでは、次の周期の「平均雲量」を推測します。
学習済みAIの保存が完了すると、「このAIを使って推論をする」または「引き続き学習する」の選択肢が出てきます。「このAIを使って推論をする」を選択します。

推論画面へと移動します。
ここで、予測に使用するデータをインポートします。
推論用のデータは、学習に使用した2020/12/22までのデータに次の周期の12/29分を追加しています。

用意したCSVファイルを所定の場所にドラッグ&ドロップします。

画面が変わったら、「推論を実行する」をクリックします。
(ここでは特に何も設定する必要はありません。)

推論結果です。
紫色の線が予測値、緑色の線が実測値になります。

グラフは、以下のように拡大して詳細を確認することもできます。
下のグラフの見たい範囲をクリックしながら動かして指定することでその部分を拡大できます。
次の周期の2021/01/05 を予測することができました。

推論結果はダウンロードすることもできるので結果をエクセルなどでさわりたい人は「推論結果をダウンロードする」ボタンを押してください。
「時系列解析」というと難しいように思えますが、時間に合わせて物事を予測し、対応に当たるのは様々な仕事で当たり前にやっていることです。
今回は、気象状況のデータを使用しましたが、たとえば小売業や飲食業においては、曜日や時間ごとに来客数の推移を予測して、商品の仕入れや接客にあたる人数などを調整しているケースも多いと思います。ぜひ、皆様の業務にも活用してみてください。
以上です。ありがとうございました!
サポートへのリンク
MatrixFlowでは一緒に世界を変えるAIプラットフォームを作る仲間を募集しています!!
【会社概要】
株式会社MatrixFlowは、「テクノロジーで世界をつくる」をミッションとするAIベンチャーです。大人から子供、ビジネスマンから学生、デザイナーからサイエンティストに至るまで、様々な人々がAIを活用し、素晴らしい着想を得たり、あっと言わせるクールな活動をすることを支援したいと考えています。その実現に向けた第一歩として、プログラミング不要のクラウド型AI構築プラットフォーム「MatrixFlow」を開発しております。また、様々な会社でのAI活用を推進するためにAIの受託開発・コンサルティング事業も行っております。
【会社情報】
設立 :2018年10月
本社 :東京都台東区
URL:https://www.matrixflow.net/
事業内容:ビジネスのためのAI活用プラットフォーム「MatrixFlow」の運営、および、AIの受託開発・コンサルティング
【お問い合わせ先】
https://www.matrixflow.net/contact/