(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022164392
(43)【公開日】2022-10-27
(54)【発明の名称】推移予測装置、推移予測方法、および、推移予測プログラム
(51)【国際特許分類】
G06Q 10/06 20120101AFI20221020BHJP
【FI】
G06Q10/06 300
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021069855
(22)【出願日】2021-04-16
(71)【出願人】
【識別番号】394013002
【氏名又は名称】三菱電機インフォメーションシステムズ株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】白浜 広彬
(72)【発明者】
【氏名】鶴田 季丸
(72)【発明者】
【氏名】中村 伊知郎
(72)【発明者】
【氏名】江上 侑希
(72)【発明者】
【氏名】吉田 賢吾
(72)【発明者】
【氏名】高橋 幸則
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA09
(57)【要約】
【課題】遂行中のプロジェクトにおけるデータ推移から、プロジェクトの特性および推移の傾向を考慮した高精度な推移予測を自動的に実施することを目的とする。
【解決手段】推移予測装置100では、学習部110が、完了済のプロジェクトにおけるデータ推移51をクラスタに分類した分類結果52と、完了済のプロジェクトのプロジェクト特性511とを用いて機械学習することにより、推移予測モデル53を生成する。パターン推定部120が、予測対象推移54に類似するクラスタに含まれるデータ推移と予測対象特性55とを用いて、推移予測モデル53により推移パターン56を推定する。そして、パターン予測部140が、推移パターン56と、類似抽出部130により抽出された類似推移59とに基づいて、推移予測結果58を予測する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
完了済のプロジェクトにおけるプロジェクトデータのデータ推移をクラスタに分類した分類結果と前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを用いて機械学習することにより、前記プロジェクトデータのデータ推移の予測に用いる推移予測モデルを生成する学習部と、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移に基づいて、前記クラスタに含まれるデータ推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを用いて、前記推移予測モデルにより前記予測対象推移における将来の推移を推移パターンとして推定するパターン推定部と、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出する類似抽出部と、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測するパターン予測部と
を備えた推移予測装置。
【請求項2】
前記パターン推定部は、
前記クラスタに含まれるデータ推移から前記クラスタの代表推移を算出し、前記代表推移と前記予測対象推移との類似確率を計算し、前記類似確率と前記予測対象特性とを特徴量として、前記推移予測モデルにより前記推移パターンを推定する請求項1に記載の推移予測装置。
【請求項3】
前記類似抽出部は、
前記予測対象推移の現時点が前記予測対象のプロジェクトの開始時点に近いほど多くの数の前記類似推移を抽出する請求項1または請求項2に記載の推移予測装置。
【請求項4】
前記推移予測装置は、
前記予測対象推移のデータ時点と抽出する前記類似推移の数とを対応付けた類似抽出数情報を備え、
前記類似抽出部は、
前記類似抽出数情報に基づいて、前記類似推移を抽出する請求項3に記載の推移予測装置。
【請求項5】
前記学習部は、
前記データ推移を分類する前に、前記プロジェクトの開始時点から終了時点までのプロジェクト期間におけるデータの実績値の数が、予め定められた基準数となるように推移を補間する補間処理を前記データ推移に対して実施する請求項1から請求項4のいずれか1項に記載の推移予測装置。
【請求項6】
前記学習部は、
前記データ推移を分類する前に、推移のデータの大きさを前後のデータの勾配に変換する変換処理を前記データ推移に対して実施する請求項5に記載の推移予測装置。
【請求項7】
前記学習部は、
前記補間処理を実施した後の前記データ推移に対して前記変換処理を実施する請求項6に記載の推移予測装置。
【請求項8】
前記パターン推定部は、
前記類似するクラスタを選択する前に、前記補間処理を実施した後の前記予測対象推移に対して前記変換処理を実施する請求項6または請求項7に記載の推移予測装置。
【請求項9】
完了済のプロジェクトにおけるプロジェクトデータのデータ推移をクラスタに分類した分類結果と前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを用いて機械学習することにより、前記プロジェクトデータのデータ推移の予測に用いる推移予測モデルを生成し、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移に基づいて、前記クラスタに含まれるデータ推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを用いて、前記推移予測モデルにより前記予測対象推移における将来の推移を推移パターンとして推定し、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出し、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測する推移予測方法。
【請求項10】
完了済のプロジェクトにおけるプロジェクトデータのデータ推移をクラスタに分類した分類結果と前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを用いて機械学習することにより、前記プロジェクトデータのデータ推移の予測に用いる推移予測モデルを生成する学習処理と、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移に基づいて、前記クラスタに含まれるデータ推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを用いて、前記推移予測モデルにより前記予測対象推移における将来の推移を推移パターンとして推定するパターン推定処理と、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出する類似抽出処理と、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測するパターン予測処理と
をコンピュータに実行させる推移予測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、推移予測装置、推移予測方法、および、推移予測プログラムに関する。特に、遂行中のプロジェクトにおける将来のデータ推移を予測する推移予測装置、推移予測方法、および、推移予測プログラムに関する。
【背景技術】
【0002】
従来、プロジェクトにかかる最終コストを予測する方法として、遂行中のある時点において発生しているコストから最終コストを予測する方法がある。例えば、材料費あるいは人件費といった項目ごとにコストを予測し、予測した項目ごとのコストを加算することでプロジェクト全体における最終コストを予測する方法がある。この方法では、各項目において今後発生するコストを、進捗に基づいて予測している。そのため、作業の進捗と相関のない項目については、今後発生するコストを正確に予測することはできない。
【0003】
特許文献1には、コスト発生推移パターンを用いて項目別にコストを予測する発想が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、コスト発生推移パターンは項目別に用意されており、人手によりコスト発生推移パターンを推測して設定しなければならないという課題がある。
また、コスト推移を予測するために、全プロジェクトのデータをそのまま機械学習させた場合、全体の平均となる推移または該当件数が多いパターンを参考に予測するため、プロジェクトの開発形態あるいはコスト推移の傾向を考慮した予測ができないという課題がある。
また、プロジェクト序盤では、将来のコスト推移の変化が様々なパターンをとる可能性があり、プロジェクト序盤では予測を間違えやすい傾向にあるという課題もある。
【0006】
本開示では、遂行中のプロジェクトにおけるデータ推移から、プロジェクトの特性および推移の傾向を考慮した高精度な推移予測を自動的に実施することを目的とする。
【課題を解決するための手段】
【0007】
本開示に係る推移予測装置は、
完了済のプロジェクトにおけるプロジェクトデータのデータ推移をクラスタに分類した分類結果と前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを用いて機械学習することにより、前記プロジェクトデータのデータ推移の予測に用いる推移予測モデルを生成する学習部と、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移に基づいて、前記クラスタに含まれるデータ推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを用いて、前記推移予測モデルにより前記予測対象推移における将来の推移を推移パターンとして推定するパターン推定部と、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出する類似抽出部と、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測するパターン予測部とを備える。
【0008】
前記パターン推定部は、
前記クラスタに含まれるデータ推移から前記クラスタの代表推移を算出し、前記代表推移と前記予測対象推移との類似確率を計算し、前記類似確率と前記予測対象特性とを特徴量として、前記推移予測モデルにより前記推移パターンを推定する。
【0009】
前記類似抽出部は、
前記予測対象推移の現時点が前記予測対象のプロジェクトの開始時点に近いほど多くの数の前記類似推移を抽出する。
【0010】
前記推移予測装置は、
前記予測対象推移のデータ時点と抽出する前記類似推移の数とを対応付けた類似抽出数情報を備え、
前記類似抽出部は、
前記類似抽出数情報に基づいて、前記類似推移を抽出する。
【0011】
前記学習部は、
前記データ推移を分類する前に、前記プロジェクトの開始時点から終了時点までのプロジェクト期間におけるデータの実績値の数が、予め定められた基準数となるように推移を補間する補間処理を前記データ推移に対して実施する。
【0012】
前記学習部は、
前記データ推移を分類する前に、推移のデータの大きさを前後のデータの勾配に変換する変換処理を前記データ推移に対して実施する。
【0013】
前記学習部は、
前記補間処理を実施した後の前記データ推移に対して前記変換処理を実施する。
【0014】
前記パターン推定部は、
前記類似するクラスタを選択する前に、前記補間処理を実施した後の前記予測対象推移に対して前記変換処理を実施する。
【0015】
本開示に係る推移予測方法は、
完了済のプロジェクトにおけるプロジェクトデータのデータ推移をクラスタに分類した分類結果と前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを用いて機械学習することにより、前記プロジェクトデータのデータ推移の予測に用いる推移予測モデルを生成し、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移に基づいて、前記クラスタに含まれるデータ推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを用いて、前記推移予測モデルにより前記予測対象推移における将来の推移を推移パターンとして推定し、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出し、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測する。
【0016】
本開示に係る推移予測プログラムは、
完了済のプロジェクトにおけるプロジェクトデータのデータ推移をクラスタに分類した分類結果と前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを用いて機械学習することにより、前記プロジェクトデータのデータ推移の予測に用いる推移予測モデルを生成する学習処理と、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移に基づいて、前記クラスタに含まれるデータ推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを用いて、前記推移予測モデルにより前記予測対象推移における将来の推移を推移パターンとして推定するパターン推定処理と、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出する類似抽出処理と、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測するパターン予測処理と
をコンピュータに実行させる。
【発明の効果】
【0017】
本開示に係る推移予測装置では、学習部が、完了済のプロジェクトにおけるデータ推移をクラスタに分類した分類結果と、完了済のプロジェクトのプロジェクト特性とを用いて機械学習することにより、推移予測モデルを生成する。パターン推定部が、予測対象推移に類似するクラスタに含まれるデータ推移と予測対象特性とを用いて、推移予測モデルにより予測対象推移の推移パターンを推定する。そして、パターン予測部が、推移パターンと、選択されたクラスタから抽出した類似推移とに基づいて、予測対象推移における将来の推移を推移予測結果として予測する。よって、本開示に係る推移予測装置によれば、遂行中のプロジェクトにおけるデータ推移から、プロジェクトの特性および推移の傾向を考慮した推移予測を実施することができるという効果を奏する。
【図面の簡単な説明】
【0018】
【
図1】実施の形態1に係る推移予測装置の構成例を示す図。
【
図2】実施の形態1に係る推移予測装置の全体処理の例を示す模式図。
【
図3】実施の形態1に係る推移予測装置の学習処理の例を示すフロー図。
【
図4】実施の形態1に係る補間処理の例1および例2を示す図。
【
図6】実施の形態1に係る補間処理→変換処理の順番で処理する理由を示す図。
【
図7】実施の形態1に係る推移予測装置による予測処理の例を示すフロー図。
【
図8】実施の形態1に係る類似抽出数情報の例を示す図。
【
図9】実施の形態1の変形例に係る推移予測装置の構成例。
【発明を実施するための形態】
【0019】
以下、本開示の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【0020】
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る推移予測装置100の構成例を示す図である。
推移予測装置100は、完了済のプロジェクトにおけるプロジェクトデータのデータ推移51と、完了済のプロジェクトの各々の特性を表すプロジェクト特性511とを用いて機械学習することにより、推移予測モデル53を生成する。推移予測モデル53は、プロジェクトにおけるデータ推移の予測に用いられる。
また、推移予測装置100は、遂行中のプロジェクトのプロジェクトデータのデータ推移を予測対象推移54とし、そのプロジェクトの特性を表すプロジェクト特性を予測対象特性55として、推移予測モデル53等を用いて予測対象推移54の将来の推移を予測する。
ここで、データ推移とは、例えば、データの推移を表すグラフ形状で表される。
【0021】
プロジェクトデータの例として、プロジェクトにおける各種のコストが想定される。また、プロジェクト特性の例として、プロジェクト区分、プロジェクトの業種、あるいは、システム開発、パッケージソフトを利用した開発、基盤構築、およびネットワーク構築といった開発形態といった特性が想定される。
【0022】
推移予測装置100は、コンピュータである。推移予測装置100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0023】
推移予測装置100は、機能要素として、学習部110とパターン推定部120と類似抽出部130とパターン予測部140と記憶部150を備える。記憶部150には、データ推移51、プロジェクト特性511、分類結果52、推移予測モデル53、予測対象推移54、予測対象特性55、推移パターン56、類似抽出数情報57、および推移予測結果58といった情報が記憶される。
【0024】
学習部110とパターン推定部120と類似抽出部130とパターン予測部140の機能は、ソフトウェアにより実現される。
記憶部150は、メモリ921に備えられる。なお、記憶部150は、補助記憶装置922に備えられていてもよいし、メモリ921と補助記憶装置922に分散して備えられていてもよい。
【0025】
プロセッサ910は、推移予測プログラムを実行する装置である。推移予測プログラムは、学習部110とパターン推定部120と類似抽出部130とパターン予測部140の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
【0026】
メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
【0027】
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
【0028】
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
推移予測装置100は、入力インタフェース930を介して、データ推移51、プロジェクト特性511、予測対象推移54、および、予測対象特性55といった情報を取得してもよい。
【0029】
出力インタフェース940は、ディスプレイといった表示機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
推移予測装置100は、出力インタフェース940を介して、分類結果52、推移予測モデル53、推移パターン56、および、推移予測結果58といった情報を出力してもよい。
【0030】
通信装置950は、ネットワークを介して他の装置と通信する。通信装置950は、レシーバとトランスミッタを有する。通信装置950は、有線または無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。
推移予測装置100は、通信装置950を介して、データ推移51、プロジェクト特性511、予測対象推移54、および、予測対象特性55といった情報を受信してもよい。また、推移予測装置100は、通信装置950を介して、分類結果52、推移予測モデル53、推移パターン56、および、推移予測結果58といった情報を他の装置へ送信してもよい。
【0031】
推移予測プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、推移予測プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、推移予測プログラムを実行する。推移予測プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されている推移予測プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、推移予測プログラムの一部または全部がOSに組み込まれていてもよい。
【0032】
推移予測装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、推移予測プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、推移予測プログラムを実行する装置である。
【0033】
推移予測プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
【0034】
学習部110とパターン推定部120と類似抽出部130とパターン予測部140の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。推移予測プログラムは、学習処理とパターン推定処理と類似抽出処理とパターン予測処理を、コンピュータに実行させる。また、推移予測方法は、推移予測装置100が推移予測プログラムを実行することにより行われる方法である。
推移予測プログラムは、コンピュータが読み取り可能な記録媒体に格納されて提供されてもよい。また、推移予測プログラムは、プログラムプロダクトとして提供されてもよい。
【0035】
***動作の説明***
以下、
図2から
図8を使って、本実施の形態に係る推移予測装置100の動作について説明する。
推移予測装置100の動作手順は、推移予測方法および推移予測処理に相当する。また、推移予測装置100の動作を実現するプログラムは、推移予測プログラムに相当する。
【0036】
図2は、本実施の形態に係る推移予測装置100の推移予測処理の例を示す模式図である。
推移予測処理は、学習処理と予測処理から構成される。
学習処理では、完了済のプロジェクトにおけるデータ推移51をクラスタに分類し、分類した結果である分類結果52とプロジェクト特性511とを用いて機械学習することにより、推移予測モデル53を生成する。推移予測モデル53は、ランダムフォレスト手法等によって、学習され生成される。
予測処理では、推移予測モデル53と、予測対象推移54に類似するクラスタとを使って、予測対象推移54の将来の推移を予測する。
なお、クラスタはグループともいう。
【0037】
図3は、本実施の形態に係る推移予測装置100の学習処理の例を示すフロー図である。
<学習処理>
学習部110は、完了済のプロジェクトにおけるデータ推移51をクラスタに分類する。そして、学習部110は、クラスタに分類した分類結果52と完了済のプロジェクトの各々の特性を表すプロジェクト特性511とを用いて機械学習することにより、プロジェクトにおけるデータ推移の予測に用いる推移予測モデル53を生成する。
学習処理は、データ取得処理と補間処理と変換処理とクラスタリング処理を含む。
【0038】
<<データ取得処理>>
ステップS101において、学習部110は、完了済のプロジェクトのプロジェクトデータから、データ推移51と完了済のプロジェクトのプロジェクト特性511とを取り込む。
データ推移51とは、完了済のプロジェクトにおけるデータの実績値の推移をグラフで表したグラフ形状で表されている。完了済のプロジェクトにおけるデータの実績とは、例えば、完了済のプロジェクトにおけるコストの実績である。
図3では、データ推移51として、完了済プロジェクトの各々の原価実績の推移を取り込んでいる。プロジェクト特性511は、完了済のプロジェクトの各々のプロジェクト区分、開発形態、および、業種といった情報である。
なお、本実施の形態では、推移を予測するデータとしてコストを想定している。よって、データ推移およびデータの実績値を、コスト推移およびコストの実績値と称する場合がある。なお、推移を予測するデータはコスト以外のデータでも構わない。
【0039】
<<補間処理>>
ステップS102において、学習部110は、データ推移51を分類する前に、補間処理をデータ推移51の各々に対して実施する。
補間処理は、プロジェクトの開始時点から終了時点までのプロジェクト期間におけるデータの実績値の数が、予め定められた基準数となるように推移を補間する処理である。
【0040】
プロジェクトごとに開始時点から終了時点までのプロジェクト期間が異なるため、データ推移51におけるデータの実績値の数がプロジェクトによって異なる。そこでプロジェクト期間を正規化し対象となるプロジェクトのプロジェクト期間を合わせるのが、補間処理となる。また、コストのデータ推移51の場合、特に推移の傾向が重要となるため、対象となるプロジェクトの推移の時系列における同一時点の実績値を対応づける必要がある。そのため、各プロジェクトにおけるデータの実績値の数を同一にする必要がある。よって、各プロジェクトにおけるデータの実績値の数を同一にするデータ補間を行う補間処理を実施する。
【0041】
データ補間を行う上で、基準とする実績値の数を基準数として定義する。例えば、基準数を「12」と設定する。基準数として設定される「12」は、プロジェクト期間の平均件数に近く、また、プロジェクト期間が1年とした場合に毎月の実績値ととらえることができ、意味が理解しやすい数値として好ましい。
学習部110は、各プロジェクトのデータ推移51のデータの実績値の数が「12」となるように、データ推移51に対して補間処理を実施する。
なお、その他の数、例えば、5、20、あるいは24といった基準数を採用しても構わない。
【0042】
図4は、本実施の形態に係る補間処理の例1および例2を示す図である。
図4の例1では、線形補間を用いて、10件の実績値を5件に補間した例を示している。
図4の例2では、線形補間を用いて、10件の実績値を20件に補間した例を示している。
【0043】
各プロジェクトにおけるデータの実績値の数を基準数に揃えるためには、実際には計測されていない時点の値を用いる必要がある。計測されていない時点の値は、その前後の実測値の値をもとに補間する。補間には、例えば、「線形補間」を採用する。「線形補間」は、任意の値に対応する関数値を、既知の2点を通る線分で近似する方法である。
図4の例1および例2に示すように、本実施の形態では、任意の時点に対応するコスト推移の値を、2つの実測値を結んだ直線で近似する。
【0044】
<<変換処理>>
ステップS103において、学習部110は、データ推移51を分類する前に、推移のデータの大きさを前後のデータの勾配に変換する変換処理をデータ推移51に対して実施する。特に、学習部110は、補間処理を実施した後のデータ推移51に対して変換処理を実施することが好ましい。
上述した補間処理ではプロジェクト期間の正規化を行ったが、変換処理ではデータの推移に関する正規化を行う。
【0045】
コストのデータ推移51をそのまま分類すると、コストの変化の度合いではなくコストの実績値が近いもので分類される虞がある。
コストの実績値は、プロジェクトの規模等により異なるため、コストの実績値の大きさの推移ではなく、変化の度合いによる分類を行うことが好ましい。このため、各データの実績値を勾配に変換する変換処理を実施する。
【0046】
図5は、本実施の形態に係る変換処理の例を示す図である。
変換対象の時系列データをq=(q
1,q
2,・・・,q
n)(nは3以上の自然数)とすると、勾配の変換には、下記の数1の式を用いる。なお、下記の数1の式は時系列データのクラスタリング手法で有用とされるDDTW(Derivative Dynamic Time Warping)法に用いられる変換式である。i時点を変換対象の時点とすると、Dq
iは、1時点前(i-1時点)と2時点前(i-2時点)のデータの推移の勾配と、現時点(i時点)と2時点前(i-2時点)のデータの推移の勾配の平均値を表す。
【数1】
【0047】
図6は、本実施の形態に係る補間処理→変換処理の順番で処理する理由を示す図である。上述したように、データ推移に対して補間処理を実施した後に変換処理を実施し、その後データ推移を分類することが好ましい。
【0048】
同一のグラフ形状をしたデータ推移であっても、データの実績値の数(あるいは、プロジェクト期間の長短)により、勾配変換後のグラフ形状が異なってしまう。グラフ形状が異なってしまうと、元が同一のグラフ形状を有するデータ推移であっても類似形状の波形に分類できなくなる。
【0049】
図6の上段の表では、比較例として変換処理→補間処理の順番で処理する例を示している。上段の表では、17件の実績値の波形データと5件の実績値の波形データは略同一形状である。しかし、同一形状の波形データであっても報告年月の件数(実績値の数)の多寡により、勾配変換後の形状が異なってしまう。このように、勾配変換後にグラフ形状が異なってしまうので、その後にデータ補間をした場合に異なるグラフ形状となってしまう。
【0050】
図6の下段の表では、本実施の形態で説明したように、補間処理→変換処理の順番で処理する例を示している。
17件の実績値の波形データと5件の実績値の波形データは同一形状であり、データ補間をした後であっても略同一形状のままである。よって、勾配変換をした後も略同一形状となり、17件の実績値の波形データと5件の実績値の波形データは、正しく類似形状の波形に分類される。
このように、まず、観測点の個数を揃えるためにデータ補間を行い、その後、勾配変換を行うことが好ましい。
【0051】
<<クラスタリング処理>>
ステップS104において、学習部110は、データ推移51をクラスタに分類し、分類結果52を記憶部150に記憶する。つまり、分類結果52には、各々が類似するデータ推移51を含む複数のクラスタが含まれる。具体的には、学習部110は、コサイン距離でデータの類似性を判断し、クラスタリングを実施する。
また、学習部110は、分類結果52と完了済のプロジェクトの各々の特性を表すプロジェクト特性511とを用いて機械学習することにより、プロジェクトにおけるデータ推移の予測に用いる推移予測モデル53を生成する。
【0052】
本実施の形態では、プロジェクトの特性に応じた予測を行うため、完了済のプロジェクトのデータ推移51を、推移の形状が類似するパターンに分類し、クラスタ化する。
また、分類結果52と完了済のプロジェクトの各々の特性を表すプロジェクト特性511とを用いた機械学習により推移予測モデル53を生成するので、プロジェクトの開発形態、進め方、および業種といったプロジェクトの特性を考慮したデータ推移の予測が可能となる。
【0053】
図7は、本実施の形態に係る推移予測装置100による予測処理の例を示すフロー図である。
【0054】
<予測処理>
次に、学習処理で生成した推移予測モデル53と分類結果52とを使って、予測対象となる遂行中のプロジェクトのデータ推移である予測対象推移54から、将来のデータ推移を高精度に予測する予測処理について説明する。
予測処理は、パターン推定処理と類似抽出処理とパターン予測処理とを含む。
【0055】
<<パターン推定処理>>
ステップS201において、パターン推定部120は、予測対象のデータ推移である予測対象推移54と、予測対象推移54に対応するプロジェクト特性である予測対象特性55を取り込む。予測対象推移54は、予測対象である遂行中のプロジェクトにおける開始時点から現時点までのデータ実績の推移を表す。予測対象特性55は、予測対象のプロジェクトのプロジェクト特性である。
なお、現時点とは、データ実績が取得できている最新の時点を示しており、予測処理では予測対象推移54における現時点以降の将来のデータ推移を予測する。
【0056】
ステップS202において、パターン推定部120は、予測対象推移54に対して、補間処理を実施する。例えば、遂行中のプロジェクトの開始時点から終了予定の時点までのデータの実績値の数が基準数の12となるように、予測対象推移54に対して補間処理を実施する。
次に、ステップS203において、パターン推定部120は、補間処理を実施した後の予測対象推移54に対して変換処理を実施する。
つまり、ステップS202およびステップS203において、パターン推定部120は、ステップS204において予測対象推移54に類似するクラスタを選択する前に、補間処理を実施した後の予測対象推移54に対して変換処理を実施する。
補間処理および変換処理については、
図3のステップS102およびステップS103で説明した方法と同様である。
【0057】
ステップS204において、パターン推定部120は、予測対象推移54と分類結果52に含まれる複数のクラスタとの類似確率を算出する。類似確率とは、予測対象推移54と各クラスタとの類似度を確率に変換した数値である。
パターン推定部120は、分類結果52に含まれる各クラスタに含まれるデータ推移51に基づいて、各クラスタの代表推移を算出する。代表推移とは、各クラスタの中で、何等かの方法により、選択される代表的な推移のことを示す。代表推移は、例えば、各クラスタ内のデータ推移51の平均値である。あるいは、各クラスタ内のデータ推移51の中央値であってもよい。そして、パターン推定部120は、代表推移と予測対象推移54との類似確率を計算する。
具体的には、以下の通りである。
【0058】
プロジェクトが進行するにつれてデータ推移の波形は変化していく。このため、パターン推定部120は、予測をする直前の時点(すなわち、現時点)までの波形を元に、予測対象推移54と各クラスタとの類似確率を算出する。
補間処理を実施した場合でも、進捗具合が異なるプロジェクト同士では、データ推移の時点数が異なる。このため、形状の単純比較を行うことはできない。そこで、予測対象推移54と各クラスタの代表推移(代表波形ともいう)との距離を類似確率に変換する。類似確率が高いということは、予測対象推移54がそのクラスタに該当する確率が高いということを意味する。以下に、変換の手順を示す。
【0059】
(1)c番目のクラスタの代表波形との距離をd
cとすると、その逆数id
cは下記の数2の通り計算される。
【数2】
【0060】
(2)全クラスタの逆数の合計値で除算し、類似確率p
cを下記の数3の通り計算する。
【数3】
【0061】
ステップS205において、パターン推定部120は、算出されたクラスタの類似確率と予測対象特性55とを特徴量として、推移予測モデル53により各クラスタの代表推移と予測対象推移54との類似確率を算出し、類似するクラスタである推移パターン56を推定する。
なお、推移予測モデル53を用いずに、ステップS204において算出されたクラスタの類似確率を類似するクラスタである推移パターン56としてもよい。ただし、予測対象特性55も用い、推移予測モデル53により推移パターン56を推定することで、予測対象推移54の推移のパターンが不明確であるプロジェクトの進行序盤においても、予測対象特性55による推移のパターンの差異を推移パターン56の推定に反映することができる。
推定された推移パターン56が選択されたクラスタであり、最も類似確率が高いクラスタを1つだけ選択してもよいし、あるいは類似確率が高いクラスタから複数のクラスタを類似するクラスタとして選択してもよい。
【0062】
<<類似抽出処理>>
ステップS206において、類似抽出部130は、選択されたクラスタから、予測対象推移54に類似するデータ推移51を類似推移59として抽出する。例えば、類似抽出部130は、予測対象推移54の現時点が予測対象のプロジェクトの開始時点に近いほど多くの数のデータ推移51を類似推移59として抽出する。
なお、パターン推定部120において複数のクラスタが選択された場合は、クラスタごとにデータ推移51から類似推移59として抽出する。
【0063】
類似抽出部130は、予測対象推移54に類似する(該当する確率が高い)クラスタから、データ推移51の形状と類似する類似推移59を所定数抽出する。このとき、類似推移59の抽出件数である所定数は、推移を予測したいプロジェクトの進行状況によって変化させる。
例えば、推移を予測したいプロジェクトの進行序盤では、予測対象推移54における将来の推移の変化の幅は大きいと考えられる。よって、将来の推移を予測するための類似推移59の抽出数を多くして予測精度を向上させる。また、推移を予測したいプロジェクトの終盤では、予測対象推移54における将来の推移の変化の幅は小さいと考えられる。よって、将来の推移を予測するための類似推移59の抽出数を少なくして、処理効率を向上させる。
【0064】
図8は、本実施の形態に係る類似抽出数情報57の例を示す図である。
類似抽出数情報57は、予測対象推移54のデータ時点と、抽出する類似推移59の数とを対応付けた情報である。
【0065】
図8の例では、進行中プロジェクトの現時点が開始時点に近い3の場合、選択されたクラスタから類似推移59として抽出するデータ推移の数は22件である。また、進行中プロジェクトの現時点が終了予定時点に近い11の場合、選択されたクラスタから類似推移59として抽出するデータ推移の数は6件である。
【0066】
なお、類似抽出部130は、選択されたクラスタに含まれるデータ推移と予測対象推移54とのユークリッド距離に基づいて、類似推移59として抽出するデータ推移を決定する。
【0067】
<<パターン予測処理>>
ステップS207において、パターン予測部140は、推移パターン56と、ステップS206で抽出された類似推移59とに基づいて、予測対象推移54における将来の推移を推移予測結果58として予測する。パターン予測部140は、推移パターン56と所定数の類似推移59とを用いて推移予測結果58を算出する。
具体的には、パターン予測部140は、推移パターン56と所定数の類似推移59との各時点の平均値を算出し、その平均値を推移予測結果58とする。
図2に示すように、現時点以降の推移が推移予測結果58として得られる。例えば、予測対象推移54がコスト推移の場合、推移予測結果58により将来のコスト見込の予測結果が得られる。
なお、ステップS205の処理でパターン推定部120において複数のクラスタが選択された場合は、クラスタごとにそれぞれ推移予測結果を算出し、類似するクラスタの推移予測結果が重要視されるように、類似確率によって重み付けした各クラスタの推移予測結果の平均値を、推移予測結果58とする。
【0068】
***他の構成***
<変形例1>
図9は、本実施の形態の変形例1に係る推移予測装置100の構成例である。
本実施の形態では、推移予測装置100における、学習部110とパターン推定部120と類似抽出部130とパターン予測部140の機能がソフトウェアで実現される。しかし、変形例として、学習部110とパターン推定部120と類似抽出部130とパターン予測部140の機能がハードウェアで実現されてもよい。
【0069】
すなわち、
図9に示すように、
図1におけるプロセッサ910を電子回路909に置き換えてもよい。
電子回路909は、学習部110とパターン推定部120と類似抽出部130とパターン予測部140の機能を実現する専用の電子回路である。電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated
Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。
【0070】
別の変形例として、学習部110とパターン推定部120と類似抽出部130とパターン予測部140の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
【0071】
プロセッサ910と、メモリ921と、電子回路909とを、総称して「プロセッシングサーキットリ」という。つまり、推移予測装置100の機能は、プロセッシングサーキットリにより実現される。
【0072】
***本実施の形態の効果の説明***
プロジェクトを成功に導くために、進行中のプロジェクトの情報から、例えば、コスト計画を達成できるかといった判断をする場合がある。このような判断には、コスト推移を高精度に予測する必要がある。
プロジェクトの開発形態は、システム開発、パッケージソフトを利用した開発、基盤構築、NW構築等、多岐に渡る。それに加え、開発の進め方等によりコスト推移のパターンは多岐に渡る。そのため、本実施の形態に係る推移予測装置100では、似た特性を持つ集合に学習データを分類し、予測時にはその集合から類似パターンを取得して予測することで、予測精度の向上に繋げている。
【0073】
本実施の形態に係る推移予測装置100では、推移予測処理を学習処理と予測処理で構成している。
・学習処理(プロジェクトデータをクラスタリング)
プロジェクトの特徴に応じた予測を行うため、完了済のプロジェクトデータをコスト推移の形状が類似するパターンに分類し、クラスタ化する。これにより、開発形態や進め方に伴うコスト推移のパターンを踏まえた予測が可能となる。
・予測処理(類似パターンを利用した予測)
プロジェクトが進行するにつれてコスト推移の波形は変化していくため、予測をする直前の時点の波形を元に、波形の形状が類似するクラスタを選択する。さらに、クラスタ内からコスト推移の形状とプロジェクト特性が最も類似するデータを選択し、予測に利用する。これにより、過去のプロジェクトに最も類似するものを参考にして予測できるため、予測精度の向上に繋げている。
【0074】
以上のように、本実施の形態に係る推移予測装置100によれば、遂行中のプロジェクトにおけるデータ推移から、プロジェクトの特性および過去の推移の傾向を考慮した高精度な推移予測を自動的に実施することができるという効果を奏する。
【0075】
以上の実施の形態1では、推移予測装置の各部を独立した機能ブロックとして説明した。しかし、推移予測装置の構成は、上述した実施の形態のような構成でなくてもよい。推移予測装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、推移予測装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態1のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【0076】
なお、上述した実施の形態は、本質的に好ましい例示であって、本開示の範囲、本開示の適用物の範囲、および本開示の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
【符号の説明】
【0077】
51 データ推移、511 プロジェクト特性、52 分類結果、53 推移予測モデル、54 予測対象推移、55 予測対象特性、56 推移パターン、57 類似抽出数情報、58 推移予測結果、59 類似推移、100 推移予測装置、110 学習部、120 パターン推定部、130 類似抽出部、140 パターン予測部、150 記憶部、909 電子回路、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。
【手続補正書】
【提出日】2022-10-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
完了済のプロジェクトにおけるプロジェクトデータのデータ推移と、前記データ推移をクラスタに分類した分類結果と、前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを機械学習することにより、データ推移とプロジェクト特性とが入力されると前記入力されたデータ推移に類似するクラスタを出力する推移予測モデルを生成する学習部と、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを前記推移予測モデルに入力し、前記推移予測モデルから出力されるクラスタを推移パターンとして推定するとともに、前記予測対象推移に基づいて前記分類結果に含まれるクラスタから前記予測対象推移に類似するクラスタを選択するパターン推定部と、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出する類似抽出部と、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測するパターン予測部と
を備えた推移予測装置。
【請求項2】
前記パターン推定部は、
前記分類結果に含まれるクラスタに含まれるデータ推移から前記分類結果に含まれるクラスタの代表推移を算出し、前記代表推移と前記予測対象推移との類似確率を計算し、前記類似確率に基づいて、前記分類結果に含まれるクラスタから前記予測対象推移に類似するクラスタを選択する請求項1に記載の推移予測装置。
【請求項3】
前記類似抽出部は、
前記予測対象推移の現時点が前記予測対象のプロジェクトの開始時点に近いほど多くの数の前記類似推移を抽出する請求項1または請求項2に記載の推移予測装置。
【請求項4】
前記推移予測装置は、
前記予測対象推移のデータ時点と抽出する前記類似推移の数とを対応付けた類似抽出数情報を備え、
前記類似抽出部は、
前記類似抽出数情報に基づいて、前記類似推移を抽出する請求項3に記載の推移予測装置。
【請求項5】
前記学習部は、
前記データ推移を分類する前に、前記プロジェクトの開始時点から終了時点までのプロジェクト期間におけるデータの実績値の数が、予め定められた基準数となるように推移を補間する補間処理を前記データ推移に対して実施する請求項1から請求項4のいずれか1項に記載の推移予測装置。
【請求項6】
前記学習部は、
前記データ推移を分類する前に、推移のデータの大きさを前後のデータの勾配に変換する変換処理を前記データ推移に対して実施する請求項5に記載の推移予測装置。
【請求項7】
前記学習部は、
前記補間処理を実施した後の前記データ推移に対して前記変換処理を実施する請求項6に記載の推移予測装置。
【請求項8】
前記パターン推定部は、
前記予測対象推移に類似するクラスタを選択する前に、前記補間処理を実施した後の前記予測対象推移に対して前記変換処理を実施する請求項6または請求項7に記載の推移予測装置。
【請求項9】
完了済のプロジェクトにおけるプロジェクトデータのデータ推移と、前記データ推移をクラスタに分類した分類結果と、前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを機械学習することにより、データ推移とプロジェクト特性とが入力されると前記入力されたデータ推移に類似するクラスタを出力する推移予測モデルを生成し、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを前記推移予測モデルに入力し、前記推移予測モデルから出力されるクラスタを推移パターンとして推定するとともに、前記予測対象推移に基づいて前記分類結果に含まれるクラスタから前記予測対象推移に類似するクラスタを選択し、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出し、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測する推移予測方法。
【請求項10】
完了済のプロジェクトにおけるプロジェクトデータのデータ推移と、前記データ推移をクラスタに分類した分類結果と、前記完了済のプロジェクトの各々の特性を表すプロジェクト特性とを機械学習することにより、データ推移とプロジェクト特性とが入力されると前記入力されたデータ推移に類似するクラスタを出力する推移予測モデルを生成する学習処理と、
予測対象のプロジェクトにおける現時点までのデータ推移である予測対象推移と前記予測対象のプロジェクトのプロジェクト特性である予測対象特性とを前記推移予測モデルに入力し、前記推移予測モデルから出力されるクラスタを推移パターンとして推定するとともに、前記予測対象推移に基づいて前記分類結果に含まれるクラスタから前記予測対象推移に類似するクラスタを選択するパターン推定処理と、
前記選択されたクラスタから、前記予測対象推移に類似するデータ推移を類似推移として抽出する類似抽出処理と、
前記推移パターンと前記類似推移とに基づいて、前記予測対象推移における将来の推移を推移予測結果として予測するパターン予測処理と
をコンピュータに実行させる推移予測プログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0061
【補正方法】変更
【補正の内容】
【0061】
ステップS205において、パターン推定部120は、予測対象推移54と予測対象特性55とを入力データとして、推移予測モデル53により、予測対象推移54に類似するクラスタである推移パターン56を推定する。
なお、推移予測モデル53を用いずに、ステップS204において算出されたクラスタの類似確率を用いて、予測対象推移54に類似するクラスタである推移パターン56を推定してもよい。ただし、予測対象特性55も用い、推移予測モデル53により推移パターン56を推定することで、予測対象推移54の推移のパターンが不明確であるプロジェクトの進行序盤においても、予測対象特性55による推移のパターンの差異を推移パターン56の推定に反映することができる。
パターン推定部120は、選択されたクラスタとして、最も類似確率が高いクラスタを1つだけ選択してもよいし、あるいは類似確率が高いクラスタから複数のクラスタを選択してもよい。
【手続補正3】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】