前回は相関係数の計算方法を紹介しました。今回は、相関係数の計算手順をJava言語のプログラムとして書き表すことに挑戦してみましょう。
問題 CSVファイルのデータを読み込み、相関係数を計算するプログラムを作りましょう。
第61回の問題で作成したコードに、相関係数を計算するコードを加えましょう。それだけでは退屈ですから、コマンドライン引数でデータファイルを指定し、指定されたファイルを読み込んで処理するプログラムに変更してください。なに、ほんのちょっとした変更だけで済みます。”Java コマンドライン 引数”としてGoogleで検索すれば、たくさんのサンプルが表示されるでしょう。それらから盗み取って作成してください。
解説
問題 CSVファイルのデータを読み込み、相関係数を計算するプログラムを作りましょう。
計算に用いたデータファイルdata001.csvも前回と同じものを用いましょう。
それだけでは面白くありませんから、負の相関を示しそうな次のデータでも試してください。
コンパイル時には、-Xlint:uncheckedというオプションを忘れずに付けてください。忘れないように、次のようなバッチファイルを作成していちいち入力する手間を省くと良いでしょう。
今回の課題のために追加されたメソッドは次の通りです。
主要な追加コードはこれだけなのですが、クラス名の変更等で広い範囲に変更部分が散らばっているため、コード全体を次ページに示します。
data001.csvを引数に渡した時の、プログラムの実行結果は次の通りです。
前回確認した数値と比較すると、結構いい線を行っています。プログラムはちゃんと出来ているようです。良かった、良かった。では、負の相関を取るであろうdata002.csvについても処理してみましょう。定数aと相関係数rは負の値になったでしょうか?
コンピュータだけに頼らず、自分の頭脳でも確認している、という感覚を体験すると、とても自信がつくのが不思議です。ぜひともご自分の手と頭を使って取り組み、この自信ゲットしてください。
今回はここまで
今回は、相関係数の計算をJava言語で実装するところまで取り組みました。次回は相関係数がどのように組み立てられた値なのか、数学的に詳しく解説します。