ChatGPT 5.2に100回t検定させたら、88回で有意と誤判定した
3月13日追記
いくつか建設的なご意見を頂きましたので、ご紹介したいと思います。
① 「AIが統計できない」わけではない。なぜならcode interpreterを使えばできるから。→ おっしゃるとおりだと思います。私も同意見です。ただ、すべての学生がcode interpreterをしっかり使うかは少し心許ない、というのが正直なところです。
② ウェブインターフェイスでもcode interpreterを使える。今回のAPI経由の実験ではcodeが使われていない。→ 今回は、Codeが起動しない条件での挙動調査でした。ウェブインターフェイスでは毎回code interpreterが起動する保証がない以上、初学者は“その場で出たもっともらしい数値”を採用してしまう危険は残るかな、と思います。ただし、この点については、私もフェアでなかったと感じております。下の⑤をご覧ください。
③ 「AIを使うな」ではなく「AIをどう使うか」を教えるべき → 完全に同意です。言葉足らずだったかもしれませんが、私も同じように考えております。期せずして、今回の実験は、「AIをこう使っちゃダメだよ」のデモとなりました。
④ これは自己反省ですが、③を考えると、タイトルやヘッダーのデザインが煽り気味でした。修正いたしました。
⑤ 総じて、ChatGPT は code を使えば検定を適切に実行できること 、および、今回の API 実験では code を使えない設定だったことを踏まえ、私の当初の主張はフェアではなかったと判断しました。詳細は、こちらの記事を参照ください。
「AIを正しく使う道を探りたい」という気持ちは変わりませんが、今回の報告は勇み足だったと認めたいと思います。
なお、透明線の観点からオリジナルのポストとnote記事は削除せず、こうして、「自分の見解を改める」という形を取らせて頂きます。
一文要約
本当は、有意差がない同じデータをChatGPTに100回t検定させところ、88回、有意差ありと返ってきた。
(注)この記事は、このポストの説明記事です:
【警告】ChatGPTに有意でないデータ(p = .077)でt検定を100回繰り返させたところ、88回「有意差あり」と誤判定しました。
— Shigeto Kawahara@当面の間、マネージャー管理 (@PhoneticsKeio) March 8, 2026
しかも報告される平均値・t値が毎回異なります。かなりバラつきます。
学生がAIを統計ツールとして使うことの危険性を示す結果です。 pic.twitter.com/0VC8XgYo9x
導入
前回の実験で、「AIは平均すら安定して正しく計算できない」という当たり前だけど衝撃的な事実が明らかになりました。AI(LLM)は、「プロンプトに対して、それっぽい答えを返す機械」だし、「計算は苦手」というのは知っていのに、それでも衝撃を受けた、というのが正直なところです。
統計をAIに計算させている学生も多いでしょうし……これはもう、実際に被害が出ていてもおかしくないですよね……。
というわけで、簡単な実験をしてみました。
方法
API経由でChatGPTに100回、t検定をさせる。
モデルはgpt-5.2-chat-latest。
データは、今までの実験でも使っているもので、全体としては、「条件1と条件2の差が有意にならないもの」を投げ込みました(p=0.077)。
条件1も条件2もN=100.
gptはtemperatureの指定ができませんでした。
投げたプロンプトは以下の通り。非常にシンプルです。
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.
その他、生データやRスクリプトなどはOSFからDLできます。興味がある方は、いろいろいじってみてください。新たな発見があるかもです!
結果
結果は下のグラフの通り(左上=条件1の平均、右上=条件2の平均、左下=t値、右下=p値)。赤のドット線で表しているのが実際の数値です。かなりばらついていますね。とくにt値とp値が、実際の数値と離れているのがわかります。

とくに怖い点を整理していきましょう。
① 88/100試行で「有意」と誤報告。正しい答えはp = .077(有意でない)なのに、ChatGPTは同じデータに対して「Cond2は有意に高い」という結論を、88%の確率で出しています。学生がこの結論をそのまま論文やレポートに書いてしまう可能性は十分あります。
② 数値がほぼ毎回違う。t値が1.78から6.20まで幅がある。これは、予想ですが、LLMの基本的な仕組みから説明できるかもしれません。ChatGPTは「計算」をしていない。次に来そうな文字(トークン)を確率的に予測しているだけです。
例えば「6.20」という数字は、計算結果ではなく「こういう文脈ではこういう数字が続きそう」という予測の産物です。だから毎回ブレる。
③出力が非常に整然として見える。以下にサンプルを提示します。理路整然として、「いかにも合ってる」感が出ていますね。
I computed the results using all 100 paired observations.
### (1) Mean of Cond1
**M₁ = 4.43**
### (2) Mean of Cond2
**M₂ = 4.62**
### (3) Two‑tailed paired t‑test
- Mean difference (Cond1 − Cond2) = **−0.19**
- **t(99) = −2.17**
- **p = .032** (two‑tailed)
### (4) Significance
Yes — the result is **statistically significant** at α = .05 (p < .05).
Cond2 scores are significantly higher than Cond1.
丁寧な形式が、信頼感を演出してしまっています。
仮説
なぜここまで有意に傾くのか——あくまで仮説ですが、もしかしたら、世の中には「有意差」の論文で溢れていることが原因かもしれませんね。だから、ChatGPTは「統計=有意」というバイアスを学んでしまっている。そう考えると、我々研究者たちが過去に積みあげてきたバイアスを濃縮還元して僕らに返してるのかもしれません。
以前、アマゾンが採用システムにAIを導入して「訓練データが男性のものに偏っていたため、女性の申請書を低く評価した」という事例があります。それに似ているかも。
最後に
ここのところ、毎日叫んでいますが、改めて結論です:
LLM(AI)に統計を丸投げするのはやめましょう。
危険です。
それから、今回のと前回の結果は「開発会社、しっかりしてください」と正直に申しあげたいです。
「生成AIに計算させる方が間違っている」「ハルシネーションに対する注意書きはしっかりしている」という言い分もわかります。でも、学生が使うこと前提なんですよね? OpenAIもEdu向けプランを展開中です。
だったら、こういう学問における致命的なエラーとなるようなことはないようにしてから、世の中にリリースして欲しいんです。批判しているのではありません。学生に提供するなら、安全な形にしてから提供してください——それだけのお願いです。
いいなと思ったら応援しよう!
私は自分の知識をみなさまと共有できることを第一に、note記事を書いております。しかし、専門知識を提供したり、研究者としての時間を費やしていることに対して、完全に無料でいいのか?という疑問も感じはじめてきました。迷ってばかりですが、応援ありがたいです。