はじめに
ChatGPT に質問しながら 2022 年の統計検定 1 級(統計応用・理工学)の問題を解いてみようと思います。
確率に関する基礎的な概念は理解していることを前提に、各種公式や統計用語は積極的に ChatGPT 先生に質問していきます。
まったくの初学者を想定して、ChatGPT に問題を丸投げしてダイレクトに答えを得ようという試みではありません!
問題文は一部省略しています。全文は適切なところで入手してください。(問題) (略解)
また、ChatGPT は問 1 のみ GPT-3.5 を利用しましたが、思ったような答えが得られないことがあったので問 2 以降は GPT-4 を使います。
問 1, 問 2 :
https://qiita.com/taichan003/items/3eafd80bc6111697d5ac
問 3, 問 4 :
ここ
問 5:
https://qiita.com/taichan003/items/322457d7e59d4e1f2548
問 3
あるポリエステルコードのコーティング工程では,その皮膜の接着力指数 $y$ を大きくするために,
$x_1$ : エポキシ基濃度,$x_2$ : 硬化剤濃度シラン,$x_3$ : オーブン温度
を因子として実験を行い,$y$ と $x_1$,$x_2$,$x_3$ の関係を定量的に表現しようとしている。
接着力指数 $y$ を応答とし,それを表す確率変数 $Y$ と因子 $x_1$,$x_2$,$x_3$ との関係について,
\begin{align}
Y = \mu+\beta_1x_1+\beta_2x_2+\beta_3x_3+\beta_{12}x_1x_2
+\beta_{13}x_1x_3+\beta_{23}x_2x_3 \\\
+ \beta_{11}x_1^2+\beta_{22}x_2^2+\beta_{33}x_3^2+\varepsilon
\end{align}
を仮定する。ただし,$x_1$,$x_2$,$x_3$ は中心 $0$ に基準化してあり,$\mu$ は一般平均を,各$\beta$ は各項の係数を表す。さらに,$\varepsilon$ は平均 $0$,分散 $\sigma^2$ の正規分布に従うものとする。
このモデルには,$x_1$,$x_2$,$x_3$ に関する 2 次の項まで含まれることから,これを「接着 2 次モデル」と表す。このとき,以下の各問に答えよ。
〔1〕 接着 2 次モデルにおいて,因子 $x_1$ の主効果,因子 $x_1$ と $x_2$ の交互作用はそれぞれどの項で表されるかを示せ。
〔2〕 接着 2 次モデルに基づく推定を行うために,$2^3$-型要因計画,軸上点 $\alpha = \pm 1$,中心での繰返し数 $n_0 = 6$ の中心複合計画を用い,ランダムな順序で実験を行って応答の値を測定した。その結果は表 1 のようである。
表 1: 中心複合計画による実験結果
(略)
このデータに基づく表 2 の分散分析表の空欄 (a) から (e) の値を求め,接着 2 次モデルによる変動が有意かどうかを有意水準 5%で検定せよ。
表 2: 表 1 の実験結果の分散分析表
(略)
〔3〕 接着 2 次モデルの各係数の推定値,およびそれらの t 値は表 3 のようである。この推定結果からわかることを記述せよ。さらに,$x_i \in \{−1, 0, 1 \}$ として,応答 $y$ を大きくする $x_1$,$x_2$,$x_3$ の各水準を求めよ。
表 3: 各係数の推定値と対応する t 値
(略)
〔4〕 接着 2 次モデルから,(i)t 値の絶対値が最も小さい $x_3^2$ を削除し,加えて (ii)t 値の絶対値がその次に小さい $x_2x_3$ を削除した。各モデルでの切片,各係数の推定値は表 4 のとおりである。接着 2 次モデルと (i) を比べると,一般平均の推定値 $\hat{\mu}$,2乗の係数の推定値 $\beta_{ii}$ は変化し,その他は変化していない。また (i) と (ii) を比べると,それらの間ではすべての推定値は変化していない。この理由を説明せよ。
表 4: 接着 2 次モデルと項を削除したモデルにおける推定値
(略)
〔5〕 応答 $y$ と各因子 $x_1$,$x_2$,$x_3$ との関係を,因子のそれぞれの水準を $\{ –1, 0, 1 \}$ とした実験回数 $3^3 = 27$ の 3 水準要因計画により推定する。このとき,接着 2 次モデルに含まれる効果に加え,$x_1$,$x_2$,$x_3$ に関する 3 次の効果で推定できるものをすべてあげよ。また,誤差分散 $\sigma^2$ の推定の点で,前述の中心複合計画と実験回数 $3^3$回の 3 水準要因計画ではどのような差異が生じるかを説明せよ。
問 3 (解答)
ChatGPT への質問の全文はこちら:
https://chat.openai.com/share/0348ca55-06dc-4dc1-b8bb-c199acf4d08d
正直なところさっぱり分かりませんでした。ChatGPT の回答に嘘があったら気づいていないかもです。
〔1〕 数式を入れたくはなかったのでさぼったが、2 次回帰モデルということでだいたい分かってくれた。
因子 $x_1$ の主効果は $\beta_1$、因子 $x_1$ と $x_2$ の交互作用は $\beta_{12}$。
〔2〕
ChatGPT 先生の言葉に従って以下を得る:
接着 2 次モデルの自由度 9, 平均平方和 258.35, 平均平方 28.7055555556,
誤差項の自由度 10, 平均平方和 18.60, 平均平方 1.86,
F値 28.7055555556 / 1.86 = 15.4330943847.
また、有意性検定のやり方についても質問する。
自由度 $(9,10)$ の F 分布の有意水準 5% での臨界点は付表より 3.020 であり、求めた F 値はこれより大きい。
従って接着 2 次モデルによる変動は有意水準 5% で有意と言える。
〔3〕
t 値について有意性検定を行う。t 値は自由度 10 の t 分布に従うが、この分布の有意水準 5% での臨界点は付表より 1.812。
$\mu, \beta_1, \beta_2, \beta_{12}, \beta_{13}$ について、有意水準 5% で帰無仮説 $H_0$「回帰係数は 0 である」は棄却される。
一方、$\beta_3, \beta_{23}, \beta_{11}, \beta_{22}, \beta_{33}$ については帰無仮説 $H_0$ は棄却されない。
さらに、応答 $y$ を大きくする $x_1, x_2, x_3$ の各水準を求める。係数の正負から、最大値をとりうる組み合わせは $(x_1, x_2, x_3) = (1,1,1), (1,1,0)$ のいずれか。
$(x_1, x_2, x_3) = (1,1,1)$ のとき $y = 25.05$、
$(x_1, x_2, x_3) = (1,1,0)$ のとき $y = 22.7$ を比較して、求める答えは $(x_1, x_2, x_3) = (1,1,1)$ となる。
〔4〕 めちゃくちゃやりづらい。
さらに独立性って何ですか?と聞くと突然一般論を語り始めるので、(正規)直行性という言葉を引き出せた時点で満足してあとは人間が察したことにしてください。
(i) データ点が表 1 に従うとき、データ点の内積を計算する。例えば
$x_1 \cdot x_3^2 = 0$ となり、$x_1$ と $x_3^2$ は独立。
$x_1^2 \cdot x_3^2 = 8$ となり、$x_1$ と $x_3^2$ は従属。
したがって、モデルから変数 $x_3^2$ を取り除いたとき $x_1$ の係数は変化しないが $x_1^2$ の係数は変化する。ほかの変数についても同様に考えられる。
また、$\hat{\mu}$ は $x_0 \equiv 1$ という変数の係数と見なせば、これも $x_3^2$ と従属なのでモデルの作り直しに伴って変化する。
(ii) について、$x_2x_3$ は $x_0 \equiv 1$ も含めてすべての変数と独立となっているので、この変数を落としてもほかのすべての変数の係数の推定値は変化しない。
ちなみに、公式の略解には「デザイン行列の列の直交性から推定値の不変性が判断できる。」とある。そこでデザイン行列という言葉を質問に含めればかなり分かりやすい回答が得られた。
適切な答えを引き出すには適切な知識が必要ということを痛感する。
〔5〕 これも前問に引き続きいい感じの回答を得るのが難しい。これだけのデータ点で 3 次の効果の推定をするのはおかしいとひたすら怒られる。できないものの例を自分から差し出すことで何とか怒りを鎮めてもらった。
前問と同様にデータ点の線形独立性の確認をすればいい。細々とした計算は人間が確かめるべきだが、ここでは省略する。
2 次と 3 次の交互作用の効果は推定できるとわかったので、求める答えは
\begin{align}
x_1x_2x_3, x_1^2x_2, x_1x_2^2, x_1^2x_3, x_1x_3^2, x_2^2x_3, x_2x_3^2
\end{align}
の効果となる。
中心複合計画と 3 水準要因計画の比較についての一般論は ChatGPT 先生に任せればよい。
問 4
乱数を用いたシミュレーション(モンテカルロシミュレーション)では,与えられた分布に従う乱数の生成が必要となる。具体的に,確率密度関数
\begin{align}
f(x) = \left\{
\begin{array}{ll}
60x^3(1 − x)^2 & (0 \leq x \leq 1)\\
0 & (\text{otherwise})
\end{array}
\right.
\end{align}
を持つ分布(ベータ分布)に従う乱数を生成する手順につき,以下の各問に答えよ。
〔1〕 確率密度関数 $f(x)$ の最大値を与える値 $x_0$ とそのときの $c_0 = f(x_0)$ を求めよ。
〔2〕 $Y$,$U$ を互いに独立にそれぞれ区間 $[0, 1]$ 上の一様分布に従う確率変数とする。
このとき,確率 $P(c_0U \leq f(Y))$ を $c_0$ を用いて表せ。
〔3〕 上問〔2〕の確率変数の組 $(Y,U)$ を用いて,確率変数 $X$ を
\begin{align}
X = \left\{
\begin{array}{ll}
Y & (c_0U \leq f(Y))\\
-1 & (\text{otherwise})
\end{array}
\right.
\end{align}
と定義する。このとき,$X \geq 0$ の条件の下での $X$ の条件付き確率密度関数$h(x|X \geq
0)$ を求めよ。
〔4〕 上問〔1〕,〔2〕,〔3〕の結果を用いて,確率密度関数 (1) をもつ分布に従う乱数 $X$ を1つ生成する方法を述べよ。また,乱数 $X$ を1つ生成するために一様乱数は平均何個必要かを示せ。
〔5〕 確率変数 $X$ の定義式 (2) において,$c_0$ の代わりに,$c_0$ より大きい値 $c_1$,もしくは $c_0$ より小さい値 $c_2$ を用いるとどのようなことが起こるかを簡潔に述べよ。
問 4 (解答)
ChatGPT への質問の全文はこちら:
https://chat.openai.com/share/e4eeae12-5aaa-4e8e-8be1-71b87e393096
特に後半の問題においてほんとにすごかった。人間として負け惜しみを言うと、本問は一般的な手法について聞いていて、それが ChatGPT の性能と嚙み合ったところもあるとは思う。
〔1〕 さすがに ChatGPT を使わなくていいだろう。
$0 < x < 1$ で
\begin{align}
f'(x) = 60 x^2(1 − x) (3 - 5x)
\end{align}
であり、$f(3/5) = 1296/625 = 2.0736 > f(0) = f(1) = 0$ より、
$x_0 = 3/5$, $c_0 = f(x_0) = 2.0736$ が求める答えである。
〔2〕 計算式を直接入れるのは不安なので、計算の手順だけ聞いてみよう。
すごくいい感じ!言われた通りに $\int_0^1 \frac{f(y)}{c_0} dy$ を計算すればいい。
$f(y)$ は確率密度関数のため全体を積分したら $1$ となることを使えば積分の必要もないが、がんばって計算しても構わない。
一応聞いたら教えてくれる。
以上より、
\begin{align}
P(c_0U \leq f(Y)) &= \int_0^1 \frac{f(y)}{c_0} dy \\\
&= \frac{1}{2.0736} \int_0^1 f(y) dy = \frac{1}{2.0736} = 0.48225308642.
\end{align}
〔3〕 前問同様計算の手順を聞く。
前問同様いい答え!
ちなみに、最後の一行を付け加えずに質問すると求める確率密度関数を $f(y)^2$ とすることが何回かあった。いずれも最初の出発点で $Y$ の確率密度関数を $f$ と勘違いしたためだったので、上の質問では最後に $Y$ の確率密度関数を念押ししている。
ChatGPT の答えに従い、求める $X$ の条件付き確率密度関数は $h(x | X \geq 0) = f(x)$ となる。
〔4〕 文章で解答するような問題において ChatGPT は本当にすごい。質問自体も一般的な手順を聞いているだけなのでその点でも ChatGPT 向け。
問題の後半部分も教えてもらう。
言われた通り、必要になる乱数の個数の平均は $2c_0 = 2\times 2.0736 = 4.1472$ となる。
〔5〕 すべてを ChatGPT にゆだねよう。天のいと高き所にホザンナ。
(問 5 以降はこちら)