1何のための手法か

「近い場所どうしは、似た感情を呼ぶか」を、2つの距離行列の対応として問う。

対象が \(n\) 個あり、それぞれの組について2種類の「隔たり」が測れているとする。一方を \(D^{(1)}\)、もう一方を \(D^{(2)}\) と書く。いずれも \(n \times n\) の対称行列で、対角は 0 である。問いは、片方で近い組は、もう片方でも近いかという一点にある。

素朴には、上三角の成分を取り出して2本のベクトルにし、相関を取ればよさそうに見える。実際、統計量としてはそれで正しい。問題は検定のほうにある。\(n\) 個の対象から作られる組は \(n(n-1)/2\) 個あるが、これらは独立な観測ではない。同じ対象 \(i\) が \(n-1\) 個の組に繰り返し現れるからである。独立標本を前提とした相関の検定(\(t\) 分布による検定)をそのまま当てると、有効な自由度を過大に見積もり、第一種の誤りが名目水準を大きく超える。

Mantel 検定は、この依存構造を壊さずに帰無分布を作るための手続きである。原型は疾病の時空間クラスターの検出のために提案された(Mantel 1967)。

2統計量の定義

上三角の成分どうしの Pearson 相関。それ以上のものではない。

Mantel 統計量
\[ r_M \;=\; \frac{\displaystyle\sum_{i<j}\bigl(d^{(1)}_{ij}-\bar{d}^{(1)}\bigr)\bigl(d^{(2)}_{ij}-\bar{d}^{(2)}\bigr)}{\sqrt{\displaystyle\sum_{i<j}\bigl(d^{(1)}_{ij}-\bar{d}^{(1)}\bigr)^{2}}\;\sqrt{\displaystyle\sum_{i<j}\bigl(d^{(2)}_{ij}-\bar{d}^{(2)}\bigr)^{2}}} \]

\(i<j\) … 上三角のみ。対称なので下三角は同じ情報の重複、対角は定数 0
\(\bar{d}^{(k)}\) … 上三角成分の平均
\(r_M\) … 値域は \([-1,\,1]\)。単位に依存しない

統計量そのものには新しさがない

上の式は、2本のベクトルの Pearson 相関の定義そのものである。Mantel 検定の中身は統計量ではなく、この \(r_M\) をどの分布と比べるかにある。実装上も、上三角を np.triu_indices_from(D, k=1) で抜き出して pearsonr に渡すだけでよい。

3なぜ並べ替えるのか

成分を並べ替えてはいけない。並べ替えるのは対象のラベルのほうである。

帰無仮説は「2つの距離行列のあいだに対応がない」である。これを、対象につけられたラベルが入れ替わっても構わないという形で表現する。置換 \(\pi\) をひとつ選び、片方の行列に対して行と列の両方に同じ \(\pi\) を適用する。

行と列に同じ置換を当てる
\[ \bigl(D^{(2)\pi}\bigr)_{ij} \;=\; d^{(2)}_{\pi(i)\,\pi(j)} \qquad \pi \in \mathfrak{S}_n \]

置換は \(n!\) 通りあるが、全部は数えられないので \(B\) 個を無作為に選んで近似する。各回について \(r_M^{(b)} = r_M\bigl(D^{(1)},\,D^{(2)\pi_b}\bigr)\) を計算し、その分布を帰無分布とする。

ここが手法の核心である

行だけ、あるいは上三角の成分だけを並べ替えたのでは意味がない。成分を個別に並べ替えると、距離行列としての構造(同じ対象が複数の組に現れること、三角不等式に由来する制約)が壊れ、独立標本を仮定したのと変わらなくなる。行と列に同じ置換を当てるという操作は、「どの対象がどの対象か」という対応づけだけを壊し、行列の内部構造は保つ。だからこそ、この帰無分布は依存構造を織り込んだものになる。

片側か両側か

「近いものは似る」だけを問うなら片側でよい。小野原の実装は \(|r_M^{(b)}| \ge |r_M^{\mathrm{obs}}|\) を数える両側である。負の対応(遠いほど似る)も検出の対象に含めるという選択であり、同じデータでも片側にすれば p 値はおおむね半分になる。報告の際はどちらを使ったかを明示する必要がある。

4p値と、その下限

並べ替え回数を決めた時点で、到達できる最小の p 値も決まる。

観測値を帰無分布に1つ加えて数える
\[ \hat{p} \;=\; \frac{1+\#\bigl\{\,b \;:\; \bigl|r_M^{(b)}\bigr| \ge \bigl|r_M^{\mathrm{obs}}\bigr|\,\bigr\}}{1+B} \]

分子・分母の \(+1\) … 観測値そのものを帰無分布の1標本として数える。これを入れないと p 値が 0 になりうる
\(B\) … 並べ替え回数

下限は \(1/(B+1)\) である

分子は最小でも 1 なので、\(\hat{p}\) は \(1/(B+1)\) より小さくなれない。\(B=1999\) なら 0.0005、\(B=9999\) なら 0.0001 が下限である。下限に張り付いた p 値は点推定として読んではいけない。それは「並べ替えのなかに観測値を超えるものが1つもなかった」以上のことを意味せず、真の p が 0.0004 なのか \(10^{-8}\) なのかを区別しない。小さい p を主張したい場合は \(B\) を増やす以外に方法がない。

実装上の既定値と実際の値

小野原の mantel_test は既定を \(B=9999\) としているが、報告された実行はいずれも perms=1999 で呼ばれている。乱数の種は seed=42 で固定されており、同じ入力なら同じ p 値が再現する。下の結果表の 0.0005 は、この \(B=1999\) における下限そのものである。

5部分Mantel検定と、その限界

第3の行列の影響を除く。ただし、この拡張には正当性への疑義がある。

3つ目の距離行列 \(D^{(3)}\) があるとき、その効果を取り除いた対応を測りたくなる。発想は偏相関と同じで、上三角ベクトル \(v_1, v_2, v_3\) について次を計算する。

偏相関を統計量にする
\[ r_{12\cdot 3} \;=\; \frac{r_{12} - r_{13}\,r_{23}}{\sqrt{\bigl(1-r_{13}^{2}\bigr)\bigl(1-r_{23}^{2}\bigr)}} \]

帰無分布は、\(D^{(1)}\) と \(D^{(3)}\) を固定したまま \(D^{(2)}\) だけを行・列同時に並べ替えて作る。p 値の数え方は単純 Mantel と同じ。

この拡張は、名目水準を守らないことが報告されている

部分 Mantel 検定は、とくに行列に空間的自己相関があるときに第一種の誤りが名目水準を超える。Raufaste & Rousset (2001) は p 値が第一種の誤りを表さない例を示し、Guillot & Rousset (2013) は単純 Mantel と部分 Mantel の双方について誤り率の増大を示したうえで、部分 Mantel が空間的自己相関の効果を補正できていないと論じている。系統比較の文脈でも同様の指摘がある(Harmon & Glor 2010)。

したがって、部分 Mantel の結果は交絡を統制した証拠としては読めない。上の偏相関の式が想定している「\(v_3\) を線形に引き算すれば影響が消える」という前提は、距離行列の成分が空間的に相関している状況では満たされない。小野原の分析でもこの検定を併用しているが、位置づけは補助的な確認にとどまる。

6この研究での使い方

感情・空間・テキストの3つの距離行列を作り、対応を比べる。

  1. 感情データの集計 ニッチ構築と環境選択に関する調査の回答(4,424行)を、場所 ID × 24 感情カテゴリの件数表に集計する。カテゴリは8基本感情それぞれに3段階の強度を与えたもの。
  2. 正規化 複数回答のため場所ごとに総件数が異なる。各行の合計が 1 になるよう割合化して、件数の多寡が距離に混入しないようにする。
  3. 感情距離 割合化した 50 × 24 の行列からコサイン距離を取り、\(D_{\text{emotion}}\)(50 × 50)を作る。
  4. 空間距離 サブカテゴリの隣接関係をグラフとして定義し、その最短路距離を \(D_{\text{space}}\) とする。緯度経度から計算した地理距離ではなく、設計された近接構造である。
  5. テキスト距離 各場所の記述文を日本語 BERT(cl-tohoku/bert-base-japanese-v2、最大長 128)に通し、CLS ベクトルを L2 正規化したうえでコサイン距離を取って \(D_{\text{text}}\) とする。
  6. 検定 3つの組み合わせについて単純 Mantel を、さらに第3の行列を条件づけた部分 Mantel を実行する。
比較\(r\)\(p\)読み方
感情 × 空間0.35950.0005p は下限に到達(\(B=1999\))
感情 × テキスト0.06000.4775対応を認めない
テキスト × 空間0.16850.08005%水準では有意でない
感情 × 空間 | テキスト0.35510.0005部分Mantel。限界は前節のとおり
感情 × テキスト | 空間−0.00070.9940部分Mantel

数値はリポジトリのノートブックに保存された実行結果をそのまま引用したもの。いずれも \(B=1999\)、seed=42、両側。

距離行列の作り方が、結果そのものを決めている

ここで注意すべきは、\(D_{\text{space}}\) が測定値ではなく設計物である点である。サブカテゴリの隣接をどう引くかで距離が変わり、感情との対応も変わる。地理座標に基づく距離を使えば別の値が出る。Mantel 検定が答えているのは「この定義の近さと、この定義の感情の似かたが対応するか」であって、それ以上ではない。

テキストは感情を引き出した刺激そのものである

回答者は場所の記述文を読んで感情を選んでいる。つまり \(D_{\text{text}}\) と \(D_{\text{emotion}}\) は独立な2つの測定ではなく、後者は前者を刺激として生成されている。テキストを条件づけた部分 Mantel を併用しているのは、この構造を踏まえた確認だと位置づけられる。

実装が黙って誤った値を返した例

段階ごとに10地点へ分割して検定した最初の試行で、一部の段階の \(p\) が下限 0.0005 と表示された。実際には \(D_{\text{space}}\) の部分行列がすべて同じ値になっており、Pearson 相関の分母が 0 で \(r\) は定義できていなかった。pearsonr は ConstantInputWarning を出して NaN を返していたが、mantel_test がそれを検出せず、比較 abs(r) >= abs(r_obs) が常に偽となった結果、計数が 0 のまま下限の p 値が出力されていた。

小野原はこれを検出し、サブカテゴリの隣接グラフから最短路距離を作り直して部分行列が定数にならないようにしたうえで、段階ごとの検定をやり直している。下限に張り付いた p 値は、強い証拠のしるしであると同時に、計算が壊れているしるしでもある。並べ替え検定では、統計量が定義できているかを先に確かめる必要がある。

7出典とデータ

分析スクリプトとデータは公開されている。ノートブックは前処理から検定・可視化までを一続きに実行する構成で、pivot_table_id.csv(場所 ID × 感情件数)と place_subcategory_neighbors.csv(サブカテゴリの隣接定義)を入力に取る。

手法の文献

  • Mantel, N. (1967) The detection of disease clustering and a generalized regression approach. Cancer Research, 27(2), 209–220.
  • Raufaste, N. & Rousset, F. (2001) Are partial Mantel tests adequate? Evolution, 55(8), 1703–1705. doi:10.1111/j.0014-3820.2001.tb00689.x
  • Harmon, L. J. & Glor, R. E. (2010) Poor statistical performance of the Mantel test in phylogenetic comparative analyses. Evolution.
  • Guillot, G. & Rousset, F. (2013) Dismantling the Mantel tests. Methods in Ecology and Evolution. doi:10.1111/2041-210x.12018

この手法がどの観点に属するか

Mantel 検定は、パラメータを固定した値と見て、標本のほうを作り替えたときの統計量のばらつきで判断する。分布の形は仮定せず、帰無分布を並べ替えで直接作る点が特徴で、正規分布や \(t\) 分布を持ち出さない。評価しているのは「手続きを繰り返したときの当たり率」であり、7つの観点を式で読むの観点2(頻度論)にそのまま重なる。

このページは、小野原が実際の研究で使っている手法を、同じ分野の読み手に向けて整理したものです。数値はすべて公開リポジトリの実行結果から引用し、推定値や概算は記載していません。
手法の位置づけの全体像は 7つの観点を式で読む、どの授業回がどの観点に当たるかは 手法と数学の地図 にあります。