データが3個(自由度2)のχ二乗分布の作成

いつの間にやら師走になっていた。

 
ここ3日ほどジオオジェブラをやって、さっき念願のアプレットを作ることができた。
これがうれしくて、さっきからドーパミンに浸っている。
 
11月になって統計のサイトを作るためにジオオジェブラのアプレットを作っていた。
途中、積分級数を始めてしまい、中断したが、
これでほぼ統計のアプレットづくりは終えることができた。
 
作る前は無理だろうと思っていたので、意外性もある。
もう一つ、昔行列を学んだが、利用しようとは思わなかった。
ところが、今回どうしても使わなくてはならなくなり、初めて行列を利用して問題を解くことができた。
これが大きく働いている。
 
すぐに忘れてしまうだろうから、一応振り返っておく。
最初、乱数を使ってシュミレーションをするということを課題にした。
これは簡単だった。
 
次にχ二乗分布に取り掛かった。
この時、乱数の数によって自由度が決まる。
ところが、その乱数の平均をとってχ二乗を求めるという単純な計算がどうしてもできない。
乱数が2個の場合は、計算結果を入れてやればできた。
次は3個の場合だ。
これは計算によってはできない。
そのまま乱数データを出して、そのデータによって平均を出し、差を求めて、それを二乗して和を求めるというとても単純な計算をそのままするしかない。
でも、一つだけならできるけれど、それを50以上のデータにしようとすると、
どうしても行列になってしまう。
 
そこで、忘れていた行列の学習から始めた。
ところがジオジェブラには行列のコマンドが3つしかない。
その一つ転置行列を使って対角行列に二乗の和が並ぶところまではこぎつけた。
それをどうやって取り出すかが分からない。
そこで思い当たったのが、リスト処理。
そもそも行列はリストだったからリスト処理のコマンドが使える。
そう気が付いたのは今朝。
要素を取り出すコマンドを使って作ることができた。
 
原理的には1000データでもできるはずなのだが、
100以上になるとコンピュータの方が処理できない。
が、最初の目標である、自由度が一つ下がった2のχ二乗分布になることが分かる。
 
先の見通しがあったわけではないのに、できたことがとてもうれしい。
ドーパミンにどっぷりと浸っている。
 
  1. 乱数が3個のχ二乗分布