logo

統計学における自由度 📂データサイエンス

統計学における自由度

用語

ある統計量を算出する際にその値を変更できる独立的なデータの数を自由度degree of freedomと呼ぶ1

説明

自由度を説明するのが難しい理由

新入生になって統計学を勉強してみると、この「自由度」というものが何なのか、本当に苛立たしい。とりあえず難しい上によく出てくるのは別として、一体どの教科書でもその定義を明確にするものを見られないからだ。このポストも具体的に自由度を定義せず、単に「用語」として紹介しており、その言葉自体も「算出する時」「値を変更できる」など厳密な数学的陳述とは言えない表現を使用している。

問題はそれもそのはずということである。皆が面倒だから仕方なくスルーしているのではなく、本当に自由度という概念自体が勉強して「理解」するというよりも、経験が積まれて「体得」される感じが強い。2〜3年生ぐらいになると、大体自由度が何かが感で来るようになり、大学院に行く頃には普通、それが何かを説明も上手になるが、定義を述べることはやはり難しい。

まず自由度という表現自体が与える「いい感情」そのものが問題である。ファッションにしろ、オープンワールドゲームにしろ、民主主義にしろ、自由度とは高いほど、大きいほど良い量と見なされる。さらには新入生として初めて接する自由度は、しばしば「標本の数がnnだからそこから11を引いた(n1)(n-1)だけの自由度を持つ」というふうに計算される。深い考察がなく聞くと標本の数も少ないより多い方が良さそうなので、統計学での自由度までも何か「良し悪しがある数」であるとの認識を持つことがある。しかし正確に数式としてそれらを扱い探求する文脈では、自由度は単にどんな数でしかない。

また、どんな文脈でも唐突に、しかも頻繁に登場するというのも問題である。分散分析ANOVA回帰分析を学ぶと急にn1n-1np1n-p-1だといった「どう計算されたのかの説明があまりにも不足している」自由度が溢れ出てくる。そうしているうちに数理統計学を学ぶことになると、今度は急にt-分布カイ二乗分布などのパラメータが自由度になる。さらにはF-分布は自由度が二つあるというが、それらの意味が何なのか正確に把握しないでいるもやもやを感じながら、なんとなくわかったような不思議な気分を感じることができる。これが普通2~3年生ぐらいで、これまでになって自由度についてわざわざ質問するのも気まずいし、全くわからないわけでもないので、なんとなく過ごしていくのが通常だ。

実際にその数値が必要であることは理解できるとしても、それらを「自由度」と呼ぶことには一見意味がないように見えることまでありえる。では、なぜ自由度という言葉が必要なのか感じてみよう。

極端な例:自由度という概念がなければ?

ある無駄に思える概念を説明する方法として良いものの一つは、その概念がない時にどんな「反則」が許されるかを説明することだ。数式的に統計量がどうとか説明はさておき、ただ面白い想像を一つしてみよう。次のようなサンプルAAが与えられているとしよう。

A={13,7,17,3} A = \left\{ 13, 7, 17, 3 \right\}

この場合、標本の数はn=4n = 4である。しかし、後輩が自分がサンプルを「発展」させたと言って持ってきたサンプルBBを見よう。

B={13,7,17,3,14,8,18,4} B = \left\{ 13, 7, 17, 3 , 14, 8, 18, 4 \right\}

後輩はこのサンプルの数が88で、AAに比べてなんと2倍も多いと言った。ここで止まらず「自分は望むだけサンプルを増やすことができnn \to \infty水準での反復が可能なので代表本で使用できるすべての統計技法を適用できるだろう」と主張する。しかし一目で見てもこのサンプルは精巧に偽造されたもので、その方法は単に既存のデータ11を足して標本の数だけ増やしたにすぎない。

この時、私たちは気づかないうちに後輩が数字で欺こうとするBBに騙されずにその本質であるAAに集中するということに気づかなければならない。後輩の生成したデータはAAの模造品

B=B(A)=A(A+1) B = B(A) = A \cup (A+1)

に過ぎないことを知っている。標本のボリュームは単にその数字ではなく、実質的に我々が制御できない、自然な――言い換えれば「自由な」標本の数で数えるのが妥当であり、そうして「反則」が通じない数を自由度と呼ぶのである。

よく見る例: s2s^{2}

さて、自由度を説明する文献を見ると必ず例として挙げられる標本分散s2s^{2}を考えてみよう。標本分散は標本平均x\overline{x}が与えられたとき、次のように計算される。

s2=1n1k=1n(xkx)2 s^{2} = {{ 1 } \over { n-1 }} \sum_{k=1}^{n} \left( x_{k} - \overline{x} \right)^{2}

ここで重要なのはすでに定数x=kxk/n\overline{x} = \sum_{k} x_{k} / nが与えられているということだ。どのxk0x_{k_{0}}を選んでもそのxk0x_{k_{0}}は他のデータに依存する関数の形

xk0=xk0({xk:kk0})=nxkk0xk x_{k_{0}} = x_{k_{0}} \left( \left\{ x_{k} : k \ne k_{0} \right\} \right) = n \overline{x} - \sum_{k \ne k_{0}} x_{k}

で逆算することができる。これは上記の節で後輩のデータがB=B(A)B = B(A)の形になっているのと似ている。この時、本当の意味でs2s^{2}を計算するのに必要な標本の数はnn個ではなく(n1)(n-1)個であり、xk0x_{k_{0}}が固定されているならば(n1)(n-1)個の標本{xk:kk0}\left\{ x_{k} : k \ne k_{0} \right\}x\overline{x}の値が維持される制約条件下で算出されるs2s^{2}の値をいくらでも変えることができるので、(n1)(n-1)s2s^{2}自由度と呼ぶのである。

関連リンク