前回は相関係数の計算方法を紹介しました。今回は,相関係数の計算手順をJava言語のプログラムとして書き表すことに挑戦してみましょう。
問題 CSVファイルのデータを読み込み,相関係数を計算するプログラムを作りましょう。
第61回の問題で作成したコードに,相関係数を計算するコードを加えましょう。それだけでは退屈ですから,コマンドライン引数でデータファイルを指定し,指定されたファイルを読み込んで処理するプログラムに変更してください。なに,ほんのちょっとした変更だけで済みます。”Java コマンドライン 引数”としてGoogleで検索すれば,たくさんのサンプルが表示されるでしょう。それらから盗み取って作成してください。
解説
問題 CSVファイルのデータを読み込み,相関係数を計算するプログラムを作りましょう。
計算に用いたデータファイルdata001.csvも前回と同じものを用いましょう。
データファイル data001.csv
- 100,120
- 200,195
- 278,280
それだけでは面白くありませんから,負の相関を示しそうな次のデータでも試してください。
データファイル data002.csv
- 20,240
- 150,225
- 278,120
コンパイル時には,-Xlint:uncheckedというオプションを忘れずに付けてください。忘れないように,次のようなバッチファイルを作成していちいち入力する手間を省くと良いでしょう。
バッチファイルcomp.bat
del *.class
javac Sample_Correlation.java -Xlint:unchecked
java Sample_Correlation ./data001.csv
今回の課題のために追加されたメソッドは次の通りです。
getCorrelationCoefficient
getAverage
getVariance
主要な追加コードはこれだけなのですが,クラス名の変更等で広い範囲に変更部分が散らばっているため,コード全体を次ページに示します。

