ChatGPT をデータ分析に使用する: AnyLogic モデルとの統合

モデルスキームと ChatGPT インタフェース

Noorjax Consulting の Felipe Haro と Joaquin Guzman によるこのゲスト ブログ投稿では、ChatGPT を AnyLogic モデル内のデータ収集プロセスにシームレスに統合するための革新的な方法論をご紹介します。


モデルを構築し、シミュレーション結果を使用して各種グラフを生成することは始まりにすぎません。モデルを理解し、その構築に必要なデータを収集する方法についてはどうでしょうか?精巧に構築されたモデルを構築するだけでは十分ではないかもしれません。

現在、スマート ソリューションを使用してエクスペリエンスを向上させるための複数のアプローチがあります。ChatGPT は、モデルの実行時にデータを読み取り、結論を生成するのに役立つ多機能ツールです。このブログ投稿では、ChatGPT 統合のためのいくつかのテクニックを明らかにし、この統合をデータ分析に利用する方法を説明します。

コンテンツ:

  1. データ分析用の ChatGPT
  2. AnyLogic モデルでの ChatGPT 統合の例
  3. ChatGPT データ分析のインストール
  4. データ分析における ChatGPT の使用に関する最終意見

データ分析用の ChatGPT

ChatGPT は、大量のデータを迅速かつ効果的に処理することに優れています。人間と比べて、AI は情報を処理して結論を導き出すのに必要な時間がはるかに短くなります。このプロセスを簡素化するために、ChatGPT のような高度なツールをシミュレーション モデルに統合することを想像してください。

それはあなたがモデルの振る舞いをより直観的にナビゲートするのを助ける、副操縦士的な役割を得ると言えます。AI は自然言語処理 (NLP) を使用して、アナリストまたは意思決定者とシミュレーション モデル間のシームレスなコミュニケーションを促進します。このアプローチにより、データの探索要約解釈などのタスクが合理化されます。

データ アナリストの副操縦士

作業を容易にするソリューションは、チャット エージェントを備えた AnyLogic ライブラリです。このエージェントは OpenAI プラットフォームに接続し、モデル内で AI 能力の恩恵を受けることができます。エージェントを使用してメッセージを送信し、応答を読み取ることができ、データ分析のためのすべての作業を ChatGPT に実行させることができます。

AnyLogic ソフトウェアに統合された ChatGPT のインターフェース

AnyLogic および OpenAI チャット エージェントのビュー

インストールプロセスと機能の説明に入る前に、サンプルモデルを見てチャットがどのように機能するかを見てみましょう。

AnyLogic モデルでの ChatGPT 統合の例


上のビデオは、ChatGPT エージェントを介したモデルとの通信の流れを示しているので、例を段階的に見てみましょう。このモデルでは、ユーザーが出生率を調整できる一方、死亡率は人口増加に基づいて変化し、過剰な増加を制限できます。

AnyLogic の出生率モデルの構造

モデルの構造

モデルの詳細はデモンストレーションの目的では重要ではありませんが、最初は指数関数的な成長パターンに従い、課された制限により S 字カーブで横ばいになると想像してください。このモデルを実行すると、それに応じて変化する人口を示すことがわかります。

人口動態のチャート

人口増加のダイナミクス

これで、ChatGPT との対話を開始できます。一般的な行動に関する質問をしたり、特定のデータポイントについて問い合わせたりすることができます。

ChatGPT エージェントとチャットする

AnyLogic モデルのチャット エージェントでの ChatGPT データ分析の例

いくつかの具体的な例として、たとえば、シミュレーション中に出生率を微調整し、その結果生じる人口の変化を観察します。

出生率推移チャート

数か月後のモデルダイナミクスの変化

追加のコンテキストを提供せずに、新しい結果に基づいて結論を引き出すよう ChatGPT に依頼できます。応答は、詳細を推測または仮定する場合もありますが、多くの場合、正しい結論につながります。

対話インターフェース

モデル内での ChatGPT との通信例

たとえば、ChatGPT は変化のタイミングを不正確に記述する可能性がありますが、人口減少の原因、この場合は出生率の低下を正確に特定します。ただし、これらの対応には慎重に対処することが重要です。ChatGPT は完全なデータ サイエンスの専門家ではなく、一つのツールとして機能することを忘れないでください。

ChatGPT データ アナリストのインストール

ChatGPT の統合プロセスは非常にシンプルで簡単です。次の 3 つの手順に従ってください。

  1. GitHub に移動し、Pypeline ライブラリをインストールします。これは OpenAI を活用するために不可欠な Python クエリを有効にします。
  2. Noorjax 開発者によって設計された ChatGPT ライブラリをインストールします。AnyLogic へのライブラリの追加が初めての場合は、 ヘルプ ドキュメントのガイダンスをご確認ください。
  3. インストールすると、パレットの下部に追加された 2 つのライブラリが表示されます。チャット エージェントをモデルにドラッグ アンド ドロップするだけです。

インストールが完了したら、チャット エージェントのパラメータについて理解しましょう。

チャット エージェントのテキスト フォントと Python のセットアップ

AnyLogic モデルの ChatGPT エージェントのテキスト フォントと Python セクション

テキストフォントセクション

ここでは、タイトルとチャット メッセージのテキスト フォントをカスタマイズできます。実験して、ニーズに最適なオプションを見つけてください。

Python パラメータ

Python Path: ここでは、コンピューター上の Python 実行可能ファイルへのパスを指定できます。Python のインストールが初めての場合は、 ガイドをご確認ください。

API Key: OpenAI サービスへのアクセスに使用される一意の識別子。ログインまたはサインアップして、 プラットフォームで API キーを見つけます。

Assistant Key:

  • OpenAI Assistants ページに移動し、+ Create をクリックします。
  • アシスタントに名前を付け、チャットをどのように動作させたいかについての指示を書き、モデルの目的に関するコンテキストを提供します。OpenAI と効果的に通信するためのデータ形式を含めます。
  • For example: 「疫学の専門家およびデータサイエンスと統計の専門家として、質問に最大 80 語で答えてください。データに関連する結論と回答のみを提供してください。データの形式は次のとおりです: NameOfStat:{{Time:Value}}」。

    この形式は、シームレスな ChatGPT データ分析と通信にとって重要です。これは、エージェントがデータをどの形式で受信するかを理解するのに役立ちます。

  • パフォーマンスとコストの両方を考慮して、利用可能なオプションから大規模な言語モデルを選択します。このライブラリはデフォルトで GPT3.5 で動作します。パフォーマンスを向上させるには、GPT4 を選択できます。GPT4 を選択した場合は、必ず支払い方法を設定してください。
  • Important Note: チャットからの応答を受信するために、OpenAI プラットフォームに十分なクレジットがあることを確認してください。初期クレジットは GPT-3.5 では利用できる場合がありますが、GPT-4.0 以降では利用できない場合があります。

  • 生成されたアシスタント キーをコピーし、AnyLogic のチャット エージェントの Assistant key パラメータに貼り付けます。

Data Time Unit: この設定は、ChatGPT が応答に使用する時間単位を決定します。

Response Update Time (Seconds): このパラメータは、API が応答の準備状況をチェックする頻度を決定します。デフォルトのままにすることができます。

チャットプレゼンテーション

以下のパラメータを使用してチャット画像を変更できます。ご自由に試していただき、自分にとって最適なものを見つけてください。

チャットインターフェースの設定

AnyLogic でのチャット プレゼンテーションの設定

Chat width: インターフェースに合わせてチャットの幅をピクセル単位で調整します。

Space between text: 読みやすくするために、テキストの各行間のスペースをピクセル単位で設定します。

Number of chat lines to show: サイズを制御するために表示される最大行数を指定します。

TextBox height: 快適に入力できるように、プロンプトが書き込まれるテキスト ボックスの高さを定義します。

Button height: 操作を容易にするために、リセットや実行応答などのボタンの高さを決定します。

Max characters per line: 明瞭さを維持し、テキストのオーバーフローを防ぐために、1 行あたりの最大文字数を制限します。

チャットにデータを送信する

すべての設定が完了したので、次のステップは、関心のある情報を ChatGPT に伝えることです。これまでに使用した例では、出生率が変化するときがこれにあたります。さらに、出生、人口、死亡が時間の経過とともにどのように変化するかを追跡したいと考えています。これを行うには、このデータを毎月 1 回生成するイベントを設定します。

addStat メソッドは 3 つの引数を取ります。

  • データの名前。
  • 集めた時期。
  • データは String に変換されます。

新しいパラメータを追加するための設定

新しいパラメータを追加するための AnyLogic インターフェース

上記のイベントの初期出生率に関する情報も収集したい場合は、これを time t=0 に追加できます。

chat.addStat("birth rate", time(), Double.toString(birthRate));

次に、以下に示すように、これと同じコードを使用して、ユーザーが出生率を変更したときの情報を収集できます。

出生率の変化を追跡するコードを備えた AnyLogic インターフェース

出生率の変化に関する情報を収集

最後に、データをリセットしたい場合は、resetStats()関数を使用できます。

データ分析における ChatGPT の使用に関する最終意見

シミュレーション モデリングでは、ChatGPT の統合により、アナリストや意思決定者に、複雑なシステムから洞察を収集するための優れた機能が提供されます。広範なデータを処理し、予測的な洞察を提供する能力により、シナリオ分析が強化されます。ただし、ChatGPT は完璧ではなく、分析の取り組みにおける唯一の決定要因ではなく、支援ツールとして見なされるべきであることを認識することが重要です。


シミュレーション モデルとの対話を強化する最新かつ最も効果的なテクニックにご期待ください。また、この機会にニュースレターを購読して最新情報を入手してください!

ニュースレターを購読する

関連記事