メインコンテンツへスキップ
見出し画像

ClaudeとGeminiにもt検定を100回やらせてみた


    3月13日追記

    今回の実験に関して、重要な指摘が入りまして、この検証がフェアではない部分があったという自覚に至りました。詳しくはこちらの記事を参照ください。

    透明性の観点から、この記事は削除いたしませんが、上述の記事で論じられている限界にまず目を通してくださいますよう、お願い申しあげます。

    イントロ

    前回の記事で、「有意でないデータを用意し、ChatGPTにAPI経由で100回、t検定させたところ、統計値もバラバラで、88%で有意差をでっちあげた」ことを報告しました。前回の復習ですが、ChatGPTの図を下に示します。各条件の平均もt値もp値もかなりバラバラですね。

    画像
    ChatGPTがt検定を100回行った結果。赤のドット線がRで計算した正解値。

    まぁ、AIは四則演算が苦手ということは前々から知られていたので、当たり前っちゃ当たり前なのかもしれませんが、現場で学生を指導する身としては、「これが当たり前」じゃ困るんです。

    では、ほかのAIはどうか?という自然な疑問が湧いてきましたので、実際やってみました。ただ、注意して頂きたいのは、今回の目的は「どのAIが良いか」という比較でなく、「それぞれがどんな振る舞いをするか」です。正直、いろいろ試行錯誤中です。ですから、実験条件が細かいところで異なることがあります。

    どちらの実験も生データやRスクリプトはOSFで公開しています。興味がある方はいろいろいじってみてください。temperatureの設定やモデルの選定など、今回はいろいろ探索的です。今回の実験だけで結論をだす問題ではなさそうです。

    Claude

    方法は以下の通りです。

    • モデルはclaude-sonnet-4.6。

    • データは、今までの実験でも使っているもので、全体としては、「条件1と条件2の差が有意にならないもの」を投げ込みました(p=0.077)。データファイルはOSFからDLできます。

    • 条件1も条件2もN=100.

    • temperature = 0 と temperature = 0.8を50試行ずつ。temperature = 0だとブレがまったくなくなる可能性を考え、temperature = 0.8もテスト。(temperatureは、AIの回答のばらつき度合いを司るパラメータ)

    • 投げたプロンプトは以下の通り。

    Please tell me (1) the mean of Cond1, (2) the mean of Cond2, (3) the result of a two-tailed paired t-test (t, df, p), (4) whether it is significant or not. Please report only the final results. Do not show intermediate calculations or explanations.

    Claudeへのプロンプト

    Claudeは、読み込んだデータをすべて出力で確認したり計算過程をすべて出力したりする傾向がありまして、そうするとGoogle spreadsheetへの出力エラーにつながることがありました。 "Please report only the final results. Do not show intermediate calculations or explanations."という文は、それを回避する目的で加えました(ChatGPTへのプロンプトには入っていません)。

    結果が下図です。上から、条件1の平均、条件2の平均、t値、p値です。

    画像
    Claudeの出力。左コラムがtemperature = 0; 右のコラムがtemperature = 0.8。上から、条件1の平均、条件2の平均、t値、p値。

    結果として重要な点をまとめます:

    ① 本当は有意でない今回のデータに対して、100%で有意と返してしまう。
    ② 全体として、ばらつきがChatGPTよりも少ない。結果として、一貫して間違ってしまう。
    ③ Temperature = 0.8の方がばらつきが多い(これは、予想通り)。

    Gemini

    • モデルはgemini-3-flash-preview。

    • データは、ChatGPTやClaudeに読み込ませたものと同じ。

    • temperature = 0.5 と temperature = 1を50試行ずつ。

    • temperature = 1は公式で薦められている数値です。ただし、今回は、あくまで挙動調査として0.5も用いました。(ここの設定は正直、試行錯誤中です。)

    • 投げたプロンプトはChatGPTのものと同じ=Claudeに投げたものから、但し書きを引いたもの。

    結果がこちらです:

    画像
    Geminiの結果

    ① ばらつきがChatGPTより少なく、正解(赤の点線)近くに分布している。
    ② ただし、とっても大きな外れ値もたまに出す。
    ③ p値に関して、まったく間違いない正解(p=0.077)は、temperature = 0.5で20回(40%)、temperature = 1で25回(50%)。
    ④ 統計に「おしい」はありませんが、あえて「おしい」を「0.01の誤差を認める」と定義してみます。すると、p値が0.067~0.087に収まった回数は、temperature = 0.5で34回(68%)、temperature = 1.0で41回(82%)。

    公式では数学的な推論にはtemperature = 1を薦めているので、フェアに考えると、Geminiは、「完全正解が50%, おしいが82%」とでも言えるでしょうか。まぁ「おしい」という定義がどうなのかって異論はあると思いますが、AIでなくても、小数点の四捨五入なんかで数字がぶれることはありますからね。

    ただ、Geminiは、ChatGPTやClaudeに比べると「今回の実験条件下では、基準値により近い出力が多かった」ように見えるんですが、0.01以内にも収まらないp値も18%あった。これは心に留めておくべきかと思います。

    結論


    以下結論です:

    ・Claudeは一貫して大きく外す傾向を確認
    ・Geminiは比較的正答に近い値を出すことが多いが、外れ値もあり
    ・どちらも統計計算を無条件に任せるのは危険

    ・統計はPythonやRで検算しましょう。(AIにコードを書かせる場合も、コードの確認を。)

    An English summary 

    In the hope that Anthropic and/or Google may find this….

    This is a preliminary report from an ongoing series of experiments examining AI behavior in statistical reasoning tasks.

    What happens if we ask Claude and Gemini to repeat a t-test 100 times using identical data that does not contain a significant difference between Cond1 and Cond2 (actual p = .077)? Claude erroneously deemed the difference significant 100% of the time. Gemini's performance was better but not perfect: it reported the exact value (p = .077) in 40–50% of trials depending on the temperature setting, and returned a value within ±.01 of the true p-value in 68–82% of trials. However, notable outliers were also observed. Raw data and R scripts are available on OSF.

     
     
     
    音声学者・言語学者。更研究テーマはプリキュア、ポケモン、ラップ、メイドとか。「音声学は覚えることが多い」「言語学は何をやっているのか分からない」思われている状況を打破したい。自問自答しながら研究、教育、アウトリーチ、子育てに勤しむ毎日。