モデル構築よりも類似プロジェクト検索
事例紹介:データ欠損に対するロバスト性
ロバスト性を調べるためには、データ欠損率の異なるデータセットを用意する必要がある。ここでは、まず、データ欠損のないデータセットを用意し、そこから必要な率だけ人為的にデータを欠損させることとした。データ欠損のないデータセットとしては、図1-2の作成のために用意した140プロジェクトの9個の説明変数(プロジェクト特性)を用いた。
次に、人為的なデータ欠損であるが、これは簡単なようで難しい。実際のデータ欠損に生じる偏りの再現手法は研究テーマとしても興味深く、詳細については文献(http://se.naist.jp/achieve/pdf/181.pdf)を参照されたい。
重回帰分析モデルとCF法の比較
データ欠損を人為的に発生させ、欠損率0%、10%、20%、30%、40%、50%としたデータセットそれぞれにおける見積もり精度(相対誤差)のばらつきを図2に示す。ステップワイズ重回帰分析モデルでは、欠損率0~30%において、見積もり精度のばらつきはあまり変化しないが、欠損率が40%を超えるとばらつきが非常に大きくなる。相対誤差の中央値で見ても、欠損率0%で1.38だったものが、欠損率50%では1.98となり、約43%の増加となった。
一方、CF法では、欠損率0~50%において、見積もり精度のばらつきはほとんど変わらない。この図では省略しているが、この傾向は欠損率60%まで続き、欠損率70%でばらつきが極端に大きくなるという結果であった。相対誤差の中央値で見ても、欠損率0%で0.77、欠損率50%で0.76と、ほとんど変わらなかった。
以上が、協調フィルタリング技術を用いた工数見積もりの具体的な事例、特に重回帰分析により構築された見積もりモデルとの比較を行った結果である。データ欠損が避けられないような状況下での工数見積もりにおいては、従来法よりも威力を発揮することが分かる。
いよいよこの連載も最後のページとなる。今回紹介したような「モデル構築よりも類似プロジェクト検索」というアプローチがもたらす新たな可能性について少し述べる。