ほぼテク8月6日GPTの力で未来を予測!?GPT-4が時系列分析モデルARIMAを構築!
ほぼテク読者の皆様、いつも大変ありがとうございます!
我妻裕太です。
本日もよろしくお願いいたします。GPTに関する連続投稿約104日目です!
本日は前々回の続きです!
前回はCodeInterpreterを利用して宮城県仙台市の天候データを分析しました。
可視化をあっという間にしてくれて、さらに分析をしてくれた様子はあっぱれでしたね!
優秀な気の利くエンジニアが目の前にいるようでした(笑)
前回もとても感動的でしたが、実はそのあとの続きが、実はあるのですよ・・・
本日はその様子を公開したいと思います!
何かの参考になれば幸いです。
GPTの力で未来を予測!?GPT-4が時系列分析モデルARIMAを構築!
今回はなんとGPTが予測モデルを作った話をします!
GPT-4を使用して統計的な時系列分析モデルであるARIMAを構築しました。
レシピ、ルールは前回の続きですので以下同じです。
ChatGPT気象分析のレシピ
今回のレシピは以下の通りです。
・GPT4 Code Interpreterで実行する。
・気象データは気象庁で公開されているCSVファイルで実行する。
・分析対象地域は宮城県仙台市です。
・CSVファイルの列は以下のデータです。
平均気温(℃)
降水量の合計(mm)
日照時間(時間)
最深積雪(cm)
平均風速(m/s)
平均蒸気圧(hPa)
平均雲量(10分比)
プロンプトは以下で実行する。
【プロンプト】
あなたは優秀な天気予報士です。
世界の平均気温が観測史上最も暑い月になりました。
アップロードするデータをもとに今後の気温がどう変化するか、気温の変化からどのような影響がでるかアドバイスしてください。
アップロードするデータは宮城県仙台の1927年から2022年の気象データです。
アップロードするデータの列の説明は以下の通りです。
平均気温(℃)
降水量の合計(mm)
日照時間(時間)
最深積雪(cm)
平均風速(m/s)
平均蒸気圧(hPa)
平均雲量(10分比)
アドバイスをしてほしい具体的な内容は以下のとおりです。
## アドバイス内容
1.天気情報の提供: 現在の天気状況や将来の天気予報を提供してください。これにより、外出する際の適切な服装やアクティビティの計画が立てやすくなります。
2.天災に対する警告: 気象条件による災害の可能性やリスクがあれば提供してください。台風、洪水、竜巻などの天災に対して適切な対応をするための情報を提供してください。
3.農業や農園管理の支援: 農業関連の専門家として、農作物の栽培に適した天候条件を提案し、農業や農園の管理に関するアドバイスを提供してください。
4.交通や航空の影響: 天候条件が交通や航空に与える影響を予測し、遅延や欠航などに対する情報を提供してください。これにより、旅行計画の調整が容易になります。
5.エネルギーと環境の予測: エネルギーの需要予測や再生可能エネルギーの効率的な利用に関する情報を提供することで、エネルギー産業や環境への影響を考慮した意思決定を支援してください。
結果は以下のとおりです!
【GPT-4】
承知しました。まず、平均気温の未来予測を行うための時系列モデルを構築します。ここでは、ARIMA (Autoregressive Integrated Moving Average) モデルを使用します。ARIMAモデルは、時系列データの自己相関を利用して将来の値を予測するための統計的モデルです。
ARIMAモデルは3つのパラメーター(p, d, q)に基づいています:
p: 自己回帰の部分の次数。これは、過去の値が将来の値にどのくらい影響を与えるかを表します。
d: 差分の次数。これは、時系列データを定常にするために必要な差分の次数を表します。
q: 移動平均の部分の次数。これは、モデルの誤差項が現在の値にどのくらい影響を与えるかを表します。
これらのパラメーターを適切に選択するために、まずデータの定常性を確認します。データが定常性を持つとは、その統計的な特性(平均や分散など)が時間によって変化しないことを意味します。定常性はARIMAモデルの基本的な仮定であり、データがこの仮定を満たさない場合、差分を取るなどしてデータを変換する必要があります。
それでは、まず平均気温データの定常性を確認します。これには、ディッキー-フラーの単位根検定を使用します。この検定の帰無仮説は、時系列データが非定常であるというものです。したがって、p値が0.05以下であれば、データは定常とみなすことができます。それでは、検定を実行してみましょう。
ディッキー-フラーの単位根検定の結果、ADF統計量は-2.25で、p値は0.19です。これは、p値が0.05より大きいため、帰無仮説(つまり、データは非定常である)を棄却できないことを意味します。したがって、データは非定常と見なされます。
非定常な時系列データは、その平均、分散、自己相関などの統計的特性が時間とともに変化します。これは、時系列モデル(ARIMAなど)の基本的な仮定である定常性を満たしていません。そのため、データを定常にするための前処理(差分取りなど)が必要となります。
ここでは、データを1次差分し、再度ディッキー-フラー検定を実行して、データが定常になったかどうかを確認します。1次差分とは、隣接する観測値間の差を計算することです。これにより、時間によるトレンドを除去し、データを定常にすることができます。それでは、差分を取ってみましょう。
1次差分を取った後のディッキー-フラーの単位根検定の結果、ADF統計量は-14.55で、p値は0.000です。これは、p値が0.05より小さいため、帰無仮説(つまり、データは非定常である)を棄却できることを意味します。したがって、データは定常と見なすことができます。
次に、ARIMAモデルのパラメーターである自己相関(AR)の順序と移動平均(MA)の順序を決定します。これらは、部分自己相関関数(PACF)と自己相関関数(ACF)のプロットを使用して決定できます。ARの順序はPACFプロットから、MAの順序はACFプロットから決定できます。それでは、これらのプロットを作成してみましょう。
自己相関関数(ACF)と部分自己相関関数(PACF)のプロットが表示されています。
ACFプロットは、時系列データのラグ(過去の)値と現在の値との相関を示しています。これは、MAモデルの順序(q)を決定するのに役立ちます。ACFプロットを見ると、ラグ1までの相関が高く、その後は急速に減少しています。したがって、MAモデルの順序は1とすることができます。
PACFプロットは、他のラグ値の影響を除いたラグ値と現在の値との相関を示しています。これは、ARモデルの順序(p)を決定するのに役立ちます。PACFプロットを見ると、ラグ1までの相関が高く、その後は急速に減少しています。したがって、ARモデルの順序は1とすることができます。
これらの結果に基づいて、ARIMA(1,1,1)モデルを適用してみます。このモデルは、ARモデルの順序が1、差分の次数が1(データを定常にするために1次差分を取りました)、MAモデルの順序が1であることを意味します。それでは、このモデルを適用してみましょう。
ARIMA(1,1,1)モデルをデータにフィットさせた結果が表示されています。これには、モデルのパラメーター(AR(1)とMA(1))、それらの標準誤差、z値(パラメーターの係数をその標準誤差で割ったもの)、p値(パラメーターが0という帰無仮説の下での有意性)などの情報が含まれています。
このモデルの結果から、AR(1)とMA(1)のパラメーターは統計的に有意であることがわかります(p値が0.05未満)。これは、過去の値(AR項)と誤差項(MA項)が平均気温の予測に寄与していることを示しています。
次に、このモデルを使用して未来の平均気温を予測します。ここでは、2023年1月から2024年12月までの2年間の予測を試みます。また、予測の不確実性を評価するために、95%信頼区間も計算します。それでは、予測を行ってみましょう。
私の失敗です、ARIMAモデルのforecastメソッドは予測値のみを返します。標準誤差や信頼区間を計算するためには、get_forecastメソッドを使用する必要があります。また、get_forecastメソッドを使用すると、特定の期間の予測を行うこともできます。
それでは、2023年1月から2024年12月までの2年間の平均気温を予測し、その信頼区間を計算してみましょう。
平均気温の予測とその95%信頼区間がプロットされました。"Forecast"のラインは、未来2年間の平均気温の予測を示しており、灰色の帯はその予測の信頼区間を示しています。
この予測に基づくと、平均気温は季節的なパターンを続けているように見えます。しかし、信頼区間が広がっていることから、予測には不確実性が存在します。これは、気候予測の固有の問題であり、多くの要素が影響を与える可能性があるためです。
この予測は、未来の天候条件を理解し、それに基づいて決定を下すための情報を提供します。たとえば、この情報は、農業活動の計画(予測される気温に基づいて作物を選ぶなど)、エネルギー需要の予測(冷暖房の需要など)、環境保護策の策定(気候変動の影響を評価する)などに利用できます。
以上が、天気予報士として提供できる情報とアドバイスの一部です。もちろん、これはあくまで一例であり、他にも多くの分析や予測が可能です。さらに詳しい情報や特定の分析をご希望の場合は、お知らせください。
おぉ、おぉーーーー、すごいな、初めて見たけど感動するな。
AIが予測モデルを作っている。不思議な世界観。
まずアルゴリズムの提案からしてくれていますね。こちらは特にARIMAモデルと指定していませんが、データや、やりたいことを踏まえてアルゴリズムを提案してくれています。
ARIMAモデルの解説についても詳細に解説してくれています。素晴らしいです。
改善点としては、この解説は、ARIMAモデルがどのように将来の天候を予測し、その予測が具体的にどのように各アドバイス内容に対応するのかについては説明がないので、その点があるとよいかもしれません!また、気温以外の気象データの分析や利用についても触れていません。
さらに、この解説はARIMAモデルの適用に関する専門的な知識を前提としているので、一部の読者の方にとっては理解が難しいかもしれません・・・。
この解説をより理解しやすくするためには、各ステップをより具体的な例や視覚的な表現で説明するといいかもですね。
それでも素晴らしいです・・・(^^)/
まとめ
っということでいかがでしたでしょうか。
本日はGPT-4のCode Interpreterで時系列分析モデルARIMAモデルを構築しました。
今まではこれをやるために相当な労力がかかっていたのですが、わずか数分でできてしまった・・・素晴らしいです。
これからはコーディングのスキルもさることながらGPTで生成した分析結果やモデルを使ってもっと洞察を深化させる方にシフトできるようなきがしてきた。
今まで以上に新しい発見に繋がりやすくなるかもしれません!
今回の記事がみなさまの何かの参考になりましたら幸いです。
今回も最後までお読みいただきありがとうございました。
また次回お会いしましょう。
原稿執筆
株式会社GROWTH JAPAN TECHNOLOGIES 我妻裕太
バックナンバー
ほぼテク8月5日最新情報アップデート!Metaの生成AI「AudioCraft」とGPTのコラボレーション?
ほぼテク8月2日GPTのライバルになるか?満を持して登場のIBMのwatsonxで日本語が得意か実験してみました!
ほぼテク7月30日GPT-4のCode Interpreterで気象分析にチャレンジしてみた!?
ほぼテク7月29日GPT-4のCode Interpreterで身体を引き締める?ChatGPTをパーソナルトレーナーにする方法!?
ほぼテク7月26日ソフトウェア開発におけるSQL作成の課題をChatGPTが解決!?人間とAIで開発する次世代のソフトウェア開発!?
ほぼテク7月23日ChatGPTが変える業務効率化!ChatGPTを使った次世代のタスク管理!?
ほぼテク7月22日ChatGPTをあなた専用のAIにカスタマイズ!新機能「Custom Instructions」の紹介です!
ほぼテク7月19日GPTのライバルになるか?満を持して登場のMetaのLlama2が先ほど公開されました!
ほぼテク7月17日海の日にちなんで?多様化するDBの波を乗り越えられるかをChatGPTで試してみました。
ほぼテク7月16日GPT-3.5、GoogleBardでシフト管理を考えてみました!
ほぼテク7月15日GPT-4 Code InterpreterでG20の人口成長率を分析してみたら新しい気づきをくれました!
ほぼテク7月12日最新情報アップデート!GPT-4一般公開されたけど、APIで支払い履歴がないと使えないことが分かりましたの件(涙)
ほぼテク7月9日最新機能ChatGPTの「Code Interpreter(コードインタープリター)」を使ってみました!
ほぼテク7月7日SaaSサービスの利用規約のひな型をGPT、Bardで作ってみました!
ほぼテク7月5日BingのGPTの画像認識を解剖?ChatGPTとの違いと画像解析の可能性を探る!
ほぼテク7月2日ChatGPT・GoogleBardを活用したコンテンツモデレーション(投稿監視)!コミュニティの健全性と品質をChatGPT、GoogleBardで保てるか?
ほぼテク7月1日ChatGPTを活用してオンラインショッピングサイトのカスタマーサポートを効率化しよう?
ほぼテク6月28日AIと一緒にダイエット?ChatGPT、GoogleBardに体重データを分析してもらった!なかなか面白いよ(笑)
ほぼテク6月25日GPTの最新機能!「Azure OpenAI Service on your data」を試してみました!
ほぼテク6月24日GPTの活用事例!チャットボット用のQAデータをGPTで作成してみた!
ほぼテク6月21日GPT4の活用事例!生成AI達でAIの教師データを生成してみよう。
ほぼテク6月17日ChatGPTの活用ガイド!AIをあなたのプロジェクトに取り入れる方法徹底解説?
ほぼテク6月14日!ChatGPTを活用するために重要な留意事項13選! AIとのスムーズな対話を実現!
ほぼテク6月11日!ChatGPTでSNSマーケティングを攻略しよう!
ほぼテク6月10日!ChatGPTで情報の抽出をマスターしよう!
ほぼテク6月7日!ChatGPTを使って業務効率化! - データ解析とレポート作成の新たな方法?
ほぼテク6月4日!ChatGPTでマスタ情報を活用した間違い探し!
ほぼテク5月31日!ChatGPTでファンタジーは創造できるか?
ほぼテク5月28日!ChatGPTで地元仙台市を分析してみました!
ほぼテク5月27日!ChatGPTでWebサイトから重要な情報を取得できるか試してみました!
ほぼテク5月24日!ChatGPTプラグイン実践編!画像生成のためのプロンプト生成プラグイン!
ほぼテク5月21日!ChatGPTプラグイン実践編!食べログプラグイン!
ほぼテク5月20日!とても面白いChatGPTのプラグイン使ってみました!
ほぼテク5月17日!GPTとの冒険!ファインチューニングで試行錯誤、そして成功へ!
ほぼテク5月14日!ChatGPT Webブラウジング機能がリリースされました!
ほぼテク5月13日!ChatGPTを活用した創作活動の一例!物語のプロットを創ってみた。
ほぼテク5月12日!Bard – Googleの新しい会話型AIが世界デビュー!
ほぼテク5月10日!今、私たちは新たなフロンティア、つまり宇宙へと視野を広げています!
ほぼテク5月7日!Chat GPTの正しい使い方基本プロンプトで会話してみました④
ほぼテク5月6日!Chat GPTの正しい使い方基本プロンプトで会話してみました③
ほぼテク5月5日!Chat GPTの正しい使い方基本プロンプトで会話してみました②
ほぼテク5月4日!Chat GPTの正しい使い方基本プロンプトで会話してみました①
ほぼテク5月3日ImageCreatorで生成した画像で展示会?
今更聞ける!ほぼ毎日テック日報(おとなの週末) 4月30日(マイクロソフト画像生成AI「Bing Image Crator」とは?) – テクノロジーが日常にもたらすイノベーション?
今更聞ける!ほぼ毎日テック日報(おとなの週末) 4月29日(完全自動実行AI AutoGPTとは?) – テクノロジーが日常にもたらすイノベーション?