メジャーな生成AI（大規模言語モデル）のデータ分析を比較してみる

## 概要
ChatGPTに代表される生成AIを使っている人はかなり便利に使いこなしている印象がありますが、ビジネスの現場ではまだまだ各社業務適用できるユースケースを探している段階だと思います。

私はデータサイエンティスト（マネージャー）として、企業に蓄積されたデータを分析や、自社の分析プロダクトの検討を業務で行っています。
分析プロダクトを検討する中で、データ分析への生成AI活用はかなり可能性を感じており、今後は分析プロダクトを保有している企業が積極的に生成AIを組み込んだサービスを展開したり、業務適用が進んでいくと想定しています。MicrosoftのCopilotやSalesforceのEinstein GPTなどがその具体イメージです。

そんな中でメジャーな生成AIについて各モデルがどの程度データ分析をできるのか、各社のモデルにどんな違いがあるのかについて興味を持ったので簡単な分析シーンについて結果を比較してみました。

※ちゃんとした精度評価ではなく、初歩的な比較になります。詳細な比較はモデルの論文やリンク先の公式HPなどを見ていく必要があります。

## 比較するモデルと概要
今回比較するモデル名と概要です。なお、この表もOpenAI o1で作成しました。情報の真偽はどこのHPを参照したのかリンクが表示されています(※)
※ [概要](https://www.theverge.com/2024/9/12/24242439/openai-o1-model-reasoning-strawberry-chatgpt)、[得意なこと](https://www.lifewire.com/google-gemini-vs-gemini-advanced-8710143)、[不得意なこと](https://www.investopedia.com/amazon-backed-anthropic-debuts-most-advanced-version-of-claude-chatbot-8666493)


| モデル名                    | 概要                                                                                                                                  | 得意なこと                                                                 | 不得意なこと                                                                                                         | モデルの参考URL                                                                                                      | 
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | 
| OpenAIo1、4o                | OpenAIが開発した最新の大規模言語モデルで、GPT-4の後継の位置付け。テキスト、音声、画像処理能力が強化され、より自然な対話が可能。       | コンテンツ生成、データ分析、インタラクティブな会話など、多様な用途に対応。 | モデルの大規模化に伴い、トレーニングデータや計算資源の制約が課題となっている。                                       | [Evaluation of OpenAI o1: Opportunities and Challenges of AGI](https://arxiv.org/abs/2409.18486)                     | 
| Google Gemini Advanced      | Googleが提供するAIモデルで、テキスト、音声、画像処理に対応。特に画像認識や生成に強みを持ち、Googleの各種サービスと統合されている。    | 画像認識や生成、Googleサービスとの連携に優れている。                       | 画像認識や生成、Googleサービスとの連携に優れている。一部の機能は英語のみの対応であり、他言語での利用には制限がある。 | [An In-depth Look at Gemini's Language Abilities](https://www.lifewire.com/google-gemini-vs-gemini-advanced-8710143) | 
| Anthropic Claude 3.5 Sonnet | Anthropicが開発したAIモデルで、安全性と責任あるAI開発に重点を置いています。速度、コスト、知能の面で前モデルを上回る性能を発揮します。 | 高度な推論、コーディング能力、複雑なタスクの処理に優れている。             | 一部の機能や性能において、他の最新モデルと比較して若干の遅れが見られる場合がある。                                   | [Claude 3.5 Sonnet](https://www.anthropic.com/claude/sonnet)                                                         | 
## 比較する分析手法

| 比較する分析手法 | 分析内容                                                       | プロンプト例                                                                                | データセット                                                                                                                       | 
| ---------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | 
| 可視化(1)        | データのパターンや傾向を把握するために集計してグラフを作成する | データを基に、XXの売上を棒グラフで表示してください                                          | [Kaggle「Airplane Crashes Since 1908」](https://www.kaggle.com/datasets/saurograndi/airplane-crashes-since-1908?resource=download) | 
| 可視化(2)        | データ分析を始めたときに最初に行うEDA（探索的データ分析）      | データを基に、EDA（探索的データ分析）で必要と思われることを実施してください                 | 同上                                                                                                                               | 
| 統計分析         | 母集団から抽出した標本の平均に差があるかどうか検定             | 以下の条件の平均点を比較したとき、平均点に差があるといえるでしょうか。t検定を行ってください | [統計WEB「対応のない2標本t検定」](https://bellcurve.jp/statistics/course/9446.html)                                                | 
| 機械学習         | 回帰問題の予測モデルの構築能力                                 | データを基に、考えられる一番精度の高い手法でXXを予測するモデルを構築してください<br>        | scikit-learn                                                                                                                       | 

※[「面倒なデータ分析は生成AIにおまかせ　創造的な業務に専念するコツ」](https://markezine.jp/article/detail/46010)を参考に比較内容を作成
　Anthropic Claude 3.5 SonnetはBedrock経由で実施たため、統計分析のみを実施

 ## 結果　可視化(1)
 ・グラフの見た目は異なるが国別の事故件数について、意図した結果を表示できている。ただし、Geminiの方は国だけの表示となっており、地域の方は表示されていない。再度依頼すれば意図した結果を出すことは可能。

###### OpenAI 4o（左）　　　　　　　　　　　　　Google Gemini Advanced（右）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/7c65469c-e569-3a64-fe75-ee143f68ca38.png">   <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/d465b7ee-87d0-dd2b-34cc-162b8bc1919a.png">


・こちらは同じ結果を表示できている。　
###### OpenAI 4o（左）　　　　　　　　　　　　　Google Gemini Advanced（右）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/05246b1b-6642-3fb2-f93f-51fd8c6617b2.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/cb2b5a7e-2a28-62ec-8574-92f3da026491.png">

## 結果　可視化(2)
・OpenAIの方は一般的にEDAで実施される統計量の確認から集計・可視化を繰り返していくアプローチが詳細に表示できており、解りやすい。
一方、Geminiは特定の視点を集計した結果を表示しているのみでOpenAIの方が優れていると感じる（結果は一部省略しています）

###### OpenAI 4o（左）　　　　　　　　　　　　　Google Gemini Advanced（右）
指示プロンプト：このデータを基に、EDA（統計的データ分析）で必要と思われることを実施してください。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/6b98d05c-bb75-70be-2f65-64defc89d086.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/501bf24a-d556-9e31-e6ae-b0ab6554fcfc.png">

## 結果　統計分析
・OpenAI o1は正しい結果を表示できているが、GeminiとClaudeは過程はあっているものの、検定に使う関数や計算式を誤っており、正しい結果が表示できていない。

###### OpenAI o1（左）　　　　　　　　　　　　　Google Gemini Advanced（右）
指示プロンプト：以下の条件の平均点を比較したとき、平均点に差があるといえるでしょうか。対応のない2標本t検定を行ってください。
ある学校の1組と2組の算数のテストの平均点を比較します。1組の生徒30人の平均点は75点、標準偏差は5点、2組の生徒32人の平均点は70点、標準偏差は8点でした。この結果から、1組と2組の算数のテストの平均点に差はあると言えるでしょうか。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/5e558899-7989-12b2-aa6c-a4e075cae6b2.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/71640a22-13fa-754f-ce88-3dcb0e8bc587.png">

###### Anthropic Claude 3.5 Sonnet

![Claude_1_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/d7ff1ed4-b575-0eb1-63a5-66a14597b0dd.png)

## 結果　機械学習
・XGBoostと線形回帰で手法が異なった点が興味深い。Geminiの方は前半部分しかプログラムが表示されず、モデリング部分の詳細を確認できないという問題あり。（結果は一部省略しています）

###### OpenAI o1（左）　　　　　　　　　　　　　Google Gemini Advanced（右）
指示プロンプト：データを基に、考えられる一番精度の高い手法で目的変数「medv」を予測するモデルを構築してください

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/f8d83b73-597b-e2b5-64f4-b37765f21cfa.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3957965/ab2147d7-db7c-2ced-4fe2-90223f76b0c5.png">

## 試してみて解ったこと
・簡単な可視化であれば正しい結果が表示されると思われるが、統計分析のGeminiやClaudeの様にそれらしく間違える事もあるし、その内容に気付く必要があるため、なるべく細かいタスクを依頼し、中身を評価できる人間が確認する必要がある。そのため、使い方としては、コーディングやアイデアだし等のサポートツール的な使い方が無難と感じた。興味がある方はこういった検証はたくさんの人がされているので調べてみてください。
[参考サイト例：生成AIは日本語の画像をどこまで理解できるのか？](https://qiita.com/yamazombie/items/b7b76ea3f0103fc0f41b)

| モデル名                    | 結果の精度                                                                                                                                                                                                                      | ユーザーインターフェース                                                                                                                                                                                                                                                                | 
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
| OpenAI o1、<br>4o           | ・3つのモデルの中では一番精度が高い（分析の結果として優れている）と感じた<br>・特にEDAについては最初に観点を出した後、可視化をしながらデータの中身がどうなっていくのか探索している過程は人間に近く興味深かった                              | ・最初に思いつく必要な機能（データのアップロード、結果のダウンロード、プログラムの表示）は具備されている<br>・グラフは日本語に対応できていない（プロンプトで指示しても不可）<br>・4oと比べo1の方が精度が高いことが想定されるが、現状テキスト入力のみ可能でcsv等のアップロードができない | 
| Google Gemini Advanced      | ・グラフを作成する能力は曖昧な指示でも指示した側がイメージした結果を表示できていた<br>・一方、統計分析はかなりそれらしい結果が出ているが、プログラムを見てみると誤っており、統計分析は精度が低いかもしれない | ・OpenAIの機能に加え、グラフが表示された後から変更する事が可能（横棒グラフを折れ線グラフに変えるなど）で気の利いた機能がある<br>・一部プログラムが表示されない部分があり、中身を評価できない箇所があった                                                                                | 
| Anthropic Claude 3.5 Sonnet | ・AWSのBedrock経由で統計分析のみを実施しため統計分析のみの評価<br>・数学の精度が高いことを期待したが、統計分析も誤った結果となっていた                                                                                                        | ・AWS経由のため割愛                                                                                                                                                                                                                                                                     |