協調フィルタリングを用いた プロジェクトコスト超過の予測 奈良先端科学技術大学院大学 情報科学研究科 ○本村拓也 柿元健 角田雅照 大杉直樹 門田暁人 松本健一 IEICE SS2005-39 (2005-08) 開発プロジェクトのコスト超過 • 開発プロジェクトのコスト超過が問題となっている – コスト超過は利益率を低下させる – 大規模プロジェクトでコスト超過が起これば,小規模プロ ジェクトで得た利益が容易に損なわれる • 02年度に全米で実施された調査の結果,プロジェクトあたりの, 実施コストに対する超過コストの割合は平均43%であった[1] [1] The Standish Group International, Inc., “2003 CHAOS Chronicles Report,” 2003. コスト超過の予測方法と問題点 • 過去,及び,現行プロジェクトの,定量化したリスク 要因を根拠に用いて予測を行う[2] – リスク要因 • プロジェクトに含まれる,コストへの影響を持つと考えられる要因 (例:機能要求の明確さ,顧客との関係 ) • 定性的に一定段階の数値などで評価され,定量化される • 予測の根拠となるリスク要因の評価値が記録され ず穴あきの値(欠損値)となる場合が多く存在する – 部署やプロジェクト間の,定義されたリスク要因の差異 – 評価担当者による評価忘れ – 従来手法である線形判別分析では,欠損値が多くなると (40%以上),予測精度が著しく低下する[3] [2] Project Management Institute, A Guide to the Project Management Body of Knowledge 2000 Edition, Project Management Institute, 2000. [3] trike, K., El Eman, K., and Madhavji, N.: Software Cost Estimation with Incomplete Data. IEEE Trans. on Soft. Eng., vol.27, no.10, pp.890-908 (2001). 目的とアプローチ • 目的 – 計測データに欠損値が多い場合でも,コストが超過する プロジェクトを高い精度で判別する手法を提案する • アプローチ – コスト超過プロジェクトの判別に協調フィルタリング(CF)を 適用する • 欠損値による予測精度への影響が小さい[4] – 判別の精度を実験により評価する • 企業で行われたプロジェクトで収集された,リスク評価値のデータ を用いる • 評価のために,線形判別分析を比較対象とする – 線形判別分析を行うには,欠損値の処理作業が必要である [4] 角田雅照, 大杉直樹, 門田暁人, 松本健一, 佐藤慎一, “協調フィルタリングを用いたソフトウェア開発工数予測方法,” 情報処理学会 論文誌, Vol.46, No.5, pp.1155-1164, 2005. 協調フィルタリング • 協調:複数のユーザの知識を利用して • フィルタリング:大量のアイテムの中から,役立つア イテムだけを選び出す(推薦する) F が良い! K が好き! F ? user Y A B C D E F G H I J K L M N O P Q R S T K ? user X user Z 好みの傾向が類似したユーザ 大量のアイテム 協調フィルタリング (応用例:Amazon.co.jpの書籍推薦システム) 1. 各ユーザが,読んだ本を 5 段階で評価する 2. 好みの傾向が似たユーザが高く評価した本を推薦 コスト超過予測へのCFの応用 (予測に用いるデータ) • プロジェクトの定量的なリスク評価と,コスト超過の 評価値データ – 各リスク要因の評価値 : 0 (危険無) ~ 3 (危険高) – コスト超過の評価値 : 0 (良),1(不良) • 不良:コスト超過の度合が社内規定において許容範囲外だった 予測対象 プロジェクト プロジェクト A プロジェクト B プロジェクト C リスク 書籍 1 要因 1 0 リスク 書籍 2 要因 2 1 リスク 書籍 3 要因 3 3 リスク コスト超過 書籍 4 書籍 5 要因 4 評価値 3 ? (危険無) (危険低) (危険高) (危険高) (不明) 0 ? 3 3 1 (危険無) (欠損値) (危険高) (危険高) (不良) 0 2 ? 3 1 (危険無) (危険中) (欠損値) (危険高) (不良) ? 3 0 0 0 (欠損値) (危険高) (危険無) (危険無) (良) コスト超過予測へのCFの応用 (ユーザベースCF) 1. 類似度計算:予測対象プロジェクトと他プロジェクト間の類似度 を求める 2. 予測値計算:類似度の高い 上位k 件のプロジェクトの評価値を 類似度で加重平均し,コスト超過評価値の予測値を算出する 予測対象 プロジェクト プロジェクト A プロジェクト B プロジェクト C リスク 要因 1 0 リスク 要因 2 1 リスク 要因 3 3 (危険無) (危険低) (危険高) (危険高) (不良) (不明) 0 ? 3 3 1 (危険無) (欠損値) (危険高) (危険高) (不良) 0 2 ? 3 1 (危険無) (危険中) (欠損値) (危険高) (不良) ? 3 0 0 0 (欠損値) (危険高) (危険無) (危険無) (良) リスク コスト超過 要因 4 評価値 3 ? 0.92 予測する 類似度: 1.00 類似度: 0.92 類似度:–0.97 コスト超過予測へのCFの応用 (アイテムベースCF) 1. 類似度計算:コスト超過評価値とリスク要因間の類似度を求める 2. 予測値計算:類似度の高い上位k 件のリスク要因の評価値を類 似度で加重平均し,コスト超過評価値の予測値を算出する 予測対象 プロジェクト プロジェクト A プロジェクト B プロジェクト C 類似度 0.37 リスク 要因 1 0 類似度 0.30 リスク 要因 2 1 類似度 0.43 リスク 要因 3 3 類似度 予測する 0.45 リスク コスト超過 要因 4 評価値 3 ? 0.73 (危険無) (危険低) (危険高) (危険高) (不良) (不明) 0 ? 3 3 1 (危険無) (欠損値) (危険高) (危険高) (不良) 0 2 ? 3 1 (危険無) (危険中) (欠損値) (危険高) (不良) ? 3 0 0 0 (欠損値) (危険高) (危険無) (危険無) (良) 実験(概要) • 目的 – CFを用いたコスト超過予測が,従来手法である線形判別分 析と比べて,有効となり得るか否か明らかにする • 3種類の方法を用いて予測を行い,精度を比較した. – ユーザーベースCF (類似度計算:Cosine-similarity) – アイテムベースCF (類似度計算:Pearson-similarity) – 線形判別分析 • 複数の変数(リスク評価値)に基づいて一次の判別関数を作成し, サンプルデータ(プロジェクト)が2つの群(良:不良)のどちらに属 すかを判別する手法 – 欠損値処理を行う必要がある (今回は,平均値挿入法を用いた) – ステップワイズ法による変数選択を適用 用いたデータ • ある企業において過去に行われたプロジェクトで作成され たリスク要因の評価データ – 実施時期や規模,形態が異なる全45件のプロジェクト – 199のリスク要因が含まれた – 多量の欠損値が含まれた 各フェーズ別のリスク要因欠損率 平均非欠損率 平均欠損率 0.00% 25.00% 基本 提案時要求関係 提案時見積関係 受注時要求関係 50.00% 75.00% 100.00% 100.00% 47.68% 36.39% 69.39% 0.00% 52.32% 63.61% 30.61% 受注時見積関係 54.43% 45.57% 受注時契約関係 56.30% 43.70% 全項目 57.72% 42.28% 手順 1. 2. 3. 4. 5. 実験データを2等分し,フィットデータとテストデータを作成する 予測対象プロジェクトを決定し,コスト超過の評価値を隠蔽する. 隠蔽した評価値を予測する 予測値を閾値で二値化しコスト超過(不良)プロジェクトを判別 2~4をテストデータの全プロジェクトで行い,精度を評価した 予測対象 プロジェクト プロジェクト A プロジェクト B プロジェクト C リスク 要因 1 0 リスク 要因 2 2 (危険無) (危険中) 0 ? リスク 要因 3 3 リスク コスト超過 要因 4 評価値 予測値 ? 1 3 予測する (不良) (危険高) (危険高) (予測対象) 0.89 3二値に変換 3 1 類似度:1.0 (閾値:0.5) (危険高) (危険無) (欠損値) (興味大) 比較(評価) (不良) 0 2 (危険無) (危険中) (不良) ? 3 (欠損値) (危険高) ? 予測値 3 (欠損値) 1(危険高) 0 0 (危険無) (危険無) 1 0 (良) 類似度:0.98 類似度:–0.97 精度評価指標 • 適合率 – 不良”1”と判別されたプロジェクト(Nr件)のうち,実際に不 良”1” だったプロジェクト(Na件)の割合 • 再現率 Na 適合率= Nr – 実際に不良”1”だったプロジェクト(Nu件)のうち,不良”1” と判別されたプロジェクト(Nr件)の割合 Nr 再現率= Nu • 適合率と再現率はトレードオフの関係にある 例:予測値の閾値を極端に低く設定すると, 不良プロジェクトが極端に増え,再現率は高くなるが,適合率は低くなる 精度評価指標 • F1値 [5] – 適合率と再現率を1つの値で表現する指標 2 再現率 適合率 F1値 再現率 適合率 • F1値が大きいほど,予測精度が高いことを表す [5] J. Herlocker, J.A. Konstan, L.G. Terveen, and J.T. Riedl, “Evaluating collaborative filtering recommender systems,” ACM Trans. on Information Systems, Vol.22, No.1, pp.5-53, 2004. 結果 • ユーザベースCFによる予測から,最も高い精度が 得られた – ユーザベースCFを用いたプロジェクトのコスト超過予測 の有効性が確認できた • アイテムベースによる予測では,特に再現率におい て線形判別分析と比較して高い精度が得られた ケーススタディの結果:各評価基準の値 適合率 再現率 F1値 ユーザベースCF 0.73 1.00 0.84 アイテムベースCF 0.59 0.91 0.71 線形判別分析 0.62 0.73 0.67 考察 • CFの精度に関して – 実験に用いたデータの欠損値が非常に多い(平均欠損率 40%以上)ので,線形判別分析よりもCFの精度が高く なったと考えられる • ユーザベースCFの精度が非常に高かったという結 果から – リスク評価の観点から,不良プロジェクトと似たプロジェク トは,不良プロジェクトになる可能性が高いということが, 実験に用いたデータの上では定量的に裏付けられた ケーススタディの結果:各評価基準の値 適合率 再現率 F1値 ユーザベースCF 0.73 1.00 0.84 アイテムベースCF 0.59 0.91 0.71 線形判別分析 0.62 0.73 0.67 課題 • プロジェクトのフェーズの推移と予測精度の変化の 関係を明らかにする – 異なるフェーズで予測を行い,精度を比較する • CFで変数選択を行う – 線形判別分析では変数選択法を適用している – 変数選択を行いコスト評価値への影響が低いリスク項目 を特定し,特定した項目を除去した上で予測(CF)を行う • 予測結果の一般性を高める – より多数,かつ,多様なプロジェクトが含まれるデータセッ トを用いての予測実験と評価を行う 協調フィルタリングを用いた プロジェクトコスト超過の予測 奈良先端科学技術大学院大学 情報科学研究科 ○本村拓也 柿元健 角田雅照 大杉直樹 門田暁人 松本健一 IEICE SS2005-39 (2005-08)
© Copyright 2024 ExpyDoc