はじめMath! Javaでコンピュータ数学

第63回 統計の数学 相関係数とは[後編]

この記事を読むのに必要な時間:およそ 5.5 分

前回は相関係数の計算方法を紹介しました。今回は,相関係数の計算手順を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

主要な追加コードはこれだけなのですが,クラス名の変更等で広い範囲に変更部分が散らばっているため,コード全体を次ページに示します。

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。

コメント

コメントの記入