44
推薦論文● FOSE2007

工数予測における類似性に基づく欠損値補完法の実験的評価
田村 晃一 柿元 健 戸田 航史 角田 雅照 門田 暁人
松本 健一 大杉 直樹
ソフトウェア開発において，開発中もしくは将来のプロジェクトの計画立案や管理を目的として，重回帰モデルを利用した開発工数の予測が行われている．一般に，モデル構築に使用するプロジェクトデータには未記録の値 (欠損値)が存在するため，モデル構築を行う前に，欠損値を何らかの値で補完する (欠損値補完法)，または，欠損値を含むメ
トリクスやプロジェクトを削除することで欠損値のないデータセットを作成すること (無欠損データ作成法) が必要となる．ただし，いずれの手法がプロジェクトデータに適しているかは従来明らかにされていない．本論文では，複数の企業で収集された 706 件 (欠損率 47%) のプロジェクトデータに対し，4 つの欠損値補完法 (平均値挿入法，ペアワイズ除去法，k-nn 法，CF 応用法) 及び，無欠損データ作成法を適用し，重回帰モデルの構築を行った．各手法の予測精度を評価するために欠損のない 143 件のプロジェクトの工数予測を行った結果，類似性に基づく欠損値補完手法 (k-nn 法，CF 応用法) を用いる場合に高い精度のモデルが構築されることがわかった．

Multivariate regression models have been commonly used to estimate the software development eﬀort toassist project planning and/or management. Since project data sets for model construction often containmissing values, we need to build a complete data set that has no missing values either by using imputation
methods or by removing projects and metrics having missing values (removing method). However, while
there are several ways to build the complete data set, it is unclear which method is the most suitable forthe project data set. In this paper, using project data of 706 cases (47% missing value rate) collected fromseveral companies, we applied four imputation methods (mean imputation, pair-wise deletion, k-nn method
and applied CF method) and the removing method to build regression models. Then, using project dataof 143 cases (having no missing values), we evaluated the estimation performance of models after applying
each imputation and removing method. The result showed that the similarity-based imputation methods(k-nn method and applied CF method) showed the best performance.

Empirical Evaluation of Similarity-Based Missing
Data Imputation for Eﬀort Estimation.
Koichi Tamura，Koji Toda，Masateru Tsunoda，Akito Monden，Ken-ichi Matsumoto，奈良先端科学技
術大学院大学情報科学研究科，Graduate School ofInformation Science, Nara Institute of Science andTechnology．
Takeshi Kakimoto，奈良先端科学技術大学院大学情報科
学研究科，Graduate School of Information Science,
Nara Institute of Science and Technology．現在，大阪大学大学院情報科学研究科，Graduate School ofInformation Science and Technology, Osaka University．
Naoki Ohsugi，株式会社 NTT データ，NTT Data Corporation．
コンピュータソフトウェア, Vol.26, No.3 (2009), pp.44–55.
[研究論文] 2007 年 2 月 29 日受付.

1 はじめにソフトウェア開発プロジェクトの初期段階において開発工数を予測すること，及び各工程の終了段階で開発工数の再予測を行うことは，プロジェクト完遂に必要な資源の確保や，スケジュール管理を行う上で重要である．そのために，過去のソフトウェア開発
プロジェクトの実績データ (以下，プロジェクトデータ) を予測の根拠に用いる定量的予測手法が数多く提案され，用いられてきた [1] [17] [18] [21]．なかでも，プ
本論文は，第 14 回ソフトウェア工学の基礎ワークショッ
プ (FOSE 2007) の発表論文をもとに発展させたものである．

Vol. 26 No. 3 Aug. 200945

ロジェクトのメトリクス (開発規模，欠陥数など) をタ作成法の性能を実験的に比較する．ここで，CF 応

説明変数として用い，目的変数である開発工数との関用法とは，協調フィルタリングに基づく予測手法 [21]

係を一次式で表現する重回帰モデルを用いた予測は，を応用した手法であり，欠損値補完への適用は本論文

ツールが普及しており適用が容易なことから，広く実が初めてである．CF 応用法と k-nn 法はいずれもプ施されてきた [2] [22]．

ロジェクト間の類似性に基づく欠損値補完法といえ重回帰モデルの構築にあたっては，欠損値を含まないプロジェクトデータが必要となるが，一般に，多数るが，類似度計算を求めるアルゴリズムが異なっている．各々のアルゴリズムの詳細は 3 章で述べる．

の部署・組織から収集されたプロジェクトデータには従来，欠損値補完・除去法の比較は，全く行われ欠損値が含まれる [10] [13] [21]．欠損値が生じる原因とていないわけではないが，いずれも不十分である．

しては，収集メトリクスが異なる複数の組織のデータ

Jonsson ら [9] や Strike ら [19] は，欠損の無いデータをマージしたことや，時間的制約や不注意による記録

セットを人為的に (ランダムに) 欠損させ，欠損値補漏れなどが挙げられる．

完法の比較を行っている．しかし，現実のデータ欠損

そのため，重回帰モデルの構築にあたっては，何らはランダムというよりはむしろバースト的であるたかの方法で欠損値の含まないデータセットを用意する

め，現実のデータセットを用いても同等の効果が得らことが必須となる．その 1 つの方法は，欠損値を含れるかは明らかでない．バースト的な欠損となる理由

むメトリクスやプロジェクトを除去し，欠損値のないはいくつか存在する．企業ごとに計測対象のメトリク

データセットを作成すること (無欠損データ作成法)

スが異なる場合，それらのデータを結合した際にバーである [16] [19]．ただし，データセットのサイズが小スト的な欠損が発生する．同一の企業であっても，時さくなり，予測の根拠となる情報量を減らしてしまう

期によって計測対象のメトリクスが異なっている場合

ため，モデルを構築したとしても十分な予測精度ががあり，バースト的な欠損が発生する原因となる．

得られない可能性がある．もう 1 つの方法は，欠損

また，Cartwright ら [3] や Myrtveit ら [16] は，欠値を何らかの値で補完すること (欠損値補完法) によ

損を含む現実のデータに対する欠損値補完・除去をり，データセットのサイズを保つことである [2] [9] [13]行ってから重回帰モデルを構築し，データに対するモ[14] [16] [18]．この場合の問題は，補完する値によってデルの適合度を評価している．しかし，適合度のみのはデータセットにノイズが混じることとなり，必ずし

評価では，実際の予測を行うにあたって有用であるかも妥当なモデルが得られないことである．他に，重回は不明である．特に，モデル構築用のデータセットに

帰モデルに特化した欠損値除去法として，ペアワイズ

対して予測モデルが過剰に適合 (オーバーフィッティ

除去法が提案されている．ただし，いずれの手法が工ング [5]) した場合，モデル構築用データセット以外の

数予測モデルに適しているのかは，必ずしも明らかで

データセットに対して予測を行った際に高い予測精度ない．

が得られない可能性がある．そのため，適合度の評価

本論文では，International Software Benchmark-に加えて，予測性能の評価を行うことが求められる．

ing Standards Group (ISBSG) [6] が収集した，複数構築したモデルの予測性能を評価するためには，欠損の企業で収集されたプロジェクトデータから欠損をのないデータセットが別途必要であり，この点につい含む 706 件のプロジェクト (データ欠損率 47%) を選ての評価は行われていない．

び，4 つの欠損値補完法 (平均値挿入法，ペアワイズ

さらに，いずれの従来研究においても，欠損値補完除去法，k-nn 法，CF 応用法) 及び，無欠損データ作法と無欠損データ作成法との比較は行われていない．

成法を適用し，重回帰モデルの構築をそれぞれ行う．

工数予測モデルを構築する者にとって，多少ノイズがそして，ISBSG データセットから選んだ欠損のない

入ってでも情報量を減らさない (欠損値補完法）のが別の 143 件のプロジェクトを用いて各モデルの予測精

良いのか，情報量を減らしてでもノイズを避ける (無度を評価することで，欠損値補完法および無欠損デー

欠損データ作成法）のが良いのかを知ることは重要で

46

コンピュータソフトウェア
ない場合に変数を採択する．ただし，多重共線ある．
以降，2 章では，本論文の実験で用いた工数予測手性を回避するために，採択する変数の分散拡大法であるステップワイズ重回帰分析について述べ，3

要因 (VIF) が一定値以上の場合，またはその変章では，従来の欠損値補完・除去法，及び本論文で新数を採択することによって，他の変数の VIF がたに欠損値補完法として適用する CF 応用法につい

一定値以上となる場合，その変数は採択しない．

て述べる．4 章では，各手法の精度を評価するための本論文の評価実験では，VIF は 10 とした．

実験について説明し，5 章で評価実験の結果と考察に

手順 3．検定により適切な変数が選択されたと判ついて述べる．6 章で関連研究について述べ，最後に断されるまで手順 2. を繰り返す．

7 章で本論文の結論について述べる．

3 欠損値補完・除去法
2 ステップワイズ重回帰分析による工数予測

欠損値を含むデータセットに対してステップワイズ

重回帰分析は多変量解析の一手法であり，ソフト

重回帰分析を適用する前処理として，データセットにウェア開発に要する工数を予測するために広く用い含まれる欠損値を何らかの値で補完する，もしくは欠られている．本論文では，工数予測手法として重回帰損値を含むプロジェクト及びメトリクスを除外するこ分析の一手法であるステップワイズ重回帰分析を用とが行われる．本論文では，欠損値補完法として従来いた．

よく使われている平均値挿入法，ペアワイズ除去法，

重回帰分析では，予測対象の変数 Ŷ (目的変数) と目

k-nn 法に加えて，今回新たに欠損値補完に適用する的変数に影響を与える複数の変数 N (説明変数) との協調フィルタリングを応用した補完法 (CF 応用法) を関係を表した一次式 (重回帰モデル) を作成する．こ用いて欠損値補完を行う．また，過去のプロジェクト

こで，変数の数を k，偏回帰係数を a，定数項を C とのデータから欠損値を多く含むメトリクスやプロジェ

すると重回帰分析のモデル式は式 (1) で定義される．

クトを除去し，無欠損のデータセットを作成する手法

Ŷ = a1 N1 + a2 N2 + · · · + ak Nk + C(1)(無欠損データ作成法) も適用する．各欠損値補完法，及び無欠損データ作成法の詳細を以下に示す．

式 (1) の a と C は，残差平方和が最小となるように決定される．作成された回帰式に，予測対象のケース(プロジェクト) の説明変数の値を与えることで，目的変数の値を予測することが可能となる．

3. 1 平均値挿入法
欠損値に対して，当該メトリクスの平均値を挿入することで，欠損値を補完する [19]．

重回帰分析では，予測精度を向上させるために，多数の説明変数候補の中から，予測精度の向上に寄与す

3. 2 ペアワイズ除去法

ると考えられる変数を選択して回帰式を作成する方

重回帰分析に特化した手法で，重回帰分析の過程に法がとられる．ステップワイズ重回帰分析は，ステッ

おいてメトリクス間の共分散を求める際に，メトリク

プワイズ変数選択法により採用する変数を決定し，重スのいずれかが欠損しているプロジェクトを除外して回帰分析を行う手法である．ステップワイズ変数選択

共分散を求める手法である [13]．

は次の手順で行われる [20]．
手順 1．変数を全く含まないモデルを初期モデルとして作成する．

3. 3 類似性に基づく欠損値補完法 (k-nn 法)
類似性に基づく欠損値補完法 (k-nn 法) は欠損値に

手順 2．作成されたモデルに対して，各説明変数

対して，類似したプロジェクトのメトリクス値を用いの係数が 0 でないかの検定を行い，指定した有て欠損値を補完する [3]．k-nn 法は 3 つの手順 (正規意水準 (本論文の評価実験では，偏 F 値の有意水化，類似度計算，補完値計算) から構成される．各手

準を pin = 0.05，pout = 0.1 とした) で棄却され順の詳細とアルゴリズムについては以下で述べる．

Vol. 26 No. 3 Aug. 200947

手順 1. メトリクス値の正規化 各メトリクスは値域に大きなばらつきがあるため，値域をそろえるための正規化を行い，値域を [0,1] にする．ここで，pi は i 番目のプロジェクト，mj は j 番目のメトリクスと定義すると，プロジェクト pi の
メトリクス mj の値 vij を正規化した値 vij
は式(2) で定義される．
vij=vij − min(Pj )max(Pj ) − min(Pj )(2)

ここで，Pj はメトリクス mj が計測されている
プロジェクトの集合，max(Pj ) と min(Pj ) はそれぞれ {vx,j |px ∈ Pj } の最大値，最小値を表す．
手順 2. プロジェクト間の類似度計算 メトリク
ス値を補完するプロジェクトと類似したプロジェ
クトを見つけるため，プロジェクト間のユーク
リッド距離を計算し，それを類似度とする．メト
リクス値を補完するプロジェクト pa と他の各プ
ロジェクト pi とのユークリッド距離による類似
度 E(pa , pi ) は式 (3) で定義される．

E(pa , pi ) =

 
 



 2
vaj −vij

図1

プロジェクト間の類似度計算

CF 応用法は k-nn 法と同様に，3 つの手順 (正規化，類似度計算，補完値計算) から構成される．各手
順の詳細とアルゴリズムについては以下で述べる．
手順 1. メトリクス値の正規化 前節で述べた，手順 1．メトリクス値の正規化と同様の方法で正規化を行う．
手順 2. プロジェクト間の類似度計算 メトリク
ス値を補完するプロジェクトと類似した他のプロジェクトを見つけるため，プロジェクト間の類似度を算出する．メトリクス値を補完するプロ
ジェクト pa と他の各プロジェクト pi との類似度

sim(pa , pi ) は式 (4) で定義される．
(3)

j∈Ma ∩Mi

ここで，Ma と Mi はそれぞれプロジェクト paと pi に関して記録されている (欠損していない)
メトリクスの集合を表している．
手順 3. 類似度に基づく補完値の算出 補完値のsim(pa , pi )

 




vaj−md(mj ) vij−md(mj )

j∈Ma ∩Mi

 
= 
 

 

 2
vaj−md(mj )vij−md(mj ) 2
j∈Ma ∩Mij∈Ma ∩Mi(4)

算出には，補完対象のメトリクスが欠損していな

ここで，mj はメトリクス mj を正規化したもの

い，プロジェクト pa と類似度の高い上位 k 個のであり，md(mj ) は j 番目のメトリクスの正規化

プロジェクト (k-nearestProjects) を用いる．プ

した値の中央値を表す．

ロジェクト pa のメトリクス mb の値 vab を補完vij
から md(mj ) を減算することで，中央値対象とすると，k-nearestProjects のメトリクス

よりも大きなメトリクス値は正の値をとり，小さ

mb の平均値を補完値とする．k は実験的に別途い値は負の値をとるようになる．類似度の計算例

求める必要がある．

を図 1 に示す．図 1 の左側の図は正規化したメ
トリクス値から中央値を減算して類似度を計算

3. 4 類似性に基づく欠損値補完法 (CF 応用法)

した場合，右側の図は正規化したメトリクス値を

本論文では，新たに協調フィルタリングを応用した

そのまま使って類似度を計算した場合を示してい

工数予測手法 [21] を欠損値補完に適用する．CF 応用

る．この計算により，類似度 sim(pa , pi ) の値域

法も，メトリクス値が類似したプロジェクトから過去

が [-1,1] をとるようになり，大きくメトリクス値のプロジェクトの欠損値を補完する．

が離れたプロジェクト間の類似度が小さくなる．

48

コンピュータソフトウェア
手順 3. 類似度に基づく補完値の算出 補完対象する手法 (リストワイズ除去法) がよく用いられていとなる欠損値について，その補完値の算出に類似る．しかし，欠損値が多くのプロジェクトにおいて存したプロジェクトの対応するメトリクスの実測値

在している場合，リストワイズ除去法を適用するとモを用いる．手順 2. の類似度計算では，(ベクトルデル構築に使用できるプロジェクトがほとんど残らなのなす角を用い，ベクトルの大きさを用いないい場合がある．そこで，無欠損データ作成法では，予ため) 規模が異なるが傾向が似ているプロジェク

め高い割合で欠損値を含んでいるメトリクスを除去

ト同士は類似度が高いとみなしている．そこで，してから，欠損を 1 つでも含むプロジェクトを除去

補完値の算出において，類似度 sim(pa , pi ) を重することで欠損を含まないデータセットを作成する．

みとして，プロジェクト pa と類似したプロジェ

ただし，多くのプロジェクトを残そうとすればメトリ

クトのメトリクス値 vib に，プロジェクトの規模

クスの数が少なくなり，逆に，多くのメトリクスを残を補正する amp(pa , pi ) を乗じた値で加重平均をそうとすればプロジェクトの数が少なくなるため，そ行う．プロジェクト pa のメトリクス mb の補完

れぞれの除去のバランスには注意が必要である．

値 v̂ab は式 (5) で定義される．

v̂ab
=



4 評価実験

(vib×amp(pa , pi )×sim(pa , pi ))i∈k−nearestP rojects



4. 1 実験概要
本論文では，各欠損値補完・除去法の有効性をソフ

sim(pa , pi )トウェア開発企業で収集された実績データを用いて

i∈k−nearestP rojects(5)

実験的に評価する．実験では，前章で述べた各欠損値

ここで，k-nearestProjects は，メトリクス mb が補完・除去法によって欠損値を補完もしくは除去した

欠損しておらず，かつ，プロジェクト pa と類似

データセットを用いてプロジェクトの総開発工数を予度の高い上位 k 個のプロジェクトの集合を表す．

測する．それぞれの欠損値補完・除去法を適用してかk の値は実験的に別途求める必要がある．

ら予測モデルを構築した際の予測精度を比較するこまた，amp(pa , pi ) は，プロジェクト pa のファとにより評価を行う．なお，本論文ではもともと欠損

ンクションポイント (FP) を fa と定義すると，の含まれるデータセットを用いるために，欠損値の真式 (6) で定義される．

の値は不明である．そのため，補完値そのものの正確さの評価 (真の値との比較) をすることはできない．

fa
amp(pa , pi ) =fi(6)

そこで，欠損値補完・除去を行ったデータセットを用いて工数予測モデルを構築し，その工数予測モデルの予測精度を (欠損のないデータセットを用いて) 評価

amp(pa , pi ) は，プロジェクト pa の規模が pi のすることで，間接的に欠損値補完の精度を評価する．

規模のおよそ何倍になっているかを，正規化された FP により求めている．この amp(pa , pi ) により，多様な規模のプロジェクトを含むデータセッ
トを用いた場合にも補完が可能となる．

4. 2 実験用データセット
実験で利用したデータセットは，ISBSG (Interna-

tional Software Benchmarking Standards Group) が収集した，20ヶ国のソフトウェア開発企業の実績デー

3. 5 無欠損データ作成法
無欠損データ作成法では，欠損値を含むデータセッ
トに対して重回帰分析を行うために，欠損値を含むプ
ロジェクトやメトリクスを除去する [16] [19]．従来研
究では欠損を 1 つでも含むプロジェクトを全て除去

タ [6] から抽出した．ISBSG データセットは，一般公開されている実績データであり，多くの欠損値を含んでいる (欠損率 58%)．さらに，ISBSG データセット
は企業横断データセットとして工数予測手法の評価に広く使用されている [12]．これらの特徴により，本論

Vol. 26 No. 3 Aug. 2009
文の目的である欠損値補完の効果を検証するのに適

表1

したデータセットであると考えられる．

変数の種類

実験に用いたデータセットに含まれるメトリクス

本実験では，設計終了時を予測時期と想定し，総開発工数の予測を行った．ISBSG データセットから，

49

名称

欠損率

FP

0%

開発期間 (単位:月)8.8%

FP 計測手法が IFPUG，開発形態が新規開発，デーシステム化計画工数

77.0%

タの質 (Data quality Rating) が A もしくは B(A〜

要件定義・設計工数

71.2%

D の全 4 段階中上位 2 段階)，及び総開発工数 (目的

説明変数

目的変数

総開発工数 (単位:人時)0%変数) が欠損していない 849 件 (欠損率 39%) のプロジェクトを実験に用いた．ISBSG は複数の企業から

セット (プロジェクト数 143 件) の 2 つのデータセッ

収集したデータセットであるため，データの質に大きトに分割した．前者を予測モデルを構築するデータ

なばらつきが存在している．そこで，データの質が欠セット (以降フィットデータと呼ぶ) とし，後者を構損値補完及び工数予測の精度に大きな影響を与える

築されたモデルを用いて実際に予測を行うデータセッことを防ぐため，文献 [8] [15] にならってデータセット

ト (以降テストデータと呼ぶ) とした．

抽出を行った．

無欠損データ作成法を適用するにあたっては，欠損実験に使用したメトリクスの詳細を表 1 に示す．

率の高いメトリクスを削除した．本実験では，シス

データセットに含まれるメトリクスのうち総開発工数

テム化計画工数を削除，要件定義・設計工数を削除，を目的変数とし，4 個のメトリクスを説明変数として及びシステム化計画工数と要件定義・設計工数を削除用いている．本論文で欠損値補完に適用する平均値

する 3 つの方法を用いた．各欠損値補完・除去法を挿入法，k-nn 法，CF 応用法は数値変数の補完が前適用した結果，モデル構築に使用できるプロジェクト

提となっており，数値変数の補完に焦点を当てた評価

数は表 2 のようになった．表 2 中の P はシステム化を行うために，開発プラットフォーム，言語タイプ，

計画工数，S は要件定義・設計工数を表している．まビジネス領域タイプなどのカテゴリ変数については

た，k-nn 法における k-nearestProjects，及び CF 応

採用しなかった．開発期間は実測の値が記録されてい用法における式 (5) の k-nearestProjects は，それぞるため，説明変数として選択するか否かは，その因果れ k-nearestProjects の値を 1〜20 まで変化させて欠関係から議論が分かれる．しかし，(1) 開発期間の計

損値補完を行ったデータセットに対して重回帰モデル

画値が ISBSG データセットに含まれていないこと，を構築し，その重回帰モデルの残差平方平均が最小と(2) 一般に，(失敗プロジェクトを除いて) 開発期間のなった 3，及び 8 を用いた．

計画値と実測値に極端に大きなずれはないと考えられること，(3) 本実験の目的は欠損値処理手法の評価

4. 3 評価基準

であり，そのためには，生産性や工数に影響を与え，予測精度の評価基準として，絶対誤差 (MAE)，実測

欠損値の比較的少ない開発期間を含めた方が望まし値に対する誤差 (MRE)，予測値に対する誤差 (MER)，

いことから，開発期間を計画値と見なし，説明変数に及び Pred(25) の 4 種類の評価基準を用いた．M 件の含めた．また，説明変数として用いるメトリクスを増

プロジェクトがあり，実測値と予測値をそれぞれ Xi ，

やしすぎると，予測用のデータセットとして使用できX̂i (i = 1〜M ) と定義すると，それぞれの評価基準は

るプロジェクトの数が大きく減少してしまう．以上の次の式 (7)〜(10) により計算される．

理由により，本実験では表 1 の 4 つのメトリクスを説明変数として選択した．

絶対誤差 (MAE)

このデータセットを，欠損値を含むプロジェクト
のみのデータセット (プロジェクト数 706 件 (欠損率47%)) と欠損値を含まないプロジェクトのみのデータ

M AE = X̂i − Xi 
実測値に対する誤差 (MRE)

(7)

50

コンピュータソフトウェア
表2

欠損値補完・除去法適用後の無欠損プロジェクト数

欠損値補完・除去法

無欠損プロジェクト数

平均値挿入法706 件

ペアワイズ除去法

706 件

類似性に基づく補完法 (k-nn 法)

706 件

類似性に基づく補完法 (CF 応用法)

706 件

無欠損データ作成法 (P 削除)

72 件

無欠損データ作成法 (S 削除)

28 件

無欠損データ作成法 (P，S 削除)

631 件

表中の P はシステム化計画工数，S は要件定義・設計工数を表す

M RE =

X̂i − Xi 
Xi(8)

4. 4 実験手順
評価実験は次の手順で行った．

1. フィットデータに対し，平均値挿入法，ペアワ
予測値に対する誤差 (MER)

M ER =
Pred(25)

P red(25) =X̂i − Xi X̂i

イズ除去法，k-nn 法，CF 応用法，及び無欠損(9)

データ作成法によって欠損値補完・除去を行う．

2. それぞれの手法で欠損値を補完あるいは削除したフィットデータに対して，ステップワイズ重回

M

i=1

(10)

M


isAccurate(R) =帰分析を行い総開発工数を目的変数としたモデisAccurate(Ri )1

R ≤ 0.25

0

R > 0.25

これらの基準の内，MRE は実測値を分母としていルを構築する．

3. 構築したモデルを用いてテストデータの総開発
工数を予測し，各評価基準の値を算出する (テス
トデータの総開発工数は未知数とみなす)．

5 結果と考察るため，過大予測したモデルの誤差を求めるには有用

5. 1 実験結果

な評価基準である一方で，過小予測したモデルの誤差

各欠損値補完・除去法によって欠損値の補完またはが小さくなってしまうという問題点がある．これに対除去を行い，ステップワイズ重回帰分析で予測を行っ

し，MER は予測値を分母としているため，MRE とた．この時の自由度調整済み決定係数 (調整済み R2 )は逆に，過大予測したモデルの誤差が小さくなってしと，表 1 に示した説明変数のうちステップワイズ変

まうという問題点がある．そこで，MRE と MER 両数選択法により選択された変数を表 3 に示す．調整方の評価基準を用いることで，どの欠損値補完・除去

済み R2 はフィットデータに対するモデルの適合度をを行ったモデルが過大予測や過小予測でもない最も予表す尺度であり，0〜1 の範囲の値を取る．調整済み

測精度の高いモデルなのか，正しく判断できる [4] [11]．

R2 が 1 に近いほど適合度が高いことを示す．表 2 にPred(25) は予測値の MRE が 25%以下となったプロ

示したとおり各モデルで構築に用いるプロジェクト件

ジェクトの割合を示す．Pred(25) は値が大きいほど数が異なるため，厳密な適合度の比較は行えないが，予測精度が高いことを表し，その他の評価基準は値が参考として記述している．また，予測した時の誤差の小さいほど予測精度が高いことを表す．

中央値を表 4 に示す．T は開発期間，P はシステム化計画工数，S は要件定義・設計工数を表している．

Vol. 26 No. 3 Aug. 2009
表3

51

ステップワイズ重回帰分析適用時の調整済み R2 と選択された変数

調整済み R2選択された変数 (標準化係数)

平均値挿入法0.562

FP(0.568)，S(0.231)，T(0.180)，P(0.102)

ペアワイズ除去法

0.957

S(0.742)，FP(0.455)

類似性に基づく補完法 (k-nn 法)

0.923

S(0.526)，P(0.391)，FP(0.117)，T(0.042)

類似性に基づく補完法 (CF 応用法)

0.925

S(0.606)，P(0.412)

無欠損データ作成法 (P 削除)

0.822

S(0.737)，FP(0.317)

無欠損データ作成法 (S 削除)

0.964

P(0.653)，T(0.379)

無欠損データ作成法 (P，S 削除)

0.548

FP(0.626)，T(0.202)

表中の T は開発期間，P はシステム化計画工数，S は要件定義・設計工数を表す

表4

ステップワイズ重回帰分析に各欠損値補完・除去を適用した際の予測精度

MAE 中央値

MRE 中央値

MER 中央値

Pred(25)

平均値挿入法

2648

0.818

1.112

20%

ペアワイズ除去法

1036

0.461

0.609

28%

類似性に基づく補完法 (k-nn 法)

760

0.304

0.268

43%

類似性に基づく補完法 (CF 応用法)

829

0.274

0.295

46%

無欠損データ作成法 (P 削除)

1050

0.458

0.416

28%

無欠損データ作成法 (S 削除)

1463

0.479

0.526

27%

無欠損データ作成法 (P，S 削除)

1875

0.555

0.563

18%

表中の P はシステム化計画工数，S は要件定義・設計工数を表す

MAE，MRE，MER における各手法の箱ひげ図を
図 2〜図 4 に示す．グラフの上方は省略している．グ

検定において有意水準は 0.05 とした．それぞれの検定結果は以降の節で述べる．

ラフの縦軸は予測誤差を示し，箱の下端は第 1 四分
位，上端は第 3 四分位，箱中の線分は中央値，ひげの下端は第 1 四分位から IQR(Inter-Quartile Range，

5. 2 類似性に基づく補完法とその他の補完法との比較

箱の幅) の 1.5 倍以内に含まれる最小誤差のプロジェ

まず，類似性に基づく補完法 (k-nn 法，CF 応用法)

クト，ひげの上端は第 3 四分位から IQR の 1.5 倍以と平均値挿入法，ペアワイズ除去法の比較を行う．表内に含まれる最大誤差のプロジェクト，◦ は外れ値の4 より全ての評価基準において類似度に基づいた欠損可能性があるプロジェクトを表す．

値補完法 (k-nn 法，CF 応用法) の方が平均値挿入法，さらに，各欠損補完・除去法間の評価基準の差がペアワイズ除去法よりも高い精度が得られたことが統計的に有意かどうかを検定した．本論文の実験でわかる．また，図 2〜図 4 の箱ひげ図より，類似性には同じフィットデータに対して各手法を適用している基づく補完法の方が平均値挿入法，ペアワイズ除去法

が，MAE，MRE，MER の値は正規分布していない

よりも IQR が小さい，すなわち誤差のばらつきが小ため，ノンパラメトリックな検定である Wilcoxon のさくなっていることがわかる．MAE において平均値

符号付順位和検定を行った [20]．また，Pred(25) に対挿入法は他手法と比べて最も IQR が小さく，誤差のしては，二群の比率の差の検定を行った．それぞれのばらつきが小さくなっているが，箱の位置が上部に位52コンピュータソフトウェア

図2

MAE の箱ひげ図

図4

MER の箱ひげ図

似度に基づいた補完法 (k-nn 法，CF 応用法) の方が3 つの無欠損データ作成法よりも高い精度が得られた
ことがわかる．無欠損データ作成法の中では，MRE
中央値と Pred(25) に関しては P 削除と S 削除間に明確な差が認められないが，MAE 中央値，MER 中
央値に関しては P 削除の方が小さな誤差となっていることがわかる．
また，図 2〜図 4 の箱ひげ図においても，無欠損データ作成法の中では P 削除の IQR が概ね最も小さ
くなっている．以上より，システム化計画工数 (P) を削除した方法 (P 削除) が最も高い精度が得られたといえる． P 削除では 72 件のプロジェクトが残ったの
図3

MRE の箱ひげ図

に対し，S 削除では 28 件となっており，予測モデル構築に使用できるプロジェクトが減少することによ置しており予測精度は悪い．類似性に基づく補完法，り，予測値の信頼区間が広くなってしまったことが精その他の補完法の評価基準の差について検定を行った度を低下させた一因であると考えられる．また，P, S

結果，全ての評価基準において有意差がみられた．

削除では 631 件のプロジェクトが残ったが，今度は以上の結果より，類似性に基づく補完法を用いるこ

説明変数が少なくなりすぎた (FP と開発期間の 2 つとで平均値挿入法，ペアワイズ除去法を用いるよりものみとなった) ことが精度が低くなった原因であると高い精度が得られる工数予測モデルを構築できると考えられる．

いえる．

図 2〜図 4 の箱ひげ図より，類似性に基づく補完法 (k-nn 法) は全ての評価基準において 3 つの無欠損

5. 3 類似性に基づく補完法と無欠損データ作成法との比較

データ作成法よりも IQR が小さいことがわかる．また，類似性に基づく補完法 (CF 応用法) は，MRE に

次に，類似性に基づく補完法と無欠損データ作成法

おいて 3 つの無欠損データ作成法よりも IQR が小さの比較を行う．表 4 より全ての評価基準において類く，MAE 及び MER において無欠損データ作成法 (PVol. 26 No. 3 Aug. 200953削除) よりも IQR が大きいものの箱の位置は下部にた従来研究と予測精度を比較する．本論文においてあり，より高い精度であることがわかる．類似性に基精度の高かった CF 応用法の MRE 中央値が 0.274，

づく補完法と無欠損データ作成法の評価基準の差につPred(25) が 46%であり，文献 [15] において精度の高

いて検定を行った結果，MER の CF 応用法と無欠損かったステップワイズ重回帰分析による工数予測ではデータ作成法 (P 削除) 間を除いて有意差がみられた．

MRE 中央値が 0.617，Pred(25) が 21%，文献 [8] に以上の結果より，無欠損データ作成法における，プ

おいて精度の高かった Robust Regression による工数

ロジェクト数および説明変数を減らしすぎることの弊予測では MRE 中央値が 0.683，Pred(25) が 0%であ害が確認できた．ただし，P 削除，S 削除，P, S 削除

り，文献 [7] において精度の高かった Ordinary least-のいずれにおいても，平均値挿入法よりは高い精度が

squares regression による工数予測は MRE 中央値が得られたことから，欠損値補完が常に優れているとは

0.38，Pred(25) が 21%であった．以上より，類似性いえない．あくまでも適切に欠損値を補完できる場合に基づく欠損値補完法 (CF 応用法) を用いることで，に限り，欠損値を含むプロジェクトデータを捨てずに従来研究と比較しても高い予測精度が得られたとい

利用することが望ましく，その有力な方法が類似性にえる．

基づく欠損値補完法であることがわかった．
この結果は，プロジェクトデータを収集する者にとって，欠損値を含むデータであっても収集する価値があることを示している．

5. 5 ステップワイズ重回帰分析により選択された
説明変数の比較
表 3 のように，各手法適用後にステップワイズ重回
帰分析を行った時の選択された変数がばらついてい5. 4 類似性に基づく補完法間の比較る理由は，現段階では不明である．しかし，高い精度類似性に基づく補完法である CF 応用法と k-nn 法

で工数を予測できた手法は変数の選ばれ方も良いとを比較すると，表 4 より予測精度に大きな差はない

仮定すると，要件定義・設計工数は開発工数の予測にが，MAE 中央値及び MER 中央値においては k-nn

有効なメトリクスであることがわかる．また，FP は法の方が高い精度が得られており，MRE 中央値及び無欠損のメトリクスであるにも関わらず，必ずしも選Pred(25) においては CF 応用法の方が高い精度が得ばれないことがわかる．しかし，平均値挿入法及び無られたことがわかる．図 2〜図 4 の箱ひげ図より，全欠損データ作成法 (P，S 削除) では FP が最も高い標評価基準において k-nn 法の方が IQR が小さい，即準化係数となっている．特に，平均値挿入法において

ち誤差のばらつきが小さくなっている．CF 応用法とは，他の欠損値補完手法と比較して FP 以外のメトリ

k-nn 法の評価基準の差について検定を行った結果，クスの欠損値に不適切な値が補完されたため，元々無MAE と MER において有意差がみられた．

欠損であった FP が工数予測において最も有用なメト以上の結果より，k-nn 法と CF 応用法は大きな差リクスとして選択されたと考えられる．さらに，開発はないものの，どちらかといえば k-nn 法の方が高い

期間も必ずしも選ばれないことがわかる．以上より，精度が得られるといえる．また，MER において精度

後工程で計測されたメトリクスほど工数予測を行うが低いことから，CF 応用法は k-nn 法と比べて過小ための変数としては有効である可能性がある．

予測する傾向があるといえる．一方，k-nn 法は CF
応用法と比べて過大予測する傾向があるといえる．欠6 関連研究損値の補完を行って工数予測を行う者は，k-nn 法とJonsson ら [9] は，欠損値を正確に補完することにCF 応用法の両方を実施し，予測値に大きな差がない

焦点を当てており，欠損のないデータセットに対してことを確認することが望ましいと考えられる．

人為的に欠損値を設けてから補完を行い，真の値とのさらに，予測に用いるメトリクスが異なるため厳比較を行っている．この結果から，ランダムに値を欠

密な評価は行えないが，ISBSG データセットを用い損させた場合には k-nn 法の補完精度が高いことが示54

コンピュータソフトウェア

されている．

法はやや過大予測する傾向があることから，欠損

Strike ら [19] は，欠損のないデータセットに対して値の補完を行って工数予測を行う者は，k-nn 法

人為的に欠損値を設けてから補完・除去を行い，工数と CF 応用法の両方を実施し，予測値に大きな差予測を行っている．この結果から，k-nn 法により欠がないことを確認することが望ましいと考えら

損値補完を行ったデータセットを用いることで，高いれる．

精度で工数予測が行えることが示されている．しか

今後は，他のプロジェクトデータセットが入手でき

し，現実のデータセットの欠損値の発生は，ランダム

たならば，同様の評価実験を行う予定である．また，というよりはむしろバースト的であり，欠損値の分布

欠損値をより適切な値で補完できるようにさらなるに大きな偏りがある．

手法の改善，及び欠損値を前提とした工数予測手法

また，Cartwright ら [3]，Myrtveit ら [16] は，欠損値を含むデータセットに対して欠損値補完・除去を行(Optimized Set Reduction 法など) との精度比較を行う予定である．

い，重回帰モデルを作成している．しかし，モデル構
築に使用したデータセットに対して当てはまりの良い

謝辞

モデルを作成することに焦点があてられており，実際

本研究の一部は，文部科学省「e-Society 基盤ソフに作成したモデルがどの程度の精度で予測を行える

トウェアの総合開発」及び「次世代 IT 基盤構築のたのか評価を行っていない．

めの研究開発」の委託に基づいて行われた．

本論文では，意図的に欠損させたのではなく実際に欠損を多く含んだデータセットに対して欠損値補完・

参 考 文 献除去を行ったことと，モデル構築後に (欠損値のない[ 1 ] Boehm, B.W.: Software engineering economics,
Prentice Hall, New Jersey, 1981.
[ 2 ] Briand, L., Langley, T. and Wieczorrek, I.: A
replicated assessment and comparison of common
software cost modeling techniques, in Proc. 22ndIEEE International Conf. on Softw. Eng., Limerick, 2000, pp. 377–386.
[ 3 ] Cartwright, M., Shepperd, M.J. and Song,
Q.: Dealing with Missing Software Project Data,in Proc. 9th IEEE International Softw. Metrics
Symposium (Metrics’03), Sydney, Australia, 2003,
pp. 154–165.
[ 4 ] Foss, T., Stensrud, E., Kitchenham, B. and
Myrtveit, I.: A Simulation Study of the Model Evaluation Criterion MMRE, IEEE Trans. Softw. Eng.,
Vol. 29, No. 11(2003), pp. 985–995.
[ 5 ] Hawkins, D.M.: The Problem of Overﬁtting,
Journal of Chemical Information and Modeling,Vol. 44, No. 1(2004), pp. 1–12.
[ 6 ] ISBSG Estimating, Benchmarking and Research
Suite Release 9: International Software Benchmarking Standards Group, 2004, http://www.isbsg.org/[ 7 ] Jeﬀery, R., Ruhe, M. and Wieczorek, I.: A
comparative study of two software development
cost modeling techniques using multi-organizationaland company-speciﬁc data, Information and Softw.
Technology, Vol. 42(2000), pp. 1009–1016.
[ 8 ] Jeﬀery, R., Ruhe, M. and Wieczorek, I.: Using
Public Domain Metrics to Estimate Software Development Eﬀort, in Proc. 7th IEEE International
Softw. Metrics Symposium (Metrics’01), London,
England, 2001, pp. 16–27.

データセットを用いて) 工数予測を行い，精度の評価を行った点が従来と異なる．さらに，本論文では，欠損値補完法と無欠損データ作成法との比較を行った点が従来と異なる．

7 おわりに
本論文では，欠損値を含む過去のソフトウェア開発
プロジェクトデータセットを用いて開発工数予測モデ
ルを構築する際の，欠損値補完手法の効果を実験的に明らかにした．得られた主な結果は次の通りである．

• 類似性に基づく欠損値補完手法 (CF 応用法，knn 法) によって欠損値を補完することで，比較対象とした欠損値補完・除去法である平均値挿入法，ペアワイズ除去法，無欠損データ作成法よりも高い精度の工数予測モデルが構築できた．

• 無欠損データ作成法よりも，類似性に基づく欠損値補完手法が優れていたことから，プロジェク
トデータを収集する者にとって，欠損値を含む
データであっても収集する価値があることが示された．

• CF 応用法はやや過小予測する傾向があり，k-nn

Vol. 26 No. 3 Aug. 2009
[ 9 ] Jonsson, P. and Wohlin, C.: An evaluation of
k-nearest neighbour imputation using likert data,
in Proc 10th IEEE International Softw. Metrics
Symposium (Metrics’04), Chicago, Illinois, 2004,
pp. 108–118.
[10] 柿元健, 角田雅照, 大杉直樹, 門田暁人, 松本健一: 協
調フィルタリングに基づく工数見積り手法のデータの欠損に対するロバスト性の評価, 電子情報通信学会論文誌,
Vol. J89-D, No. 12(2006), pp. 2602–2611.
[11] Kitchenham, B., Pickard, L., MacDonell, S.G.
and Shepperd, M.J.: What accuracy statistics reallymeasure, IEE Proc. Softw. Vol. 148, No. 3(2001),
pp. 81–85.
[12] Kitchenham, B., Mendes, E. and Travassos,
G.: Cross versus Within-Company Cost Estimation
Studies: A Systematic Review, IEEE Trans. Softw.
Eng., Vol. 33, No. 5(2007), pp. 316–329.
[13] Kromrey, J. and Hines, C.: Nonrandomly missing data in multiple regression: An empirical comparison of common missing-data treatments, Educational and Psychological Measurement, Vol. 54,
No. 3(1994), pp. 573–593.
[14] Little, R.J.A. and Rubin, D.B.: Statistical Analysis with Missing Data, 2nd ed., John Wiley andSons, New York, 2002.
[15] Mendes, E., Lokan, C., Harrison, R. and Triggs,
C.: A Replicated Comparison of Cross-company
and Within-company Eﬀort Estimation Models us-

55

ing the ISBSG Database, in Proc. 11th IEEE International Softw. Metrics Symposium (Metrics’05),
Como, Italy, 2005, p. 36.
[16] Myrtveit, I., Stensrud, E. and Olsson, U. H.: Analyzing data sets with missing data: An empiricalevaluation of imputation methods and likelihoodbased methods, IEEE Trans. Softw. Eng., Vol. 27,
No. 11(2001), pp. 999–1013.
[17] Shepperd, M. and Schoﬁeld, C.: Estimating software project eﬀort using analogies, IEEE Trans.
Softw. Eng., Vol. 23, No. 12(1997), pp. 736–743.
[18] Srinivasan, K. and Fisher, D.: Machine learning
approaches to estimating software development effort, IEEE Trans. Softw. Eng., Vol. 21, No. 2(1995),
pp. 126–137.
[19] Strike, K., El Eman, K. and Madhavji, N.: Software cost estimation with incomplete data, IEEE
Trans. Softw. Eng., Vol. 27, No. 10(2001), pp. 890–
908.
[20] 田中豊，垂水共之 (編): Windows 版 統計解析ハン
ドブック ノンパラメトリック法，共立出版，東京, 1999.
[21] 角田雅照, 大杉直樹, 門田暁人, 松本健一, 佐藤慎
一: 協調フィルタリングを用いたソフトウェア開発工数
予測方法, 情報処理学会論文誌, Vol. 46, No. 5(2005),
pp. 1156–1164.
[22] Walston, C. and Felix, C.: A Method of Programming Measurement and Estimation, IBM Systems Journal, Vol. 16, No. 1(1977), pp. 54–73.