統計の食わず嫌いを直そう(その11)、5分で残存バグ数を予測する方法山浦恒央の“くみこみ”な話(83)(2/4 ページ)

» 2016年03月24日 07時00分 公開

3.回帰分析とは

 回帰分析とは、2つのデータの関係を「y = ax + b」という方程式に置き換えることです。こう説明すると、難しそうですが、基本的な考え方は、中学校で習った1次方程式(y = ax + b)と変わりません。例えば図.1のグラフです。

図.1 回帰分析と1次方程式

 図.1は、散布図を用いたグラフです(*1)。散布図は、データ可視化手法の1つで、xとyの関係を把握できます。青点は「xとyの実際の関係」、赤線は「黒線との距離」、黒線は「赤線の長さの合計が最小になるように引いた線」です。

 中学生時代、皆さんは先生が読み上げたいろいろな(x, y)の値から青色の点をプロットし、点に最も近い線を引くような宿題があったはずです。図.1で、青点から黒線に引いた赤線の長さの合計が最小になる黒線が、回帰分析で導出する方程式です。つまり、黒線が回帰分析の出力結果となります(*2)。

 最小になる線の求め方は習わなかったでしょうが、やっていることは中学校の数学と同じです。この説明で理解できなかったとしても気にすることはありません。実際の作業は全てExcelのツールまかせです。

(*1)説明のため、意識的に原点を表示していません。
(*2)具体的な算出方法は割愛します。

 図.1から離れ、求めた方程式を考えます。例えば、xをソースコード行数、yを残存バグ数として回帰分析で求めた方程式が、「y = 0.1x + 3」としましょう。テスト開始前の対象の行数が3000行だとすると、残存バグ数= 0.1*3000 + 3となり、残存バグ数が303個あることが分かります。

4.予測モデルの構築

 では、実際に予測モデルを作りましょう。

Copyright © ITmedia, Inc. All Rights Reserved.