(57)【要約】【課題】特異なサンプルの主要因を特定することのできるデータ監視装置を提供する。【解決手段】多変量データに対して主成分分析を実施し、データの集団から大きく外れた外れ値の候補を検出する外れ値候補検出部と、変量の組であるサンプルや主成分分析で得られた主成分を、外れ値候補と対応させてランク付けした外れ値候補リストと、外れ値候補と対応する主成分に関して、その主成分得点の変量別の値と因子負荷量を表す変量影響度グラフとを生成して表示する結果表示部とを、備えるデータ監視装置。【選択図】図１
2014089671.tif 000002
【特許請求の範囲】
【請求項１】
多変量データに対して主成分分析を実施し、データの集団から大きく外れた外れ値の候補を検出する外れ値候補検出部と、
前記変量の組であるサンプルや主成分分析で得られた主成分を、前記外れ値候補と対応させてランク付けした外れ値候補リストと、前記外れ値候補と対応する主成分に関して、その主成分得点の変量別の値と因子負荷量を表す変量影響度グラフとを生成して表示する結果表示部とを、
備えるデータ監視装置。
【請求項２】
前記外れ値候補検出部は、前記外れ値の候補を検出するために、主成分分析により得られる主成分得点を正規化した各主成分得点の最大絶対値で表わされる外れ度を計算する請求項１記載のデータ監視装置。
【請求項３】
前記多変量データを入力する入力部を備え、入力した前記多変量データは前記外れ値候補検出部に送られる請求項１又は請求項２記載のデータ監視装置。
【請求項４】
前記サンプル毎に、前記外れ度を計算する請求項２又は請求項３記載のデータ監視装置。
【請求項５】
前記外れ値候補は、所定値以上の外れ度の前記サンプル、主成分を外れ値候補とする請求項４記載のデータ監視装置。
【請求項６】
前記因子負荷量は、主成分と元の変量との相関係数である請求項１乃至請求項５のいずれか１項に記載のデータ監視装置。
【請求項７】
さらに、
前記サンプルと変量に対して重みを設定する重み設定部と、
前記重み付きの多変量データを記憶する記憶部を、
備え、前記サンプルや変量の重みを調整する請求項１乃至請求項６のいずれか１項に記載のデータ監視装置。
【請求項８】
前記サンプルと変量に対して初期値を設定し、下位の主成分で外れ度の大きかったサンプルについて、重みを初期値よりも小さい値に変更する請求項７記載のデータ監視装置。
【請求項９】
前記サンプルと変量に対して初期値を設定し、外れ値候補ランクが上位のサンプルについて、重みを初期値よりも大きい値に変更する請求項７又は請求項８記載のデータ監視装置。
【請求項１０】
前記外れ値候補では、前記変量のそれぞれが各主成分でどれくらい説明されるかを表す寄与率を累積した累積寄与率も反映させる請求項１乃至請求項９のいずれか１項に記載のデータ監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、多変量データを監視するデータ監視装置に関する。
【背景技術】
【０００２】
大規模化、複雑化する製品開発プロジェクトにおいて、プロジェクトの状況を正確に把握し適切な管理を実施するために、例えば、工数、ソースコード規模、不具合件数など、さまざまな種類のデータを収集、活用することが重要となる。
【０００３】
近年、例えば、ソースコード静的解析ツール、不具合管理システムなど、さまざまな開発支援ツールや開発管理システムが普及し、プロジェクトに関連する大量の多変量データを逐次収集、蓄積することが可能になってきた。
【０００４】
従来、状況把握のためのプロジェクトデータ監視手法として、管理図や累積グラフなどが利用されてきたが、元々、一変量または少数の変量の時系列変化を捉えるのに適した手法であり、多数の変量が相互に関連した多変量データの監視手法としては必ずしも適していない。
【０００５】
大量の多変量データが逐次更新されている状況において、それらの中から異常値や外れ値の候補を自動的に絞り込み、異常値や外れ値を示した要因等を簡単に特定できるようなプロジェクトデータ監視手法が望まれる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２１１３３８号公報
【特許文献２】特開２００４−３４９８５２号公報
【特許文献３】特開２００８−１４６５９１号公報
【特許文献４】特開２００８−１２９０１１号公報
【特許文献５】特開２００１−７５６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、特異なサンプルの主要因を特定することのできるデータ監視装置を提供することである。
【課題を解決するための手段】
【０００８】
実施形態のデータ監視装置は、多変量データに対して主成分分析を実施し、データの集団から大きく外れた外れ値の候補を検出する外れ値候補検出部と、前記変量の組であるサンプルや主成分分析で得られた主成分を、前記外れ値候補と対応させてランク付けした外れ値候補リストと、前記外れ値候補と対応する主成分に関して、その主成分得点の変量別の値と因子負荷量を表す変量影響度グラフとを生成して表示する結果表示部とを、備える。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るデータ監視装置の概略構成を示すブロック図である。
【図２】外れ度を説明するための図である。
【図３】外れ度の計算の一例を示す図である。
【図４】外れ値候補リストの一例を示す図である。
【図５】変量影響度グラフの一例を示す図である。
【図６】第１の実施形態に係るデータ監視装置におけるデータの監視処理の流れを示すフローチャートである。
【図７】サンプルの重みを説明する図である。
【図８】変量の重みを説明する図である。
【図９】第２の実施形態に係るデータ監視装置の概略構成を示すブロック図である。
【図１０】記憶部に記憶される重み付き多変量データの一覧例を示す図である。
【図１１】第２の実施形態に係るデータ監視装置におけるデータの監視処理の流れを示すフローチャートである。
【図１２】重み設定の一例を示す図である。
【図１３】重み設定後の外れ度の計算例を示す図である。
【図１４】重み変更の一例を示す図である。
【図１５】重み変更後の外れ度の計算例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１１】
まず、本実施形態で用いる主要な用語について説明する。  
「変量」とは、異なる値を取り得る項目のことである。  
「サンプル」とは、変量の組 （x11, x12, ・・・, x1m）をいう。  
「多変量データ」とは、複数の変量からなるデータをいう。  
「外れ値」とは、データの集団から大きく外れた値をいう。
【００１２】
「主成分分析」とは、多変量データに対して、変量間の相関を考慮しながら座標変換し、情報量をなるべく減少させない形で単純化する方法である。主成分として、入力データ (x1, x2, ・・・, xm) から分散が最大になるように新しい合成変量 Z1 を定義する。
【数１】
2014089671.tif 000003
【００１３】
合成変量は、主成分（principal component）と呼ばれ，そのうちで最も分散の大きい Z1 は第１主成分（ＰＣ１），次に分散の大きいZ2 は第２主成分（ＰＣ２），以下順に第ｍ主成分（ＰＣｍ）と呼ばれる。
【００１４】
各主成分は互いに相関のないように互いに直交するように決定される。各合成変量間の相関がないことから，“個々の合成変量は独立に評価してよい”ということになる。
【００１５】
「主成分得点」とは、元データを主成分ベクトルに射影した値をいう。  
「主成分寄与率」とは、各変数が m 個の主成分でどれくらい説明されるかを表し、 0≦ 寄与率 ≦1 であり、(主成分寄与率) ＝ (主成分の分散値) / (各変量の分散の和)で表される。  
「因子負荷量（主成分負荷量）」とは、主成分と元の変量との相関係数をいう。
【００１６】
（第１の実施形態）
本実施形態においては、正規化した各主成分得点の最大絶対値を“外れ度”として定義し、“外れ度”に基づいて、データの集団から大きく外れた“外れ値”の候補の検出を行うものである。
【００１７】
図１は、本発明の第１の実施形態に係るデータ監視装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ（例えばパーソナルコンピュータ（ＰＣ）等）と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、ＣＡＤ（Computer Aided Design）やＣＡＥ（Computer Aided Engineering）に好適なエンジニアリングワークステーション（ＥＷＳ）等も含む。本実施形態はこのようなコンピュータに、多変量データの監視に係る一連の手続きを実行させるプログラムとして実施することもできる。
【００１８】
図１に示すように、第１の実施形態に係るデータ監視装置は、主として、入力部１１、外れ値候補検出部１２、結果表示部１３より構成されている。
【００１９】
入力部１１は、多変量データを入力するものである。入力した多変量データは、外れ値候補検出部１２に送られる。
【００２０】
外れ値候補検出部１２は、入力部１１から受け取った多変量データに対して、主成分分析を実施して、外れ値の候補を検出するものである。外れ値の候補を検出するために、本実施形態では外れ度を計算する。外れ値の候補検出については、後述する。計算した外れ度は、結果表示部１３に送られる。
【００２１】
結果表示部１３は、外れ値候補検出部１２から受け取った外れ度に基づいて、外れ値候補リスト及び外れ値候補毎の変量影響度グラフを生成して表示するものである。外れ値候補リスト及び変量影響度グラフについては、後述する。
【００２２】
次に、以上のように構成されたデータ監視装置１００による多変量データの監視処理について説明する。
【００２３】
＜外れ値の候補検出＞
多変量データに対して、主成分分析を実施する。例えば、分散共分散行列を用いる手法が好適である。主成分分析により得られる主成分得点については、ある特性（主成分）に対して重心から大きく離れ、単純には比較できない多次元の変量データを比較しやすくするために正規化（特徴軸の正規化）する。例えば平均が０、分散が１となるよう線形変換する正規化により、主成分分析によって言わば単独に座標変換されたものが、分散が同じ長さになるように圧縮され、重心から大きく離れたデータを的確に把握しやすくなる。
【００２４】
各サンプル（変量の組）に対して、外れ度を計算する。本実施形態においては、正規化した各主成分得点の最大絶対値を、外れ度 Dj と定義する。外れ度 Djは、以下の式で表わされる。
【数２】
2014089671.tif 000004
【００２５】
図２は、外れ度を説明するための図である。図２に示すように、外れ度は、主成分２に射影した値（主成分２の主成分得点）となる。
【００２６】
図３は、外れ度の計算の一例を示す図である。図３に示すように、縦方向には各サンプルＡからＬを並べ、横方向には正規化した主成分得点Sn_1~ Sn_5を並べている。図３に示す例では、サンプルAで正規化された主成分得点の絶対値が一番大きいのは、第１主成分得点Sn_1の-1.53798である。そこで、絶対値である1.53798をサンプルAの外れ度とする。同様に、網掛けした主成分得点がそれぞれのサンプルの外れ度となる。図３の最右欄Ｄは、各サンプルの外れ度を表している。図３の最下欄は、累積寄与率を表している。累積寄与率は、各変量が m 個の主成分でどれくらい説明されるかを表す寄与率を累積したものである。図３に示す例では、第１主成分から第３主成分のPC1〜PC3で、データ全体の約９８％を説明可能ということができる。
【００２７】
＜外れ値候補リスト＞
外れ値候補リストは、外れ度に基づき、外れ値候補と対応するサンプル、主成分をランク付けしたものである。図４は、外れ値候補リストの一例を示す図である。図４に示す例では、外れ度が２．０以上のものを外れ値候補とし、サンプルＢの第４主成分PC4が外れ度2.682162であり、外れ値候補として最上位のランクとなっている。
【００２８】
＜変量影響度グラフ＞
変量影響度グラフは、外れ値候補と対応する主成分に関して、その主成分得点の変量別の値と因子負荷量を可視化するものである。変量影響度グラフは、外れ値の主要因となる変量の情報や変量間の相関の情報をもつ。図５は、変量影響度グラフの一例を示す図である。縦軸は因子負荷量を、横軸は各変量を表している。実線は各変量の因子負荷量を結んだものである。破線は変量別の値を結んだものである。図５に示す例では、サンプルＢは第４主成分PC4への寄与度が高く、特に変量Ｗの影響が大きいことがわかる。
【００２９】
図６は、第１の実施形態に係るデータ監視装置におけるデータの監視処理の流れを示すフローチャートである。
【００３０】
まず、入力した多変量データに対して、例えば、分散共分散行列を用いて主成分分析を実施する（ステップＳ６１）。
【００３１】
次いで、主成分分析により得られた主成分得点の正規化を行う（ステップＳ６２）。
【００３２】
次に、各サンプルについて、図３のようにして外れ度 Djを算出する（ステップＳ６３）。外れ度 Djの算出は、サンプル数分、実行する。
【００３３】
次に、算出した外れ度に基づき、図４に示すような外れ値候補リスト及び図５に示すような変量影響度グラフをそれぞれ生成して表示する（ステップＳ６４）。
【００３４】
第１の実施形態によれば、関連し合う変量が複数存在する多変量データにおいて、変量間の関係性を考慮しながら異常値や外れ値の特定ができる。また、特定された異常値や外れ値の主要因となる変量について、異常値や外れ値を示した原因分析や是正措置のための有効な情報が得られる。
【００３５】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態では、データ分析・監視において、注目する変量やサンプルについて、相対的な重要度を示す“重み”の設定及び“重み”の変更を可能とするものである。
【００３６】
図７は、サンプルの重みを説明する図である。図７に示すように、サンプルの値が大きいほど、集団の中でのそのサンプルの影響が大きくなる。重みが 0 の場合は、そのサンプルを無視することを意味する。注目するサンプルに重み付けすることにより、全体の重心が移動し、注目するサンプルからの外れ値を検出できる。例えば、プロジェクトデータがサンプルであり、その重要度（ランク: A, B, C, …）が定義されている場合、重要度に応じて重みを設定することが好適である。
【００３７】
図８は、変量の重みを説明する図である。図８に示すように、変量の値が大きいほど、その変量の違いによる影響が大きくなる。重みが 0 の場合は、その変量を無視することを意味する。注目する変量に重み付けすることにより、サンプルのばらつきを、その変量の方向に拡大または縮小し、その変量の影響を考慮した外れ値の検出が可能となる。例えば、重要な変量（ソースコード規模、不具合密度等）に注目したデータ監視を行う一方、不要な変量（他の変量で概ねカバーできるもの等）を無視するのが好適である。
【００３８】
図９は、第２の実施形態に係るデータ監視装置の概略構成を示すブロック図である。図９に示すように、第２の実施形態に係るデータ監視装置２００では、第１の実施形態の構成に加えて、重み設定部１４、記憶部１５を有している。
【００３９】
重み設定部１４は、サンプルと変量に対して重みを設定するものである。第２の実施形態では、サンプルや変量の重みを調整することにより、データの補正を行う。重みの調整は、設定した重みに基づいて、多変量データを正規化し、以下の手法で行うことができる。
【００４０】
（1） 重み 0 のサンプル、変量を除外する。  
（2） 変量 j に対して、重み付き平均 Ave_j、重み付き標準偏差 Dev_j を求める。  
サンプル i の重みを Ws_i、変量 j に関するサンプル i の値を V_i_j とすると、
Ave_j = Σ(Ws_i * V_i_j) / Σ(Ws_i),  Dev_j = √ Σ(Ws_i * (V_i_j−Ave_j)^2) / (Σ(Ws_i)-1) 
（3） 各変量について、平均 0、 標準偏差 Wv_j （変量 j の重み） で正規化する。  
V_i_j  ←  (V_i_j−Ave_j) / Dev_j * Wv_j
記憶部１５は、記憶装置であって、重み付きの多変量データを記憶するものである。例えば、ハードディスク装置や、半導体メモリであるフラッシュメモリを使用したソリッドステートドライブ（ＳＳＤ）装置が好適である。図１０は、記憶部１５に記憶される重み付き多変量データの一覧例を示す図である。図１０に示すように、サンプル数: n、変量数: m の多変量データを、n×m行列として、記憶部１５に格納する。初めに、サンプル及び変量に対し、重み＝ 1を初期値として設定する。
【００４１】
図１１は、第２の実施形態に係るソースコード解析装置におけるソースコード処理の流れを示すフローチャートである。
【００４２】
まず、重み付けをする（ステップＳ１１１）。図１２は、重み設定の一例を示す図である。図１２に示す例では、図３に示す外れ度の計算例において下位の主成分（PC4、PC5）で外れ度の大きかったサンプル Bとサンプル Hについて、重みをそれぞれ初期値の１から 0 に変更している。
【００４３】
次いで、入力した多変量データに対して、例えば、分散共分散行列を用いて主成分分析を実施する（ステップＳ１１２）。
【００４４】
次に、主成分分析により得られた主成分得点の正規化を行う（ステップＳ１１３）。
【００４５】
次に、各サンプルについて、外れ度 Djを算出する（ステップＳ１１４）。外れ度 Djの算出は、サンプル数分、実行する。
【００４６】
次いで、算出した外れ度 Djに基づいて、各サンプルの外れ値候補のランク付けを行う（ステップＳ１１５）。図１３は、重み変更後の外れ度の計算例を示す図である。図１２で行ったサンプル Bとサンプル Hへの重み設定を反映して、サンプル Bとサンプル Hの全ての主成分得点は０となっている。重み変更後は、第１主成分から第３主成分（ＰＣ１〜ＰＣ３）の累積寄与率は上昇していることがわかる。さらに、第１主成分から第３主成分（ＰＣ１〜ＰＣ３）で外れ度の大きいサンプル C、E、K は、外れ値候補のランクも高いままでその傾向を維持していることがわかる。
【００４７】
図１４は、重み変更の一例を示す図である。図１４に示す例では、外れ値候補ランクが１位となったサンプルEと、外れ値候補ランクが２位となったサンプルCについて、重みを１から５に変更している。図１５は、重み変更後の外れ度の計算例を示す図である。図１５に示すように、外れ値の候補と対応する主成分は、サンプルの重み変更前とほぼ同じであり、構造は保存されていることがわかる。そして、重みを変更したサンプルC、サンプルEは外れ度が小さくなり、構造の中心になっている。外れ度が小さくなった結果、外れ値候補ランクも下がっている。これらの変化を反映して、サンプルFが外れ度が最大となり、外れ値候補ランクが１位となり、注目サンプル（C、E）からの外れ値となっている。
【００４８】
次に、算出した外れ度に基づき、図４に示すような外れ値候補リスト及び図５に示すような変量影響度グラフをそれぞれ生成して表示する（ステップＳ１１６）。
【００４９】
第２の実施形態によれば、注目するサンプルや変量の重みを変化させることにより、データ分析・監視において、「このサンプルは明らかに異常値なので除外すべきである」、「この変量は重要なので重点的に監視する必要がある」等のユーザの経験や意思を反映させることができる。
【００５０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５１】
１００，２００・・・データ監視装置
１１・・・入力部
１２・・・外れ値候補検出部
１３・・・結果表示部
１４・・・重み設定部
１５・・・記憶部
【図１】
2014089671.tif 000005
【図２】
2014089671.tif 000006
【図３】
2014089671.tif 000007
【図４】
2014089671.tif 000008
【図５】
2014089671.tif 000009
【図６】
2014089671.tif 000010
【図７】
2014089671.tif 000011
【図８】
2014089671.tif 000012
【図９】
2014089671.tif 000013
【図１０】
2014089671.tif 000014
【図１１】
2014089671.tif 000015
【図１２】
2014089671.tif 000016
【図１３】
2014089671.tif 000017
【図１４】
2014089671.tif 000018
【図１５】
2014089671.tif 000019