## tl;dr > 「ベースラインが悪い人ほど改善が大きかった」という結果は、治療の効果が全員一律でも出ます。測定にばらつきがあるだけで出ます。 > > 判定には、2 回目を 1 回目に回帰した係数を使います。効果が全員一律なら差はそっくり引き継がれるはずなので、係数は 1.00 になると思いがちです。 > > **そうはなりません。**何も起きていなくても、係数は ICC まで下がります。ICC 0.85 の検査なら 8.5 掛けです。1 回目の差には**運による水増し**が入っていて、運は次回に繰り返されないからです。 > > ICC より明確に小さければ本物の収束があります。ICC 前後なら証拠なし。ICC を超えたら測定のスケールを疑います。 > > つまり **比べる相手は 1.00 ではなく ICC**。これがこのノートで理解していただきたいことになります。 この現象には平均への回帰(regression to the mean)、測定誤差のせいで係数が小さく出ることには回帰希釈(regression dilution)という名前がついています。以下は、なぜそうなるのかの説明です。5 分ほどで読めます。 前提として「ICC とは何か」と「何も起きていなければ係数は ICC になる」を使います。ぴんと来なければ [[ICC を直感的に理解する]] を先に読んでください。 ## 何が起きているか ### 効果は全員一律なのに、こう出る 模試を 2 回受けさせる例で考えます。 | 要素 | 設定 | |---|---| | 真の実力 | 平均 60 点、SD 10 点 | | 1 回のテストのたまたま(体調・ヤマ勘) | SD 5 点 | | 夏期講習の効果 | **全員一律に +10 点。実力による差はゼロ** | この設定で 5000 人分のデータを作り、1 回目の点数帯ごとに伸びを見ます。 | 1 回目の点数帯 | 平均の伸び | |---|---| | 45 点未満 | +14.35 点 | | 55-65 点 | +10.14 点 | | 75 点以上 | +5.51 点 | 下位帯は上位帯の 2 倍以上伸びました。**効果は全員 +10 点に設定してあるので、この差は全部偽物です。** ### なぜそうなるか 「1 回目に 40 点だった生徒たち」の中身を考えると分かります。 ``` 1回目に 40 点だった生徒たち ├─ 本当に実力 40 点の人 → 2回目も 40 点前後 └─ 実力 50 点だが当日失敗した人 → 2回目は 50 点前後に戻る ↓ 集団の平均は勝手に上へ動く ``` 上位帯では逆向きの偏りが起きます。「たまたま高く出た人」が混ざっているので、2 回目にはその運のぶんが失われ、集団の平均は下へ引き戻されます。**1 回目の点数で人を選んだ瞬間に、選び方そのものが運を拾ってしまう**のが原因です。 だから、対照群のない前後比較も壊れます。上の下位 20% を集めて前後比較すると 13.3 点上がりますが、真の効果は 10 点です。効果がゼロでも 3.3 点上がって見えます。 ## 判定のしかた ### 1.00 になるはずが、ならない 1 回目に 10 点差がついた 2 人を考えます。講習の効果が全員一律なら、この 2 人の差は変わらないので、2 回目も 10 点差のはずです。10 点差が 10 点差のまま、つまり係数 1.00 です。 ところが実際に計算すると **0.80** になります。この 0.20 のずれがどこから来るのかが、この節の話です。 先に ICC を用意します。ICC は「観測された点数のばらつきのうち、何割が本物の実力差か」を表します。 $ \mathrm{ICC} = \frac{\text{実力のばらつき}}{\text{実力のばらつき} + \text{運のばらつき}} = \frac{10^2}{10^2 + 5^2} = 0.80 $ 模試の点数の 8 割が実力、2 割が運、ということです。 ### ICC は名前どおり「相関」 ICC は intraclass correlation coefficient(級内相関係数)の略で、**class(クラス)の中の相関**という意味です。ここでいうクラスは学級ではなく、**同じ人から取った測定値のまとまり**を指します。 つまり ICC は、こう読めます。 > 同じ生徒に、同じ日にもう一度模試を受けさせたら、2 つの点数はどれくらい似ているか 実際に計算すると、そのとおりになります。 | 計算のしかた | 値 | |---|---| | 同じ生徒の 2 回の点数の相関 | 0.8003 | | 実力の分散 ÷ 点数の分散 | 0.8002 | 同じ数字です(正確には、ICC は 2 回を入れ替え可能として扱う相関なので、一方だけ系統的にずれると Pearson 相関とは食い違います)。「ばらつきの何割が実力か」と「測り直したときどれくらい似ているか」は、同じことを言っています。実力の割合が高いほど、測り直しても同じ点数が出るからです。 そして**ここが判定の核心につながります。**講習の効果が全員一律なら、1 回目と 2 回目は「同じ生徒を 2 回測った値」に +10 点しただけです。一律に足す操作は相関を変えないので、この 2 つの相関もやはり ICC になります。 さらに 1 回目と 2 回目のばらつき(SD)は同じなので、**相関がそのまま回帰係数になります**。だから係数は 1.00 ではなく ICC になるのです。 | | 値 | |---|---| | cor(1 回目, 2 回目) | 0.800 | | 回帰係数 | 0.799 | | SD(1 回目 / 2 回目) | 11.18 / 11.17 | ここで 2 つの回帰係数を区別します。 | 記号 | 意味 | |---|---| | $\beta_{\text{真}}$ | 真の値に 1 点差がある 2 人は、2 回目の真の値に何点差がつくか | | $\beta_{\text{観測}}$ | 1 回目の測定値に 1 点差がある 2 人は、2 回目の測定値に何点差がつくか | この 2 つは ICC 倍だけずれます。 $ \beta_{\text{観測}} = \beta_{\text{真}} \times \mathrm{ICC} $ 効果が全員一律なら $\beta_{\text{真}} = 1$ なので、観測されるのは ICC そのものです。**測定誤差があるだけで 1.00 が 0.80 になります。**これを回帰希釈(regression dilution)と呼びます。 ### 「係数が 1.00 から 0.80 になる」とは 係数は **1 回目についた点差が、2 回目に何掛けで引き継がれるか** を表します。数字が小さいほど、差が引き継がれません。 | 係数 | 1 回目の点差 | 2 回目の点差 | 意味 | |---|---|---|---| | 1.00 | 10 点 | 10 点 | 差がそっくり残る | | 0.80 | 10 点 | 8 点 | 差の 8 割が残る | | 0.50 | 10 点 | 5 点 | 差が半分になる | | 0.00 | 10 点 | 0 点 | 差が完全に消える(2 回目は 1 回目と無関係) | つまり「係数が小さくなる」は「**1 回目についた差が、2 回目には残りにくくなる**」という意味です。1.00 から 0.80 に落ちたということは、10 点差が 8 点差にしかならなかった、ということです。 理由は 1 行で言えます。1 回目に 10 点差がついた 2 人でも、**実力の差は 8 点しかありません**(残り 2 点は運の差)。だから 2 回目に引き継がれるのも 8 点で、10 点差が 8 点差、つまり 8 掛けになります。 ![[rtm_fig1_点差の引き継ぎ.svg]] ### なぜ大きくならずに小さくなるのか 1 回目に観測された 10 点差の中身は、こうなっています。 ``` 1回目に観測された 10 点差 ├─ 実力の差 8 点 → 次回も残る └─ その日の運の差 2 点 → 次回は消える(別の運が来る) ↓ 2 回目に残るのは 8 点 ``` **運は繰り返しません。**1 回目にたまたま上振れした人が、2 回目も同じだけ上振れする理由はどこにもありません。1 回目の点差のうち運が作った分は、次回には必ず失われます。だから差は削られる一方で、増える理由がありません。 「2 回目にも新しい運が乗るから、差が広がることもあるのでは」と思うかもしれません。しかし新しい運は 1 回目の点数とは無関係に降ってきます。1 回目が高かった人を狙って高くすることはないので、**点が上下にばらけるだけで、全体の傾向は動きません。** | 誤差がどこに入るか | 何が起きるか | |---|---| | 1 回目(横軸) | 点差が運のぶん水増しされている。その分が 2 回目に消えるので、係数が小さくなる | | 2 回目(縦軸) | 1 回目と無関係に上下へばらけるだけ。係数は変わらない | この非対称が答えです。**係数を小さくするのは 1 回目の誤差だけで、2 回目の誤差は係数に効きません。**だから小さくなる方向にしか動きません。 ### 下振れした人もいるのに、なぜ打ち消し合わないのか 当然の疑問です。1 回目に 40 点だった集団には、実力 50 点で失敗した人(下振れ)だけでなく、実力 30 点で当たった人(上振れ)もいます。前者は次回上がり、後者は次回下がるので、打ち消し合いそうに見えます。 打ち消し合いません。**両者の人数が違うからです。** ![[rtm_fig2_人数の偏り.svg]] 実力の分布は平均 60 点のまわりに固まっています。200 万人で数えると、こうなります。 | 真の実力 | 人数 | |---|---| | 30 点前後 | 884 | | 40 点前後 | 10,844 | | 50 点前後 | 48,239 | | 60 点前後 | 79,732 | | 70 点前後 | 48,663 | | 80 点前後 | 10,915 | | 90 点前後 | 914 | 実力 50 点の人は実力 30 点の人の **55 倍**います。だから「1 回目に 40 点」の集団を作ると、50 点から落ちてきた人が圧倒的に多く、30 点から上がってきた人はごくわずかです。 実際に数えるとこうなります。 | 1 回目の点数 | 実力の平均 | 下振れした人 | 上振れした人 | |---|---|---|---| | 40 点 | 44.0 点 | 81% | 19% | | 60 点 | 60.0 点 | 50% | 50% | | 80 点 | 75.9 点 | 18% | 82% | 40 点だった集団の 8 割は「本当はもっと取れる生徒」で、実力の平均は 44 点です。だから次回は平均して上がります。 **そして平均ちょうどの 60 点では、きれいに 50% 対 50% になります。**ここでは打ち消し合うので、動きません。中央から離れるほど人数の偏りが大きくなり、引き戻しが強くなります。 これが「下位ほど伸びて上位ほど伸びない」に見える正体です。効果が下位に効いているのではなく、**中央から遠いところほど人数の偏りが効いている**だけです。 なお平均への回帰と回帰希釈は別々の現象ではなく、**同じことを集団の平均で見るか、回帰係数で見るかの違い**です。 ### 平均へ寄るのはズレであって、点数ではない ここが最も誤読されるところです。係数 0.80 を「下位の人は上がり、上位の人は下がる」と読むと、後半が外れます。 模試のデータの回帰直線(切片 22.92、係数 0.787)に値を入れます。 | 1 回目 | 予測される 2 回目 | 伸び | |---|---|---| | 40 点 | 54.4 点 | +14.4 | | 60 点 | 70.1 点 | +10.1 | | 80 点 | 85.9 点 | +5.9 | | 100 点 | 101.6 点 | +1.6 | **全員が上がっています。**予測が下向きに転じるのは 107 点を超えてからで、実データの最高点はそこに届きません。上位帯(75 点以上)468 人のうち、実際に点が下がったのは 89 人(19%)だけです。 平均へ寄っているのはズレのほうです。 | 1 回目 | 平均からのズレ | 2 回目のズレ | |---|---|---| | 40 点 | −20.2 点 | −15.9 点 | | 60 点 | −0.2 点 | −0.1 点 | | 80 点 | +19.8 点 | +15.6 点 | どれも 0.787 倍に縮んでいます。80 点だった人は平均より 19.8 点上だったのが 15.6 点上になるのですが、平均そのものが講習の効果で 60.2 点から 70.3 点へ動くので、絶対値では上がります。 つまり**係数は差の情報を持ち、切片は水準の情報を持ちます**。「上位の人が下がるか」は両方を見ないと決まりません。係数だけから確実に言えるのは、次の 1 点にとどまります。 > 係数が 1 を下回れば、低い人ほど伸びが大きく出る 伸びをベースラインに回帰した係数は恒等的に「係数 − 1」(ここでは −0.213)になるので、これは必ず成り立ちます。 ### 「平均へ引き戻す力」ではない 平均への回帰を物理的な力のように思うと行き詰まります。2 つの事実がそれを否定します。 **分布全体は縮みません。**全員が平均へ吸い寄せられるのなら、測るたびに散らばりが小さくなり、いずれ全員 60 点になるはずです。実際には何回繰り返しても SD は 11 点前後のままです。毎回あたらしい運が乗るからで、縮むのは「1 回目に 80 点だった人たち」という条件つきの平均だけです。 **時間を逆にしても同じ係数が出ます。**2 回目を 1 回目に回帰すると 0.787、1 回目を 2 回目に回帰しても 0.794 です。「2 回目に高かった人は、1 回目には平均寄りだった」も同じ強さで成り立ちます。過去に向かっても回帰するのですから、人を引き戻す力ではありません。**ノイズを含む変数で人を選んだこと自体の帰結**です。 ここを取り違えると、「治療によって差が縮まった」という因果の話に滑ります。 ### 自分の数字をどう読むか 臨床の例に移します。心エコーで測る GLS(global longitudinal strain、左室の収縮能を表す指標)を、大動脈弁狭窄症の治療前と治療 1 年後に測ったとします。GLS の再現性は文献で ICC 0.85 前後と報告されています。 この設定で、実測の回帰係数が 0.42 だった場合です。 ![[rtm_fig3_判定の目盛り.svg]] | 実測 | 読み方 | |---|---| | 1.00 以上 | まず 2 回の測定のスケールが揃っているかを疑う。装置や算出ソフトの変更、誤差の相関。それらを否定できれば、本物の発散(悪い人ほどさらに悪化する)を考える | | 0.85 前後 | 測定誤差だけで説明できる。収束の証拠なし | | 0.70 | ICC を少し下回るだけ。断定を避ける | | **0.42** | **ICC を大きく下回る。本物の収束がある** | 真の大きさは割り戻して見積もります。 $ \beta_{\text{真}} = \frac{0.42}{0.85} = 0.49 $ 「ベースラインが 1% 悪い患者は、1 年後も 0.49% 悪いにとどまる」、つまり差が半分に縮んだ、という意味です。 査読者に「ICC がもっと悪ければ全部誤差だ」と言われたら、逆算して返します。**この反論が成立するには ICC が 0.42 以下でなければなりません。**GLS でそれはありえない水準です。ただしこの論法は「GLS の ICC は 0.85 くらい」という前提の上にあるので、文献を 1 本引いておきます。 ## 落とし穴 **変化量をベースラインに回帰しない。** 「改善量 ~ ベースライン」は $\beta_{\text{真}} \times \mathrm{ICC} - 1$ になるので、効果が一律でも ICC = 0.85 なら −0.15 が出ます。n が大きければ必ず有意になります。しかも両辺に同じ測定値が入る数学的な連動もあり、二重に汚染されています。 **2 回の測定は同じものさしで。** 中間試験と期末試験のように問題の作りが違うと、実力も誤差も効果も同じなのに係数が 0.80 から 1.20 まで動きます。ICC と比べる意味がなくなります。 **各時点で標準化しない。** 偏差値化や Z スコア化はスケールの違いを消しますが、**探している収束も一緒に消します**。本物の収束とは「2 回目にばらつきが縮むこと」そのもので、標準化はそれを元の幅へ引き伸ばす操作だからです。 **ICC は集団に依存する。** 対象が重症例に限定されて分布が狭いと、実効 ICC は文献値より低くなります。可能なら自施設の再測定データから出します。 ## もっと詳しく - [[平均への回帰と回帰希釈をシミュレーションで理解する]] — R と Stata のコードで、この記事の主張をすべて確かめる。導出、感度分析、n が小さいときの挙動もこちら - [[R - ICC を計算してみよう(評価者間一致研究)]] - [[生物統計における仮定とは]] - Hutcheon JA, Chiolero A, Hanley JA. Random measurement error and regression dilution bias. BMJ. 2010;340:c2289. - Bland JM, Altman DG. Regression towards the mean. BMJ. 1994;308:1499.