社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS

信学技報
TECHNICAL REPORT OF IEICE.

類似性に基づく工数予測における適切でない予測プロジェクトの判別の試み
中村哲彬†

柿元健†

楠本 真二†† 大阪大学大学院情報科学研究科〒 565–0871 大阪府吹田市山田丘 1 番 5 号
E-mail: †{t-nakamr,kakimoto,kusumoto}@ist.osaka-u.ac.jp
あらましソフトウェア開発において，プロジェクトを円滑に進めるために開発工数の予測が行われる．適

切な開発工数を予測することで，コスト超過や納期遅れ等のリスクを抑えることが可能になる．これまでに多数の工数予測手法が提案されているが，近年，過去に実施されたプロジェクトとの類似性に基づく工数予測（Estimation by Analogy）手法 (EbA 手法) が注目を集めている．しかし，EbA 手法は過去プロジェクト中に，予測対象のプロジェクト（以下，予測プロジェクト）と類似したプロジェクトが存在しない場合，適切な工数予測が期待できない．本稿では，EbA 手法において，高い精度での工数予測が期待できない（予測に適さない）プロジェクトを判別する方法を提案する．ソフトウェア開発企業で収集された 77 件のソフトウェア開発データを用いた評価実験の結果，提案手法で判別された予測に適さないプロジェクトを除いて工数予測を行った場合，提案手法を適用しない場合と比べて予測精度が改善した．
キーワード

工数予測，Estimation by Analogy，類似度，ソフトウェア開発データ

Discrimination of Unsuitable Estimation Projectin Estimation by Analogy
Tetsuaki NAKAMURA† , Takeshi KAKIMOTO† , and Shinji KUSUMOTO†† Graduate School of Information Science and Technology, Osaka University
Yamadaoka1–5, Suita City, Osaka, 565–0871 Japan
E-mail: †{t-nakamr,kakimoto,kusumoto}@ist.osaka-u.ac.jp
Abstract Effort estimation is important to software development to reducing risk of project failure. Recently, Estimation by Analogy (EbA) method which is based on similar past projects has been attracting attention in various
effort estimation methods. EbA method requires projects which are similar to estimation project for high estimation
accuracy. In this paper, we propose the method which discriminates against unsuitable (high estimation accuracy is
not expected) estimation project in EbA. We evaluated the proposed method by using a dataset of 77 projects. The
result showed that estimation accuracy is improving by using the proposed method.
Key words Effort Estimation, Estimation by Analogy, Similarity, Software development data

1. は じ め に
ソフトウェア開発プロジェクトにおいて開発を円滑に進めるために，開発工数の予測が行われる．工数の予測を行構築する重回帰分析などに対して，予測対象のプロジェクト（以下，予測プロジェクト）ごとに個別に予測式を構築する類似性に基づく工数予測（Estimation by Analogy）手法 (EbA 手法) [9] [10] が，近年注目されている．

うことで，開発に必要な期間や要員数が決定され，コストEbA 手法は，過去プロジェクト中に予測プロジェクトと超過や納期遅れ等のリスクを抑えることが可能になるため，類似したプロジェクトが含まれていることを前提としてい多くの工数予測手法が提案されている [1] [2] [3]．過去プロる．そのため，EbA 手法では，予測したいプロジェクトにジェクトのデータセット全体に対してただ一つの予測式を類似したプロジェクトが過去プロジェクト中に存在しない—1—

表 1 EbA 手法で用いるデータセット

M1

M2···

P1

V1,1V1,2· · · V1,j

Mj

· · · V1,y···

MyP2

V2,1V2,2· · · V2,j· · · V2,y·····················

Pi

Vi,1

Vi,2···

Vi,j···

Vi,y············Px

Vx,1Vx,2· · · Vx,j···0き，正規化したプロジェクト i のメトリクス j の値 Vi,jは式 (1) によって求められる．
0Vi,j=

手順 2Vi,j − min(Vj )max(Vj ) − min(Vj )

(1)

類似度計算

···

類似度計算では，予測プロジェクトと各過去プロジェク· · · Vx,yト間の類似度を計算する．類似度計算には EbA 手法でよく···用いられるユークリッド距離に基づいた類似度 [6] を採用し場合，その予測プロジェクトは高い精度で工数予測することができないという問題がある（以降，このような EbA 手法では高い精度が期待できない予測プロジェクトを「予測に適さないプロジェクト」と呼ぶ）．従来 EbA 手法を改善するために様々な研究が行われてきているが，予測手法そのものや，過去プロジェクトに焦点を当てた研究が大半であり，予測プロジェクトに焦点を当てた研究はほとんどない．
そこで本稿では，予測に適さないプロジェクトを判別する方法を提案する．提案手法では，各過去プロジェクトが予測プロジェクトを類似プロジェクトとして選択するかに基づいて，予測プロジェクトが高い精度での工数予測が期待できるか（適切かどうか）を判別する．本稿では，提案手法の有効性を調べるために，ソフトウェア開発企業で収集されたソフトウェア開発データを用いた評価実験についても報告する．評価実験では，提案手法による判別後に EbA手法で予測した場合と提案手法で判別せずに EbA 手法で予測した場合を比較し，予測精度の改善の程度を観察した．

た．ユークリッド距離の逆数を類似度として用いる．つまりユークリッド距離の値が小さいほど，類似度は大きくなる．
プロジェクト Pa とプロジェクト Pi の類似度 sim(Pa , Pi )は式 (2 ) で表される．

sim(Pa , Pi ) =1
dist(Pa , Pi )ここで，dist(Pa , Pi ) はプロジェクト Pa とプロジェクトPi のユークリッド距離であり，式 (3 ) で求められる．
v
uXu y00 2
dist(Pa , Pi ) = t (Va,j− Vi,j)
(3)
j=1

手順 3

予測値計算

予測値計算では，類似度が高い過去プロジェクトの工数の実測値から，予測プロジェクトの工数の予測値を計算する．予測値計算には EbA 手法でよく用いられる，WeightedSum [8] を用いた．工数のメトリクスを My とすると，予測プロジェクト Pa の工数の予測値 Vaˆ, y は式 (4) で求められる．

X

以降，2. では類似性に基づく工数予測手法について述べ，3. では提案手法について説明する．4. で実験方法，評価指(2)Mi,y × sim(Pa , Pi )i∈k−nearestP rojects
Vaˆ, y =X

標について述べた後，5. で実験の結果，結果に対する考察を述べる．最後に 6. で本稿のまとめを述べる．

(4)
sim(Pa , Pi )i∈k−nearestP rojects

ここで，k − nearestP rojects は，予測プロジェクト Pa

2. Estimation by Analogy 手法
EbA 手法は，プロジェクトの特性を表すメトリクス同士が類似しているプロジェクトは工数も互いに似た値をとると類似度の高い上位 k 個の過去プロジェクトの集合を表す．

k の値は実験的に別途求める必要がある.

3. 提 案 手 法であろうという仮定に基づいて予測を行う手法である．例
えば，予測プロジェクトの開発規模が小さい場合には，過去プロジェクトの中から開発規模が小さいプロジェクトを選出し，その過去プロジェクトの実績工数を基に予測プロ

本稿では，各過去プロジェクトが予測プロジェクトを類似プロジェクトとして選択するかという観点により，EbA
手法では高い精度が期待できない予測プロジェクト（予測ジェクトの工数を予測する．EbA 手法では表 1 の x × y 行に適さないプロジェクト）を判別する方法を提案する．提案列のように表されるデータセットを入力として用いる．Pi

手法では，予測に適さないプロジェクトの判別基準として，はプロジェクト i を，Mj はメトリクス j を，Vi,j はプロ

各過去プロジェクトが予測プロジェクトを類似プロジェク

ジェクト i のメトリクス j の値を表す．

トとして選択するかを用いる．具体的には，予測プロジェ

EbA 手法は 3 つの手順（正規化，類似度計算，予測値計算）から構成される．以下で各手順の詳細について述べる．
手順 1

メトリクスの正規化メトリクスの正規化は，データセットに記録されている値はメトリクスによって値域が大きく異なるので，予測に与える影響を各メトリクスで均等にするために行う．メト
リクス j の最大値を max(Vj )，最小値を min(Vj ) としたとクトとある過去プロジェクトとの類似度が，その過去プロジェクトとそれ以外の各過去プロジェクトとの類似度と比較し，設定された閾値よりも高い順位の場合，その過去プロジェクトは予測プロジェクトを類似プロジェクトとして選択したとする．そして，全ての過去プロジェクトから類似プロジェクトとして選択されなかった予測プロジェクトを予測に適さないプロジェクトと判別する．
提案手法は以下の手順で行われる．

—2—

表 2 実験に用いたデータセットの概要
メトリクス

平均値

中央値

開発期間（月）

11.3

10.0

開発チームの経験年数（年）

2.3

2.0

PM の経験年数（年）

2.6

3.0

トランザクション数

177.5

134.0

均値（MMAE），相対誤差平均値（MMRE），MER 平均値（MMER）の 3 種類を用いた．各評価指標の概要と式を以下に示す．予測プロジェクト数を N 件，工数の実測値と予測値をそれぞれ Xi ，X̂i (i=1〜N) としている．
絶対誤差平均値（MMAE） 実測値と予測値の絶対誤差の調整済みファンクションポイント

282.4

247.0

平均値である．数値が小さいほど予測精度が高いことをエンティティ数

120.5

96.0

示す．

開発総工数（人時）4833.93542.0

手順 1

予測プロジェクト Pa と過去プロジェクト Pi (1 <=i<= n) の類似度 sim(Pa , Pi ) をユークリッド距離に基づく類似度により式 (2) で算出する．

”
1 X“| Xi − X̂i |N i=1NM M AE =(5)相対誤差平均値（MMRE） 実測値と絶対誤差の比の平均値である．実測値と比べて誤差がどの程度であるかを表す．

を同様に式 (2) で算出する．

数値が小さいほど予測精度が高いことを示す．
!
N1 X M | Xi − X̂i |M M RE =N i=1Xi

手順 3 手順 1 で求めた類似度 sim(Pa , Pi ) を，手順 2 で求MER 平均値（MMER） 予測値と絶対誤差の比を表す指めた各類似度 sim(Pi , P1 )， sim(Pi , P2 )，· · ·，sim(Pi , Pn )標である MER [5] の平均値をとった値である．MER は予に含めて昇順でソートし，sim(Pa , Pi ) の順位 Ri を算出

測値と比べて誤差がどの程度の大きさであるかを評価するする．

指標であり，MMRE では値が 1 以下にしかならない，過小

手順 2

過去プロジェクト Pi と Pi 以外の過去プロジェクトとの類似度 sim(Pi , P1 )， sim(Pi , P2 )，· · ·，sim(Pi , Pn )手順 4

すべての過去プロジェクトに対して手順 1〜手順 3を行い，R1 〜Rn を求める．
手順 5

R1 〜Rn 中に，設定した閾値 t 以上の順位が含まれている場合，予測プロジェクト Pa は適切な予測プロジェクトと判別する．一方，R1 〜Rn 中に閾値 t 以上の順位が含まれていない場合，予測プロジェクト Pa は予測に適さないプロジェクトと判別する．

(6)

予測時に，値が大きくなる．
N1 X
M M ER =N i=1!
| Xi − X̂i |X̂i

(7)

4. 4 実 験 手 順
提案手法の予測に適さないプロジェクトの判別の効果を調べるために，以下の手順で実験を行った．
（ 1 ） データセットに含まれる 77 件のプロジェクトを，4. 評 価 実 験

10 回無作為に二分割し，38 件の過去プロジェクト（フィッ4. 1 実 験 目 的トデータ）と，39 件の予測プロジェクト（テストデータ）

提案手法において，予測に適さないプロジェクトの判別を作成する．の効果を調べるために，評価実験を行った．評価実験では，（ 2 ） (1) で作成した各フィットデータとテストデータの提案手法で予測に適切なプロジェクトと判別されたプロジェ

ペアにおいて，テストデータの各プロジェクトについて，クトを EbA 手法で予測した場合と，提案手法で判別せずにフィットデータを使って提案手法により判別する．このとEbA 手法で予測した場合を比較する．また，閾値 t の値をき，閾値 t を 1〜5 まで変化させて判別する．

変化させ，閾値 t の予測精度への影響の変化も確かめた．

（ 3 ） (2) で予測に適切なプロジェクトと判別されたプロ

4. 2 実験に用いたデータセット

ジェクトについて，EbA 手法を用いて工数予測を行い，予実験に用いたデータセットは，Desharnais [4] [7] によっ測値と実測値の誤差を計算し，各評価指標を求める．て収集されたカナダのソフトウェア開発企業における 1980

（ 4 ） (1) で作成したフィットデータとテストデータのペ年代のデータである．元のデータセットは 81 件のプロジェ

アに対して，提案手法で判別せず全予測プロジェクトにつクト， 12 種類のメトリクスが記録されており，5 個の欠いて EbA 手法を用いて工数予測を行い，各評価指標を求損値（記録されていない値）が含まれている．このデータ

め，提案手法で判別した場合との比較を行う．

から，EbA 手法で扱うことができない欠損値や，不必要な

なお，両者とも EbA 手法の k の値は，予備実験の結果メトリクス（“調整済みファンクションポイント” に対するk = 4 を採用した．

“未調整ファンクションポイント” と “調整係数”）を除去し5. 結果と考察た，プロジェクト 77 件，メトリクス 8 種類のデータセットを実験に用いた．実験に用いたデータセットの各メトリクスの名称，平均値，中央値を表 2 に示す．

提案手法で判別された予測に適切なプロジェクトについて EbA 手法で工数予測した場合と，判別せずに EbA 手法

4. 3 評 価 指 標で予測した場合の，各評価指標の値を図 1(a)，図 1(b)，図本稿では，判別の効果を評価する指標として絶対誤差平1(c) に示す．各グラフの横軸は閾値 t，縦軸は各評価指標の値を表す．

—3—表3

判別の予測精度への効果

MMAE MMRE MMER

 


提案手法（閾値 t=1）2205.30.83

0.47

EbA 手法2362.30.850.50

検証結果（閾値 t=1）2553.30.920.57













(a) 絶対誤差平均



















"!$#
図2

予測に適さないと判別されたプロジェクトの割合 
予測精度が向上している．一方，閾値 t が 3〜5 においては， EbA 手法よりも提案手法のほうが予測精度が悪くなっ ている．

MMER（図 1(c) ）の結果を見ると，閾値 t が 1 の時， 提 

案手法では EbA 手法よりも MMER が 0.03 小さくなってお

り，提案手法により予測精度が向上している．一方，閾値

t が 2〜5 においては，ほとんど差はみられない．
実験の結果，閾値 t が 1 の時，MMRE，MMER ともに予(b) 相対誤差平均

測精度が向上していることから，EbA 手法では過小予測してしまうプロジェクト，および，過大予測してしまうプロ

ジェクトとも提案手法によって予測に適切でないプロジェ クトとして判別されていると言える．一方で，閾値 t が 2 以上の時は提案手法で判別してもほとんど効果がなく，逆に MMRE では判別精度が悪化した場合もあった．従って，

 

予測プロジェクトを類似プロジェクトとするような過去プ 

ロジェクトが 1 つでもある場合には，EbA 手法によって高い精度で予測できる可能性が高いと言える．

 

閾値 t が 1 の時に提案手法で予測に適切でないプロジェクトと判別されたプロジェクトが本当に予測に適していないプロジェクトであるかを確かめるため，予測に適切でないと判別されたプロジェクトに対して EbA 手法を用いて工(c) MER 平均数予測を行った（検証結果）．その結果を表 3 に示す．比較対象として提案手法と EbA 手法の結果も示している．

図 1 各評価指標

MMAE（図 1(a) ）の結果を見ると，閾値 t が 1 の時，提案手法では EbA 手法よりも，MMAE が 157 小さくなっており，提案手法により予測精度が向上している．一方，閾
値 t が 2〜5 においては，ほとんど差はみられない．

MMRE（図 1(b) ）の結果を見ると，閾値 t が 1 および 2の時， 提案手法では EbA 手法よりも MMRE がそれぞれ，0.025，および， 0.014 小さくなっており，提案手法により

表 3 より，予測に適切でないと判別したプロジェクトの予測精度は，提案手法により改善した精度以上に EbA 手法よりも悪化している．また，MMRE，MMER ともに悪化している．従って，提案手法では，実際に EbA では高い精度で予測できないプロジェクトを予測に適切でないプロジェクトと判別できていると言える．
図 2 に，閾値 t ごとの提案手法で予測に適切でないプロジェクトと判別されたプロジェクトの割合（10 回の平均値）を示す．グラフの横軸は閾値 t を，縦軸は判別されたプロ—4—ジェクトの割合（母数 39 件）を示す．
図 2 より，提案手法は，予測精度が向上した閾値 t が 1の時，37.1% （39 件のうち約 14.5 プロジェクト）と非常に多くのプロジェクトを予測に適さないプロジェクトと判別している．また，閾値 t と予測に適さないと判別されたプロジェクトの割合はほぼ反比例している．提案手法で予測に適さないと判別したプロジェクトは，EbA 手法では，高い精度での予測が期待できないプロジェクトではあるが，EbA 手法以外の工数予測手法を用いて工数予測することで高い精度で工数予測できる可能性がある．従って，これらの予測に適さないと判別されたプロジェクトについても，予測しないのではなく，何らかの方法で高い精度で予測することを今後検討する必要がある．
本稿の提案した手法は，まだ簡易な手法であり，評価実験において予測精度の改善はそれほど大きくは見れらなかった．提案手法を改良することで更なる予測精度の改善が見込めると考えられる．例えば，互いに非常に類似したプロジェクトが固まっていると，それらのプロジェクトでは，ある程度類似している予測プロジェクトであっても，類似プロジェクトとは選択しないため，その予測プロジェ
クトは予測に適さないプロジェクトと判別される可能性が高い．一方，過去プロジェクトの中でも特異なプロジェク
トで，他の過去プロジェクトとの類似度が低いプロジェク
トは，あまり類似していない予測プロジェクトであっても類似プロジェクトとして選択してしまい，過去プロジェク
トとあまり類似していない予測プロジェクトが予測に適切

研究 (C)(課題番号:20500033) の研究助成を受けて行われた．
文

献[1] A. Albrecht, and J. Gaffney, “Software function, source lines ofcode, and development effort prediction,” IEEE Transactions on
Software Engineering, vol.9, no.6, pp.83-92, 1979.
[2] B.W. Boehm, Software Engineering Economics, Prentice Hall,New Jersey, 1981.
[3] S.D.Conte, H. E.Dunsmore, and V.Y. Shen, “Software engineering metrics and models,” The Benjamin/Cummings Publishing
Company, Inc., 1986.
[4] J.M. Desharnais, “Analyse statistique de la productivitie desprojets informatique a partie de la technique des point des function,” Masters Thesis, University of Montreal, 1989.
[5] T. Foss, E. Stensrud, B. Kitchenham, and I. Myrtveit, “A simulation study of the model evaluation criterion MMRE, ” IEEE
Transactions on Software Engineering, vol.29, no.11, pp.985995, 2003.
[6] C. Kirsopp, E. Mendes, R. Premraj, and M.J. Shepperd, “An empirical analysis of linear adaptation techniques for case-based
prediction,” Proceedings of 5th International Conference onCase-Based Reasoning(ICCBR2003), pp.231-245, 2003.
[7] C. Mair, G. Kadoda, M. Lefley, K. Phalp, C. Schofield, M.
Sheppred, and S. Webster, “An investigation of machine learning based prediction systems,” Journal of Systems and Software,Vol.53, Issue 1, pp.23-29, 2000.
[8] B.M. Sarwar, G. Karypis, J.A. Konstan, and J. Riedl, “Itembased collaborative filtering recommendation algorithms,” In
Proceedings of 10th International World Wide Web Conference,
pp.285-295, 2001.
[9] M. Shepperd, and C. Schofield, “Estimating software project effort using analogies,” IEEE Transactions on Software Engineering, vol.23, no.12, pp.736-743, 1997.
[10] 角田雅照，大杉直樹，門田暁人，松本健一，佐藤慎一，“協調フィルタリングを用いたソフトウェア開発工数予測方法,”
情報処理学会論文誌, vol.46, no.5, pp.1156-1164, 2005.

なプロジェクトと判別される可能性がある．このような問題は，閾値を順序だけでなく，類似度の値もある程度考慮することで軽減することが可能であると考えられるため，閾値について更なる改良が必要であると言える．

6. ま と め
本稿では，ソフトウェア開発プロジェクトにおける工数予測手法の 1 つである類似性に基づく工数予測（EbA）手法において，高い精度での工数予測が期待できない予測プロジェクト（予測に適さないプロジェクト）を判別する方法を提案した．
，ソフトウェア開発企業で収集されたデータセットを用いた評価実験の結果，判別手法を用いることで，判別手法を用いない場合よりも MMAE，MMRE，MMERの全ての評価指標において予測精度の向上がみられ，予測に適さないプロジェクトを判別できていることを確認した．
今後の課題としては，提案手法を改良することで更なる予測精度の改善を目指すこと，EbA 手法で予測に適さないと判別したプロジェクトを，EbA 手法以外の工数予測手法で予測することを検討することが挙げられる．
謝辞
本研究で利用した予測エンジンの作者である大杉直樹氏，角田雅照氏に，深く感謝致します．本研究の一部は，文部科学省「次世代 IT 基盤構築のための研究開発」の委託に基づいて行われた．また，文部科学省科学研究費補助金基盤—5—