ホーム » データサイエンス » 統計 » 多変量テストで重回帰分析を使いこなす:Excel/GSSで施策の効果と有意性を見極める方法

多変量テストで重回帰分析を使いこなす:Excel/GSSで施策の効果と有意性を見極める方法

Webやアプリのグロース施策において、「A/Bテスト」では不十分な場面が増えています。複数の要素(ボタンの色、導線、テキストコピーなど)を同時に変化させて効果を検証する場合、多変量テスト(MVT)と重回帰分析が有効です。本記事では、ExcelやGoogleスプレッドシートを使って、実践的に施策効果と有意性を評価する手順を体系的に解説します。


1. 基本モデル:重回帰分析の構造

説明変数(X)はすべて 0/1 のダミー変数とし、目的変数(Y)は成果指標(CVR、売上など)とします。モデルは以下のように表現されます。

$$Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \dots + \beta_nX_n + \varepsilon$$


2. 係数βの求め方:擬似逆行列を使った最小二乗推定

最適な係数は次の式で導出します:

$$\hat{\beta} = (X^T X)^{-1} X^T y$$

これはExcelやGSSでもMMULT/MINVERSE/TRANSPOSE関数を組み合わせて実装できます。

=MMULT(MMULT(MINVERSE(MMULT(TRANSPOSE(X), X)), TRANSPOSE(X)), Y)

※ここで、X, YはA1:Z2のような配列の範囲。


3. 調整R²でモデルの説明力を評価する

通常のR²は説明変数が増えるほど大きくなるため、以下の「調整済みR²(Adjusted R²)」を用います。

$$R^2_{\text{adj}} = 1 – \left(1 – R^2\right) \cdot \frac{n – 1}{n – k – 1}$$

  • n:サンプル数
  • k:説明変数の数(定数項除く)

Excel関数例:

TSS = SUMXMY2(Y_range, AVERAGE(Y_range))
SSR = SUMXMY2(Y_range, Predicted_Y_range)
R2 = 1 - SSR / TSS
Adjusted_R2 = 1 - (1 - R2) * (n - 1) / (n - k - 1)

✅ 各記号・関数の意味

📌 Y_range

これは、実測の目的変数(Y) の値を並べた範囲を指します。
たとえば、成約率や売上などの実際の観測データです。

  • 例:B2:B101 に実際のCVRが入っている場合 → Y_range = B2:B101

📌 Predicted_Y_range

これは、重回帰モデルによって予測されたY(= Yの推定値) の範囲を指します。
つまり、次のような回帰式で計算された値です:

$$\hat{Y}i = \hat{\beta}_0 + \hat{\beta}_1 X{i1} + \hat{\beta}2 X{i2} + \dots + \hat{\beta}n X{in}$$

  • Excelでは、各行でこの式を展開し、列として並べた範囲
  • 例:C2:C101 に予測値が計算されているなら → Predicted_Y_range = C2:C101

また、「R² = 1 – SSR / TSS」は、実測値(Y)と予測値(Ŷ)との相関係数Rの二乗に一致します。


4. p値で各施策の有意性を判断

各係数に対して t検定を行い、次のステップでp値を算出します。

  1. 残差分散の推定:

$$\hat{\sigma}^2 = \frac{SSR}{n – k – 1}$$

  1. 各係数の標準誤差:

$$SE(\hat{\beta}j) = \sqrt{\hat{\sigma}^2 \cdot (X^T X)^{-1}{jj}}$$

  1. t値とp値:

$$t_j = \frac{\hat{\beta}_j}{SE_j}, \quad p_j = 2 \cdot (1 – T.DIST.ABS(|t_j|, df))$$

Excelでは:

=2 * (1 - T.DIST.2T(ABS(t), df))

✅ df(自由度)の定義:重回帰分析の場合

重回帰分析において、自由度 $df$ は次のように定義されます:

$$df = n – k – 1$$

  • $n$:サンプル数(データの行数)
  • $k$:説明変数の個数(定数項 $\beta_0$ は含めずに数える)
  • 「−1」は切片(定数項 $\beta_0$)の分を引いている

✅ 具体例

たとえば:

  • サンプル数(行数) $n = 100$
  • 説明変数(0/1のダミー変数) $X_1, X_2, X_3$ の3つ → $k = 3$

であれば、

$$df = 100 – 3 – 1 = 96$$


5. 95%信頼区間で効果の幅を推定

$$\hat{\beta}j \pm t{(0.975, df)} \cdot SE_j$$

Excelでは:

=T.INV.2T(0.05, df)  → tの境界値

信頼区間を可視化することで、施策のブレ幅を把握できます。


6. 交差項で相乗効果を分析

要素間の組み合わせによる効果(例:X₁とX₂の掛け算)を説明変数に追加することで、相乗効果を確認できます。

交差項 = X1_cell * X2_cell

重回帰分析に交差項を加え、係数とp値を確認すればよい。


7. 多重共線性の検出:VIF(分散拡大係数)

各変数 $X_j$ に対して、他の変数による回帰を行いR²を算出し、以下の式でVIFを求めます。

$$VIF_j = \frac{1}{1 – R_j^2}$$

  • VIF > 10:強い多重共線性の疑いあり
  • Excelでの検出には補助回帰分析が必要

8. 使用関数一覧(Excel/GSS)

機能関数例
行列積MMULT(A, B)
転置TRANSPOSE(A)
逆行列MINVERSE(A)
T値 → p値T.DIST.2T(ABS(t), df)
t値境界(信頼区間)T.INV.2T(0.05, df)
調整R²1 - (1 - R2) * (n - 1) / (n - k - 1)

おわりに

多変量テストと重回帰分析は、複雑なUI/UX施策複数要素の同時最適化に不可欠な技術です。ExcelやGoogleスプレッドシートでも十分に対応可能ですので、仮説検証・意思決定プロセスの精度向上にぜひ活用してください。