(57)【特許請求の範囲】
【請求項１】
目的変数と複数の説明変数を含むレコードを有するデータを分析するデータ分析装置において、
前記レコードの目的変数と説明変数に基づいて前記説明変数の条件で規定されたノードを作成し、前記レコードを前記ノードに対応付けるノード作成部、
前記ノードに対応付けられた複数のレコードの、前記目的変数が対象値であるレコードの数の割合を評価値として生成する評価値生成部、および、
前記評価値に基づいてノードを選択し、当該選択したノードにかかる前記説明変数の条件を抽出して出力するパラメータ抽出部、を有し、
前記評価値生成部は、前記目的変数が取りうる値のそれぞれを前記対象値とし、前記ノードごとにそれぞれの前記対象値について前記評価値を生成することを特徴とするデータ分析装置。
【請求項２】
請求項１において、
前記パラメータ抽出部は、前記対象値ごとに前記ノードを選択することを特徴とするデータ分析装置。
【請求項３】
請求項１または２において、
前記パラメータ抽出部は、前記ノードの評価値と、前記ノードのレコード数にかかる値に基づいて、前記ノードの選択を行い、
前記ノードのレコード数にかかる値は、前記ノードに含まれるレコード数、前記ノードに含まれる前記目的変数が対象値のレコード数、前記ノードに含まれる前記目的変数が対象値のレコード数の全レコード数に対する割合、のいずれかであることを特徴とするデータ分析装
置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記ノード作成部は、決定木分析により、前記ノードを作成することを特徴とするデータ分析装置。
【請求項５】
目的変数と複数の説明変数を含むレコードを有するデータを分析するデータ分析装置におけるデータ分析方法であって、前記データ分析装置は、
前記レコードの目的変数と説明変数に基づいて前記説明変数の条件で規定されたノードを作成し、
前記レコードを前記ノードに対応付け、
前記ノードに対応付けられた複数のレコードの、前記目的変数が対象値であるレコードの数の割合を評価値として生成し、
前記評価値に基づいてノードを選択し、
当該選択したノードにかかる前記説明変数の条件を抽出して出力し、
前記データ分析装置は、
前記目的変数が取りうる値のそれぞれを前記対象値とし、前記ノードごとにそれぞれの前記対象値について前記評価値を生成することを特徴とするデータ分析方法。
【請求項６】
請求項５において、
前記データ分析装置は、前記対象値ごとに前記ノードを選択することを特徴とするデータ分析方法。
【請求項７】
請求項５または６において、前記データ分析装置は、
前記ノードの評価値と、前記ノードのレコード数にかかる値に基づいて、前記ノードの選択を行い、
前記ノードのレコード数にかかる値は、前記ノードに含まれるレコード数、前記ノードに含まれる前記目的変数が対象値のレコード数、前記ノードに含まれる前記目的変数が対象値のレコード数の全レコード数に対する割合、のいずれかであることを特徴とするデータ分析方
法。
【請求項８】
請求項５乃至７のいずれかにおいて、前記データ分析装置は、決定木分析により、前記ノードを作成することを特徴とするデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析装置および分析方法に関する。
【背景技術】
【０００２】
様々なシステムの状態または中間結果を含む出力の分析が要請されている。状態の分析が必要とされるシステムの例として制御システムがあり、その故障や所定の制御結果と異なるなどの制御不良などに対応するためにシステムの状態分析が必要となる。出力の分析が必要とされるシステムの例として売上管理システムがあり、販売計画の修正や策定のために、顧客の嗜好や売上時期（時間、曜日、月など）と関連して、販売品目とその売上高のような中間結果を含む出力の分析が必要となる。これらの要請には精度よく分析することが含まれる。【０００３】
このような要請に応える技術的背景として、コンピュータのCPU能力の向上や記憶装置の小型・大容量化がある。さらに各種センサの小型・高精度化なども要請に応える技術的背景である。【０００４】
技術的背景により、システムから得られる多種多様なデータを分析対象にすることにより、システムの状態や出力の分析精度の向上が期待できる。この期待に応えるものとして、特許文献１に記載される技術がある。【０００５】
特許文献１は、データに内在する分類規則に対応する決定木を生成し、分類精度が低い分類規則に対して新たな属性のデータを追加して、分類精度を向上させることを記載している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−４８１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載されているように、データに内在する分類規則（ルール）を見出すためにモデリングの一つである決定木を用いることは有用である。しかし、多種多様な属性のデータが生成されるシステムの状態や出力の分析に用いると決定木が複雑になり過ぎるという問題がある。この問題を解消するために、決定木が刈込まれる。決定木は、ノードで用いるデータの属性種別数の設定や木の階層数の設定などにより、リーフノードが刈込まれ、単純化される。【０００８】
特許文献１は、データの属性種別数を限定して、所望の分類精度が得られない場合、データの属性種別数を増やし、分類規則を構成するデータの属性の一つの組み合わせを得ている。【０００９】
複雑なシステムでは、状態や出力は必ずしも一つのルールで特定されるとは限らない。たとえば、システムの異常の原因を反映するデータの属性またはその組み合わせは必ずしも一つに限らない。すなわち、精度の向上には、複数有り得る重要なルールを看過しないことも含まれる。【００１０】
そこで、ユーザの観点からデータ分析装置は、モデリングの複雑さを解消した、データを分類するルールの可視化が求められる。
【課題を解決するための手段】
【００１１】
目的変数と複数の説明変数を含むレコードを有するデータを分析するデータ分析装置は、前記レコードの目的変数と説明変数に基づいて前記説明変数の条件で規定されたノードを作成し、前記レコードを前記ノードに対応付けるノード作成部、前記ノードに対応付けられた複数のレコードの、前記目的変数が対象値であるレコードの数の割合を評価値として生成する評価値生成部、および、前記評価値に基づいてノードを選択し、当該選択したノードにかかる前記説明変数の条件を抽出して出力するパラメータ抽出部、を有する。
【発明の効果】
【００１２】
開示する発明によれば、データを分類するためのルールを容易に可視化できる。
【図面の簡単な説明】
【００１３】
【図１】データ分析装置の構成図である。
【図２】データ収集部の処理フローチャートである。
【図３】収集データテーブルの構成例である。
【図４】決定木作成部の処理フローチャートである。
【図５】決定木テーブルの構成例である。
【図６】決定木を木構造表現した図である。
【図７】評価値生成部の処理フローチャートである。
【図８】評価結果テーブルの構成例である。
【図９】パラメータ抽出部の処理フローチャートである。
【図１０】パラメータテーブルの構成例である。
【発明を実施するための形態】
【００１４】
図１は、データ分析装置１の構成図である。データ分析装置１は、制御システムや売上管理システムなどの分析対象システム２と接続し、データ分析結果を出力する出力装置３と接続する。
【００１５】
データ分析装置１は、データ収集部１０、決定木作成部３０、評価値生成部５０、及びパラメータ抽出部８０の各処理部、並びに、収集データテーブル２０、決定木テーブル４０、評価結果テーブル６０、及びパラメータテーブル９０の各テーブルを有する。データ分析装置１は、各処理部を実行する処理装置、および各テーブルを格納する記憶装置を有するコンピュータである。例えば、各処理部は、CPU（Central Processing Unit）上で稼働するプログラムで構成され、各テーブルは、記憶装置内に記憶されたデータベースで構成される。
【００１６】
データ収集部１０が分析対象システムから収集するデータのレコードを、決定木作成部３０が収集するデータに係る条件に基づいてノードを定義する決定木のノードに対応付ける。評価値生成部５０は、データに係る条件に基づいて、レコードを各ノードに属するレコードに分類し、データに含まれる、決定木の目的変数の態様に応じたレコードにさらに分類し、各ノードに属するレコードの数に対する、さらに分類したレコードの数の割合を評価値として生成する。パラメータ抽出部は、生成した評価値に関する所定の基準に基づいて、目的変数の態様に対応するデータに係る条件を抽出し、抽出した条件を出力する。このようなデータ分析装置１としての処理を実行するために、各処理部の動作は次のようになる。
【００１７】
データ収集部１０は、分析対象システム２から収集したデータを収集データテーブル２０に格納する。決定木作成部３０は、収集データテーブル２０のレコードから決定木を作成し、決定木テーブル４０に格納する。評価値生成部５０は、決定木の各ノードの評価値を算出し、決定木テーブル４０に評価値を加えた評価結果テーブル６０を生成する。パラメータ抽出部８０は、評価結果テーブル６０を参照し、収集データに内在する特徴を表すパラメータ（データの属性）を抽出し、パラメータテーブル９０に格納すると共に、出力装置３に出力する。
【００１８】
出力装置３は、例えば、ネットワーク出力するための通信装置、表示するためのディスプレイやこれを備えた端末、印刷するためのプリンタである。
【００１９】
図２は、データ収集部１０の処理フローチャートである。データ収集部１０は、分析対象システム２からデータを収集し（Ｓ１１）、収集したデータを収集データテーブル２０に格納する（Ｓ１２）。
【００２０】
分析対象システム２が制御システムのような場合、収集するデータは、広義のセンサデータである。広義のセンサデータは、温度計や電流計などのセンサのデータの他に、制御装置が設定する制御目標値や異常検知装置の異常検知出力などのデータも含む。これらのセンサデータは、分析対象システム２が持つタイマ（時計）に基づいて、100ms、１秒などの周期で各センサから出力される。また、異常検知装置の異常検知出力のように、異常検知というイベントの発生に応じて出力されるセンサデータもある。これらのセンサデータは、各センサから出力された時刻を表す時刻データ（タイムスタンプ）と対応付けられている。データ収集部１０は、各センサから出力周期に対応して収集してもよいし、分析対象システム２に一旦蓄積されたセンサデータを纏めて入力することにより、収集してもよい。
【００２１】
分析対象システム２が売上管理システムのような情報処理システムの場合、収集するデータは、情報処理システムが周期的に、または発生するイベントに対応して出力するログデータである。ログデータにもタイムスタンプが含まれる。したがって、情報処理システムのデータ受信、記憶装置へのデータ書き込み、プログラムの実行状態などのログの種別に応じて出力されるログデータは、ログの種別をセンサと見做すと、センサデータとして扱うことができる。以下の例示では、分析対象システム２の種類にかかわりなく、収集するデータをセンサデータと同様に扱うことができ、単にセンサデータとして説明する。
【００２２】
図３は、収集データテーブル２０の構成例である。収集データテーブル２０は、各レコードを識別するＩＤ２１、各センサから収集したセンサデータ２２〜２６を有する。状態２６は、前述の異常検知装置をセンサと見做したときの異常検知出力である。以下に説明する例示では、センサデータ２２〜２５を決定木分析における説明変数、状態２６を目的変数として扱う。決定木分析そのものは、周知であるので説明を省略する。
【００２３】
分析対象システム２が制御システムのような場合、収集データテーブル２０の各レコードに含まれる各センサデータ２２〜２６は、図示を省略する各時刻データに基づいて、同時刻または同時刻と見做せる基準時刻から所定時間（たとえば、周期の1/10）内のものが対応付けられている。基準時刻は、タイマ（時計）の時刻を用いてもよいが、収集データテーブル２０にセンサデータが収集される特定のセンサの時刻データ（タイムスタンプ）を用いればよい。
【００２４】
なお、分析対象システム２が、薬剤を次々に混合、化合させ、各薬剤投入量および最終的な薬剤の成分比をセンサデータとして得るような工程管理システムのような場合は、攪拌時間や反応時間が予め分かっているので、それらの時間で補正（各センサデータの時刻データを早める、または遅らせる）して同時刻のセンサデータとして整列させるとよい。
【００２５】
ＩＤ２１が「１」のレコードは、センサＡからのセンサデータ２２が「19.9」、センサＢからのセンサデータ２３が「4.9」、・・・、状態２６が「正常」である。ここでは、後述する説明を分かり易くするために、収集データテーブル２０の各センサデータの単位を省略し、レコード数を40としている。
【００２６】
また、説明を簡単にするために、目的変数である状態２６を文字列「正常」または「異常」の２状態（目的変数の態様）で表している。状態は、分析対象システム２によって３状態以上の場合もある。たとえば、状態遷移図で分析対象システム２の３以上の状態を表現できる制御システムにおいては、状態遷移図の各状態を選択できる。さらに、分析対象システム２が売上管理システムの場合には、特定の品目の売り上げが伸びている状態、特定の品目の売り上げが低下している状態、特定の品目の売り上げが目標値を上回っている（または下回っている）状態など、多様な状態を選択できる。
【００２７】
図４は、決定木作成部３０の処理フローチャートである。図５は、決定木作成部３０が作成する決定木テーブル４０の構成例である。
【００２８】
決定木テーブル４０は、決定木の各ノードのノードＩＤ４１、ノードを定義する条件文４２（対象のレコードがノードに属するか否かを定める条件）、決定木の（木構造の）階層におけるノードの深度（階層深度:ルートノードから該当ノードに至るブランチの数）４３、ノードに属する収集データのレコード数４４、レコード数４４のレコードの中で収集データの状態２６が「異常」を表しているレコード数（異常レコード数）４５、および、レコード数４４のレコードの中で収集データの状態２６が「正常」を表しているレコード数（正常レコード数）４６、ノードを分割した親ノードのノードID４７を含む。
【００２９】
決定木作成部３０は、決定木の各ノードのノードＩＤ４１、ノードを定義する条件文４２、および階層深度４３の対応付けを、ルートノードからリーフノード（末端のノード）まで繰り返し、決定木テーブル４０へ格納する（Ｓ３１）。ルートノードは、収集データテーブル２０のすべてのレコードを含み、そのノードＩＤ４１を「0」、階層深度４３を「0」とする。ノードＩＤ４１が「1」のノードは、その条件文４２が表すように、収集データテーブル２０のセンサＤ２５の値が104.9以下のレコードを含む。一方、ノードＩＤ４１が「2」のノードが、センサＤ２５の値が104.9より大のレコードを含む。ノードＩＤ４１が「1」と「2」のノードはノードＩＤ４１が「0」のノードの直下にあるので、その階層深度４３は「1」である。以下、同様にリーフノードまで対応付けを繰り返す。
【００３０】
条件文４２の判定の順序と各々の判定の基準を簡単に説明する。決定木分析において、条件文４２の判定の順序は、本例ではセンサＤ２５の値の判定、センサＡ２２の値の判定、・・・の順序であるが、これらは例えば既知のχ二乗検定を経て決定される。
【００３１】
判定基準は、各レコードが表す正常状態/異常状態のレコード数の割合の境界値である。たとえば、センサＤ２５の値は、104.9を基準として、104.9より大の場合（ノード２）は、異常状態のレコードのみであり、104.9より小の場合（ノード１）では、正常状態のレコードと異常状態のレコードの両方が含まれている。ノード１をさらにセンサA２２の値でノード３〜５に分割する。センサA２２の値は、19.9および20.1を基準とし、19.9より大で20.1未満の場合（ノード４）のみ異常状態のレコードを含み、19.9より小の場合（ノード３）または20.1より大の場合（ノード５）は、異常状態のレコードが含まれない。他のセンサにおいても、図示する数値を基準として同様である。
【００３２】
分割対象のノードに対し、センサデータ（説明変数）を条件文に用いて複数通り分割を試み、目的変数である状態（正常状態、異常状態）の割合が上手に分かれる（正常状態の割合が多いノードと異常状態の割合が多いノードに分かれる）センサデータ及び値を、実際に分割を行う条件文として採用しノード分割をおこなう。分割したノードをさらに分割することを、所定の条件（ノードの階層深度、ノード内のレコード数、正常状態と異常状態の割合など）になるまで繰り返す。
【００３３】
判定基準は、必ずしも数値による基準ではない。センサは対象のレベルを出力する種類だけではなく、レベルを微分し、レベルの変化をセンサデータとして出力する種類もある。たとえば、温度変化を出力するセンサには、温度(レベル)を微分し、上昇度合い又は下降度合いをたとえば、５段階（「急上昇」、「上昇」「変化なし」、・・）などの段階をセンサデータとして出力するものがある。このようなセンサデータの場合、段階を表す数値または文字列に対応する判定の基準を用いる。
【００３４】
決定木作成部３０は、決定木テーブル４０の各ノードに該当する収集データテーブル２０のレコード数４４を決定木テーブル４０に格納する（Ｓ３２）。決定木作成部３０は、決定木テーブル４０の各ノードに該当する収集データテーブル２０の異常レコード数４５および正常レコード数４６を決定木テーブル４０に格納する（Ｓ３３）。図５に示す各レコード数は、収集データテーブル２０のレコード数を４０としたときの数値例である。
【００３５】
図６は、決定木テーブル４０の内容（決定木）を木構造表現した図である。木構造表現した決定木は、最上位にルートノード（ノードＩＤ４１＝「0」：ノード０）、各末端にリーフノードを表す。各ブランチには、上位ノードから下位ノードに至る条件文４２を記載している。たとえば、ノード８（ノードＩＤ４１＝「8」：以下同様に表記）の条件文４２は、ルートノード（ノード０）からノード１、ノード４、およびノード７を経由してノード８に至る各ブランチの条件文のAND条件で得られる。
【００３６】
図６で含まれるレコードがすべて異常レコードであるリーフノードは、ノード２とノード８である。これは、分析対象システム２の状態や出力は必ずしも一つのルール（センサデータの種別またはその組み合わせ）で特定されるとは限らないことを表している。
【００３７】
図７は、評価値生成部５０の処理フローチャートである。図８は、評価値生成部５０が生成する評価結果テーブル６０の構成例である。
【００３８】
評価結果テーブル６０のノードＩＤ６１、条件文６２、階層深度６３、レコード数６４、異常レコード数６８、および正常レコード数７１は、決定木テーブル４０の対応する項目と同じである。これらの項目に関しては、評価値生成部５０が決定木テーブル４０の内容をコピーして、評価結果テーブル６０を生成する。
【００３９】
さらに評価結果テーブル６０は、カバー度６５、異常的中度６６、異常適応度６７、正常的中度６９、および正常適応度７０を含む。カバー度６５は、ノードに含まれるレコード数６４の収集データテーブル２０の全レコード数（40）に対する割合である。たとえば、ノード３の場合、レコード数６４/全レコード数＝7/40＝17.5％である。異常的中度６６は、ノードに含まれる異常レコード数６８のレコード数６４に対する割合である。たとえば、ノード４の場合、ノード４の異常レコード数６８/レコード数６４＝4/9＝44.4％である。異常適応度６７は、ノードに含まれる異常レコード数６８の全レコード数（40）に対する割合である。たとえば、ノード４の場合、ノード４の異常レコード数６８/全レコード数＝4/40＝10.0％である。正常的中度６９および正常適応度７０に関しては、異常的中度６６および異常適応度６７の異常を正常と読み替えた説明になるので省略する。
【００４０】
異常的中度６６、異常適応度６７、正常的中度６９、および正常適応度７０が評価値である。異常的中度６６および正常的中度６９は決定木によるルールの精度の指標を表す評価値である。異常適応度６７および正常適応度７０は、そのノードに含まれる異常レコード数６８または正常レコード数７１の全レコード数に対する割合を表す、目安としての評価値である。したがって、的中度を評価値と呼んでもよい。
【００４１】
評価値生成部５０は、各ノードのカバー度６５を前述の説明のように求め、評価結果テーブル６０へ格納する（Ｓ５１）。評価値生成部５０は、前述の説明のように、異常的中度６６（Ｓ５２）、異常適応度６７（Ｓ５３）、正常的中度６９（Ｓ５４）、および正常適応度７０（Ｓ５５）を求めて、各々を評価結果テーブル６０へ格納する。
【００４２】
図９は、パラメータ抽出部８０の処理フローチャートである。ここで、パラメータとは、目的変数である各状態（以上、正常）２６に反映される各センサデータであり、各センサデータに関する条件文６２で表される条件がルールである。したがって、各ルールはパラメータ（データ）とそれによる条件を含む。
【００４３】
ルールの選択に当たっては、100％の評価値としての的中度を有するルール、所定値以上の的中度を有するルール、的中度が上位からｋ個のルールなどのように予め選択基準を設けてもよいし、選択基準をデータ分析装置のユーザが設定できるようにしてもよい。また、的中度に加え、レコード数、カバー度、適応度といったレコード数にかかわる値を考慮し、レコード数の多いノードを優先的に選択してもよい。レコード数が多いノードは重要でありまた信頼性が高いと考えられ、またレコード数が少ないノードは、信頼性や重要度が相対的に高くないと考えられるからである。例示したような選択基準により、重要性の高いルールをデータ分析装置のユーザが確認できるので、不要なセンサデータに関与することなく、センサデータに内在する特徴を可視化できるデータ分析装置が得られることになる。
【００４４】
パラメータ抽出部８０は、評価結果テーブル６０を参照して、状態別に的中度が高いルールを選択し、パラメータテーブル９０に格納する（Ｓ８１）。
【００４５】
図１０は、パラメータテーブル９０の構成例である。パラメータテーブル９０は、状態９１および的中度の高いルール９２を対応付けている。状態９１は、状態２６と同様に「異常」及び「正常」である。前述したように、状態９１は、３状態以上の多様な状態であってもよい。「的中度の高い」と図示しているが、図１０は、状態に応じて「的中度が100％のルール」を選択基準とした場合を例示している。
【００４６】
具体的には、状態９１が「異常」に関して、評価結果テーブル６０の異常的中度６６が100％を示しているルールは、ノード２及びノード８に相当し、それらの条件文６２を的中度の高いルール９２に格納する。また状態９１が「正常」に関して、評価結果テーブル６０の正常的中度６９が100％を示しているルールは、ノード３、ノード５、ノード６及びノード９に相当し、それらの条件文６２を的中度の高いルール９２に格納する。
【００４７】
また、的中度のみを選択基準にする他に、レコード数（カバー度、適応度）が多く、かつ、的中度が高いノードの条件文を抽出するように選択基準を設定してもよい。
【００４８】
パラメータ抽出部８０は、パラメータテーブル９０の内容を出力装置３に出力（表示）する（Ｓ８２）。出力装置に出力されたパラメータテーブル９０の内容は、所定の選択基準に従って選択された的中度が高いルールであるので、データ分析装置のユーザは、特にシステムの状態が異常の場合に、的中度の高いルールに対応する処置から優先的に実行できる。
【００４９】
さらに、パラメータ抽出部８０は、抽出された各ノードの条件文（パラメータとその値）をそのまま出力する他に、重要なパラメータを抽出したり、パラメータの重要度を算出したりしてもよい。図１０の例では、正常状態の割合が高いノードの条件文は、パラメータD及びAを有しておりこれらが最も重要であり、次いでCが重要であることがわかる。また、ノードの的中度やレコード数などに基づいて、各パラメータの重要度を数値化して出力してもよい。パラメータの重要度は、目的変数の状態（異常、正常）ごとに抽出してもよいし、全部の状態で抽出してもよい。
【００５０】
説明したデータ分析装置によれば、決定木の複雑さを解消した、データに内在する特徴をルールとして可視化できる。特に、システムの異常状態に対して、データ分析装置のユーザが、重要性（的中度）の高いルールに対応する処置から優先的に実行できるので、システムの状態監視技術として有用である。
【符号の説明】
【００５１】
１：データ分析装置、２：分析対象システム、３：出力装置、１０：データ収集部、２０: 収集データテーブル、３０: 決定木作成部、４０: 決定木テーブル、５０：評価値生成部、６０: 評価結果テーブル、８０: パラメータ抽出部、９０: パラメータテーブル。
【図１】
0006458157.tif 000002
【図２】
0006458157.tif 000003
【図３】
0006458157.tif 000004
【図４】
0006458157.tif 000005
【図５】
0006458157.tif 000006
【図６】
0006458157.tif 000007
【図７】
0006458157.tif 000008
【図８】
0006458157.tif 000009
【図９】
0006458157.tif 000010
【図１０】
0006458157.tif 000011