(57)【要約】【課題】変数間に存在する構造関係を反映した正則化項を容易に生成する。【解決手段】本発明の実施形態に係る情報処理装置は、稼働データに含まれる複数の変数を、前記複数の変数の構造関係を表す構造データに基づきグルーピングして、少なくとも１つのグループ種類の複数のグループを生成するグループ設定部と、前記グループ種類に応じた正則化項を、前記グループ種類に属する前記グループに含まれる前記変数に対する係数に基づいて生成する正則化項生成部と、前記稼働データと、前記正則化項を含む目的関数とに基づいて、前記複数の変数に対する複数の前記係数の値を推定する係数推定部と、を備える。【選択図】図１
2020204841.tif 000002
【特許請求の範囲】
【請求項１】
稼働データに含まれる複数の変数を、前記複数の変数の構造関係を表す構造データに基づきグルーピングして、少なくとも１つのグループ種類の複数のグループを生成するグループ設定部と、
前記グループ種類に応じた正則化項を、前記グループ種類に属する前記グループに含まれる前記変数に対する係数に基づいて生成する正則化項生成部と、
前記稼働データと、前記正則化項を含む目的関数とに基づいて、前記複数の変数に対する複数の前記係数の値を推定する係数推定部と、
を備えた情報処理装置。
【請求項２】
前記推定された係数の値に基づいて前記複数の変数からゼロ又は閾値より大きい変数を選択する変数決定部と、
選択された前記変数と前記構造データとに基づいて、選択された前記変数の構造関係を表す変数構造データを生成する変数構造生成部と
を備えた請求項１に記載の情報処理装置。
【請求項３】
前記変数構造生成部は、選択された前記変数と、前記構造データにおいて前記選択された変数に隣接する変数とをそれぞれ描画変数とし、前記描画変数の構造関係を前記変数構造データとして生成する
請求項２に記載の情報処理装置。
【請求項４】
前記変数構造データを表示する表示部
を備えた請求項２又は３に記載の情報処理装置。
【請求項５】
前記少なくとも１つのグループ種類は、前記変数が表すクラスのインスタンスに対応する複数の前記変数をまとめたクラス関係のグループを含む
請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項６】
前記正則化項生成部は、前記クラス関係のグループに対してGroup Lassoの正則化項を生成する
請求項５に記載の情報処理装置。
【請求項７】
前記少なくとも１つのグループ種類は、前記複数の変数間の前記構造関係を木構造ベースの形式で表現した場合に、上位ノードが共通する複数の下位ノードに対応する複数の前記変数をまとめた階層関係のグループを含む
請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
前記上位ノードは、前記複数の下位ノードの親ノードである
請求項７に記載の情報処理装置。
【請求項９】
前記正則化項生成部は、前記階層関係のグループに対して、Overlapping Group Lassoの正則化項を生成する
請求項７又は８に記載の情報処理装置。
【請求項１０】
前記少なくとも１つのグループ種類は、参照関係を有する複数の変数をまとめた参照関係のグループを含む
請求項１〜９のいずれか一項に記載の情報処理装置。
【請求項１１】
前記正則化項生成部は、前記参照関係のグループに対して、Clustered Lassoの正則化項を生成する
請求項１０に記載の情報処理装置。
【請求項１２】
前記正則化項に含まれる正則化パラメータの値の入力を受け付ける正則化ルール入力部を備え、
前記正則化項生成部は、入力された前記正則化パラメータの値を用いて前記正則化項を生成する
請求項１〜１１のいずれか一項に記載の情報処理装置。
【請求項１３】
前記正則化ルール入力部は、前記正則化パラメータの複数の前記値の入力を受け付け、
前記変数構造生成部は、前記正則化パラメータの複数の前記値ごとに前記変数構造データを生成し、
前記表示部は、前記複数の値と、前記複数の値に対応する複数の前記変数構造データとの複数の組を比較可能に表示する
請求項４を引用する請求項１２に記載の情報処理装置。
【請求項１４】
前記稼働データは、第１の期間に取得された第１稼働データと、前記第１の期間より後の第２の期間に取得された第２稼働データとを含み、
前記第１稼働データと前記第２稼働データのそれぞれについて前記グループ設定部、前記正則化項生成部、前記係数推定部、前記変数決定部、及び前記変数構造生成部の処理が行われ、
前記第１稼働データの場合に前記変数決定部により選択された前記変数と、前記第２稼働データの場合に前記変数決定部により選択された前記変数とが一致するかを判定し、一致しない場合にアラートを出力する変化判定部
を備えた請求項２〜４のいずれか一項に記載の情報処理装置。
【請求項１５】
前記係数推定部により推定された前記係数と、前記係数に対する前記変数とに基づき、所定の事象の発生を検知するモデルを構築するモデル構築部と、
前記モデルと、前記稼働データに基づき前記モデルの出力値を算出し、前記出力値に基づき、前記所定の事象の発生を検知するモデル判定部と
を備えた請求項１〜１４のいずれか一項に記載の情報処理装置。
【請求項１６】
稼働データに含まれる複数の変数を、前記複数の変数の構造関係を表す構造データに基づきグルーピングして、少なくとも１つのグループ種類の複数のグループを生成するステップと、
前記グループ種類に応じた正則化項を、前記グループ種類に属する前記グループに含まれる前記変数に対する係数に基づいて生成するステップと、
前記稼働データと、前記正則化項を含む目的関数とに基づいて、前記複数の変数に対する複数の前記係数の値を推定するステップと、
をコンピュータが実行する情報処理方法。
【請求項１７】
稼働データに含まれる複数の変数を、前記複数の変数の構造関係を表す構造データに基づきグルーピングして、少なくとも１つのグループ種類の複数のグループを生成するステップと、
前記グループ種類に応じた正則化項を、前記グループ種類に属する前記グループに含まれる前記変数に対する係数に基づいて生成するステップと、
前記稼働データと、前記正則化項を含む目的関数とに基づいて、前記複数の変数に対する複数の前記係数の値を推定するステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
機器から収集するデータを用いて機械学習を行うことにより、機器の異常の検知等を行うためのモデルを学習することが広く行われている。機器から収集するデータには、複数の変数が含まれる。変数間に構造上の関係性がある場合、変数同士が持つ関係を反映させた正則化項を含む目的関数を生成し、目的関数を最適化することで、モデルに用いる変数を絞り込むことができる。これにより、モデルの解釈性を高める効果等が期待できる。例えば、モデルに含まれている変数から、異常検知の要因を分かり易く特定できる。
【０００３】
しかしながら、この方法では、分析者が学習を行う前に変数間の構造の関係を設計し、その関係を反映させた正則化項を定義する必要があった。このため、この方法は容易でなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２６７２０１号公報
【特許文献２】特開２０１８−１８５７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、変数間に存在する構造の関係を反映した正則化項を容易に生成することを可能とする情報処理装置、情報処理方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の実施形態に係る情報処理装置は、稼働データに含まれる複数の変数を、前記複数の変数の構造関係を表す構造データに基づきグルーピングして、少なくとも１つのグループ種類の複数のグループを生成するグループ設定部と、前記グループ種類に応じた正則化項を、前記グループ種類に属する前記グループに含まれる前記変数に対する係数に基づいて生成する正則化項生成部と、前記稼働データと、前記正則化項を含む目的関数とに基づいて、前記複数の変数に対する複数の前記係数の値を推定する係数推定部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理装置の構成図。
【図２】稼働データＤＢに格納されている稼働データの一例を示す図。
【図３】構造データの一例をテーブル形式で示した図。
【図４】構造データの一例を、木構造をベースとして示した図。
【図５】グループ設定データの例をテーブル形式で示す図。
【図６】評価関数の例を示す図。
【図７】正則化項の例を示す図。
【図８】正則化項の他の例を示す図。
【図９】正則化ルールデータの一例を示す図。
【図１０】係数出力データの例を示す図。
【図１１】変数出力データの一例を示す図。
【図１２】変数構造データのグラフで表示した例を示す図。
【図１３】変数構造データのグラフで表示した他の例を示す図。
【図１４】変数構造データのグラフで表示した他の例を示す図。
【図１５】変数構造データのグラフで表示した他の例を示す図。
【図１６】第１の実施形態に従った情報処理装置による動作の一例のフローチャート。
【図１７】機器が昇降機の場合の構造データの例を示す図。
【図１８】機器がＭＦＰ（Multi-Function Peripheral）の場合の構造データの例を示す図。
【図１９】第２の実施形態に係る情報処理装置のブロック図。
【図２０】第３の実施形態に係る情報処理装置のブロック図。
【図２１】第４の実施形態に係る情報処理装置のハードウェア構成を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明の実施形態について説明する。
【０００９】
（第１の実施形態）
図１は、本実施形態に係る情報処理装置の構成図を示す。本情報処理装置は、複数の機器から収集した稼働データに基づき、機器の異常、故障、性能低下等の所定の事象の発生の要因に関する変数を統計的な処理を用いて特定するものである。具体的には稼働データに基づき、目的変数を複数の説明変数により回帰するモデルを生成し、回帰モデルに含まれる説明変数の係数に基づき、要因の候補となる変数を決定する。目的変数は、所定の事象の発生を検知するための値であり、モデルの出力値に対応する。
【００１０】
図１の情報処理装置は、一例としてコンピュータとモニターで実現する装置である。コンピュータが２つ以上の装置から構成され、各装置がインターネット等のネットワークを介して接続されてもよい。本装置がクラウド上に配置され、インターネット等のネットワークを介して、本装置の操作者であるユーザから遠隔操作されてもよい。
【００１１】
図１の情報処理装置は、稼働データ抽出部１１、構造データ読み込み部１２、グループ設定部１３、モデル構築部１４、正則化ルール入力部１５、正則化項生成部１６、評価関数入力部１７、変数決定部１８、変数構造生成部１９、及び表示部２０を備えている。また、情報処理装置は、データベース（ＤＢ）として、稼働データＤＢ２１及び構造データＤＢ２２を備えている。
【００１２】
稼働データＤＢ２１は、複数の機器から取集した稼働データを格納している。稼働データの種類として、機器に含まれる複数の部品の動作の有無を表す稼働有無データ、及び機器に含まれる複数のセンサの検出値のセンサデータがある。また、機器の保守の履歴データ、機器の試験データがある。これらのいずれでも、本実施形態は可能である。機器からの稼働データの収集は、本装置が有線又は無線の通信装置を用いて、インターネット等のネットワークを介して行ってもよい。あるいは、あらかじめ各機器から取得した稼働データをメモリデバイス等の記憶装置に格納しておき、記憶装置から稼働データＤＢ２１に有線接続又は無線接続を介して、インストールしてもよい。各機器の稼働データは一定時間ごとに収集してもよいし、各機器で所定のイベントが発生したタイミングで収集してもよい。所定のイベントは、機器がジョブを実行したこと、機器のユーザにより所定の操作が行われたこと、所定の時刻になったこと、一定レベル以上の振動を検知したことなど何でもよい。
【００１３】
図２は、稼働データＤＢ２１に格納されている稼働データの一例を示す。この例では、機器として搬送機器（例えば郵便区分器など）から稼働データを収集した場合を想定する。但し、機器はこれに限定されず、複写機、空調機、監視装置、モバイル機器でもよいし、その他の機器でもよい。
【００１４】
日時、機器ＩＤ、データＩＤ、故障有無と、複数の稼働項目とが含まれる。日時は稼働データが取得された時刻を示す。故障有無と複数の稼働項目は、一例として稼働データに含まれる複数の変数、又は複数の特徴量に対応する。故障有無の代わりに、異常の有無、機器の性能値、又は、異常の発生の有無を判断するための監視値などを用いてもよい。
【００１５】
機器ＩＤは、稼働データが取得された機器の識別子である。データＩＤは、稼働データの識別子である。故障有無は、機器が故障しているか否かを表す。故障有無の情報は、機器から取得可能な場合は機器から直接取得してもよいし、機器から直接取得できない場合は、機器の管理者が点検により故障の有無を判断し、判断の結果を登録してもよい。
【００１６】
各稼働項目には、“１”又は“０”が格納されている。一例として、図示の稼働データは、各機器があるジョブを実行したときに取得されたものである。この場合、“１”は、当該ジョブが実行されたときにその項目の動作があったことを意味する。また、“０”は、当該ジョブが実行されたときにその項目の動作がなかったことを意味する。稼働データが一定時間間隔で取得される場合、当該一定時間内にその項目の動作があった場合は、その項目の値は“１”になる。当該一定時間内にその項目の動作がなかった場合は、その項目の値は“０”になる。
【００１７】
例えば、機器ＡのＩＤ＝１の稼働データでは、〇社製モータが動作し、反射台が動作し、ピックアップユニットが動作し、ベルトが高速度帯で動作したことを意味する。機器Ａは、×社製モータ、△社製モータを搭載していないため、これらの項目の値は常に０である。
【００１８】
会社別のモータの動作とは別に、モータ動作があったかどうかの稼働項目が存在しており、この項目の値も機器から取得されている。ＩＤ＝１の稼働データでは、モータ動作は“１”となっている。〇社製モータが動作してれば、モータ動作も当然あったことになるため、会社別のモータが動作していれば、モータ動作の項目は“１”になる。なお、モータ動作の項目が存在しなくてもよい。
【００１９】
また、機器Ａのベルトの速度帯は仕様で高速度帯であることが定められているため、ベルトが動作したときは、常に、ベルト速度帯：高が１になり、ベルト速度帯：中、及びベルト速度帯：遅は常に０である。但し、ベルトの速度帯が条件に応じて、高速度、中速度、低速度で変更可能な場合は、そのときの速度帯に応じて１が立つ項目が変化してもよい。
【００２０】
この例では、稼働項目の値は“１”又は“０”であるが、センサの計測値又は演算値など、連続値でもよい。例えば、モータの速度又はベルトの速度等の稼働項目が存在し、モータの速度の値、又はベルトの速度の値などが格納されてもよい。
【００２１】
稼働データ抽出部１１が、稼働データＤＢ２１から本実施形態の処理に用いる稼働データを抽出する。稼働データの抽出は、例えば稼働データを抽出する期間をユーザが指定し、その期間内の稼働データを抽出することで行ってもよい。稼働データを抽出する複数の機器をユーザが指定し、指定した機器の稼働データを抽出してもよい。本装置の操作者であるユーザが、抽出する稼働データを任意に指定し、指定した稼働データを抽出してもよい。稼働データＤＢ２１内のすべての稼働データを抽出してもよい。その他の方法で、稼働データの抽出を行ってもよい。
【００２２】
構造データＤＢ２２は、複数の変数（データ項目）間の構造関係を表す構造データを格納する。構造関係の例として、「is-a」、「part-of」、「has<attribute>-of」、「has-effect-of」などがある。
【００２３】
構造データの形式の例として、オントロジー形式、ＲＤＦ（Resource Description Framework）形式、ネットワーク形式、ツリー形式、テーブル形式等があるが、構造関係を表現できる限り、ここに挙げた以外のものでもよい。
【００２４】
図３は、構造データの一例をテーブル形式で示したものである。このテーブルは、第１データ名・関係・第２データ名を有する。第１データ名の列及び第２データ名の列には変数の名称が記載されている。「関係」は、２つの変数同士の構造関係が格納されている。図２の稼働データの各変数は、構造データにおけるいずれか１つの変数に対応づけられる。本実施形態では同じ名称の変数に対応づけられるとするが、対応付けが可能である限り、名称が同じである必要は無い。構造データには、稼働データに含まれない変数が含まれていてもよい。
【００２５】
「is-a」は第１データ名の変数が、第２データ名の変数の特化であることを意味する。第１データ名の変数は、第２データ名の変数のクラスに帰属する。例えば、〇社製モータ動作、×社製モータ動作、△社製モータ動作は、いずれもモータ動作と、「is-a」関係で結ばれている。つまり、〇社製モータ動作、×社製モータ動作、△社製モータ動作は、同じモータ動作というクラスに帰属している。〇社製モータ動作、×社製モータ動作、△社製モータ動作は、それぞれモータ動作のインスタンスであるとも言える。この場合、〇社製モータ動作、×社製モータ動作、△社製モータ動作は、同一のクラスに帰属する点において、同一のグループを構成する。
【００２６】
「part-of」は、第１データ名の変数が、第２データ名の変数の一部であることを意味する。つまり、第２データ名の変数は、第１データ名の変数を所有する。例えば、ベルト動作、ローラ動作、モータ動作は、いずれも、レーン搬送ユニット動作と、「part-of」関係で結ばれている。つまり、ベルト動作、ローラ動作、モータ動作は、いずれもレーン搬送ユニット動作の一部である。木構造で表現した場合、ベルト動作、ローラ動作、モータ動作は、いずれもレーン搬送ユニット動作の子ノードであるともいえる。この場合、ベルト動作、ローラ動作、モータ動作は、同一の上位ノード（この例では親ノード）に属するという点において、同一のグループを構成する。
【００２７】
「has<attribute>-of」は、第１データ名の変数が、第２データ名の変数の属性であることを意味している。例えば、〇社製モータ動作は、ベルト速度帯：速と、「has<attribute>-of」で結ばれている。つまり、ベルト速度帯：速は、〇社製モータの属性である。この場合、〇社製モータは参照元の変数、ベルト速度帯：速は参照先の変数に相当する。〇社製モータとベルト速度帯：速は、参照関係にあるという点において、同一のグループを構成する。同様に、×社製モータ動作は、ベルト速度帯：中と「has<attribute>-of」で結ばれている。つまり、ベルト速度帯：中は、×社製モータ動作の属性である。×社製モータは参照元の変数、ベルト速度帯：中は参照先の変数に相当する。この場合、×社製モータ動作は、ベルト速度帯：中は、参照関係にあるという点において、同一のグループを構成する。
【００２８】
「has-effect-of」は、第１データ名の変数が、第２データ名の変数に影響を与えることを意味している。例えばモータの速度値は、ベルトの速度値と「has-effect-of」で結ばれている。つまり、モータの速度値は、モータにより駆動されるベルトの速度値に影響を与える。この場合、モータの速度値は参照元の変数、ベルトの速度値は参照先の変数に相当する。モータの速度値とベルトの速度値は参照関係にあるという点において同一のグループを構成する。
【００２９】
ここでは参照関係の例として、「has<attribute>-of」と「has-effect-of」を示したが、他の参照関係を定義してもよい。例えば<attribute>を特化し、「has速度帯-of」とし、これを図３に示した「has<attribute>-of」の代わりに用いてもよい。
【００３０】
図４は、構造データの一例を、木構造をベースとして示したものである。各矩形によって変数（データ名）が表されている。また吹き出しによって変数間の関係が示されている。
【００３１】
１つの上位ノードに対して「part-of」が付された複数の下位ノードの変数は、当該上位ノードの変数に対して同一の階層関係にある。これら複数の下位ノードの変数は同一のグループを構成する。「part-of」を２世代以上にわたって辿ることで、同一の階層関係を親子関係より広い関係で定義できる。例えば、ベルト動作、ローラ動作、モータ動作、取出ローラ動作、及び押し当て器動作のノードは、いずれも、２世代上位のノードである搬送ユニット動作の下位ノードである。したがって、搬送ユニット動作のノードに対して、ベルト動作、ローラ動作、モータ動作、取出ローラ動作、及び押し当て器動作の変数は同一の階層関係にある。つまり、搬送ユニット動作のノードに対して、ベルト動作、ローラ動作、モータ動作、取出ローラ動作、押し当て器動作は同一のグループを構成する。このように１つの変数が複数のグループに属することも可能である。つまり部分木と、部分木を包含する別の部分木との両方に１つの変数が属することが可能である。
【００３２】
１つの変数のノードに対して、「is-a」が付された矢印付きの線で結合されている複数の変数は、当該１つの変数のクラスに属している。これらの複数の変数は、当該１つの変数をクラスとしたときのインスタンスに相当する。これらの複数の変数は同一のグループを構成する。
【００３３】
１つのノードの変数と、当ノードに「has<attribute>-of」又は「has-effect-of」等が付された矢印付きの線で結合されているノードの変数との関係は、参照関係に対応する。矢印付きの線で結合された変数は同一のグループを構成する。
【００３４】
一例として稼働データには、少なくとも木構造の末端ノードに対応する変数が含まれる。図示の例では、取出ローラ動作、押し当て器動作、ベルト動作、ローラ動作、モータ動作、反射台動作、及び発光器動作のそれぞれの変数が含まれる。末端ノードより上位のノードの変数の値が、稼働データの項目として含まれていてもよいし、含まれていなくてもよい。つまり、構造データの末端ノード以外のノードに対応する変数は、稼働データに存在しても存在しなくてもよい。
【００３５】
このように構造データは、テーブル形式又は木構造ベースの形式など、任意の形式で定義できる。
【００３６】
構造データ読み込み部１２は、構造データＤＢ２２から構造データを読み出して、グループ設定部１３、正則化項生成部１６、及び変数決定部１８に提供する。構造データ読み込み部１２は、読み込んだ構造データを、提供先の処理部が処理可能な形式に変換し、変換後の構造データを提供してもよい。例えば、図４の木構造ベースの構造データを読み込んで、図３のテーブル形式の構造データに変換してもよい。また、例えば木構造ベースの構造データをＲＤＦ形式に変換してもよい。これ以外の方法で、構造データの変換を行ってもよい。
【００３７】
グループ設定部１３は、構造データ読み込み部１２から提供された構造データに基づき、グループ化基準の元、稼働データに含まれる複数の変数をグルーピングし、少なくとも１つのグループ種類の複数のグループを生成する。これによりそれぞれ変数を含む少なくとも１つのグループ種類の複数のグループを生成する。各変数に対して、各変数が属するグループを識別するラベルを設定する。このように各変数にラベルを設定することで、グループ設定データを生成する。
【００３８】
グループ種類の例として、変数が表すクラスの複数のインスタンスに対応する複数の変数（is-a関係にある複数の変数）を、１つにまとめたグループ（クラス関係のグループ又はクラスグループ）がある。
【００３９】
グループ種類の他の例として、複数の変数間の構造関係を木構造ベースの形式で表現した場合に、上位ノードが共通する複数の下位ノードに対応する複数の変数を、１つにまとめたグループ（階層関係のグループ又は階層グループ）がある。
【００４０】
グループ種類の他の例として、参照関係を有する複数の変数に対応する複数の変数を、１つにまとめたグループ（参照関係のグループ又は参照グループ）がある。
【００４１】
グループ設定データの形式は、テーブル、リスト、辞書、タプル等など、任意の形式でよい。グループ設定部１３は、生成したグループ設定データをモデル構築部１４及び正則化項生成部１６に提供する。
【００４２】
図５に、グループ設定データの例をテーブル形式で示す。同じグループに属する複数の変数には同じラベルを、グループＩＤとして付与している。図の例では同じグループに属する複数の変数にはＧで始まる同じラベルを付与している。ラベルの値は、グループを区別できる限り、何でもよい。
【００４３】
例えば、○社製モータ、×社製モータ、△社製モータは同じグループに属するため、ラベルＧ１を付与している（同一のクラスに属するグループ）。ベルト動作、ローラ動作、モータ動作は同じグループに属しているためグループＩＤとしてラベルＧ２を付与している（同じ親ノードに属している、すなわち、同じ階層関係にあるグループ）。ベルト動作、ローラ動作、モータ動作、搬送ローラ動作、押し当て器動作は同じグループに属しているためグループＩＤとしてラベルＧ３を付与している（同じ上位に属しており、同じ階層関係にあるグループ）。○社製モータと速度帯：高は参照関係にあり、同じグループに属しているため、同じＧ１２で始まるラベルが付与されている。この際、参照元及び参照先を識別する枝番号をラベルに追加してもよい。図の例では、○社製モータには、参照元を表す番号“−１”、速度帯：高には、参照先を表す枝番号“−２”が追加されている。なお、参照元及び参照先を区別しない構成も可能である。またテーブルの行の順番で参照元及び参照先を区別するようにしてもよい。
【００４４】
評価関数入力部１７は、評価関数の入力を外部から受け付ける。外部はユーザが操作する入力装置（キーボード、マウス、タッチパネルなど）でもよいし、評価関数を記憶した記憶装置でもよいし、ネットワークを介して接続された通信装置でもよい。記憶装置は、本装置の内部に設けられてもよいし、接続インターフェースを介して外部接続された装置でもよい。評価関数は、稼働データに含まれる複数の変数と、当該複数の変数に対する複数の係数とを用いて定義される。
【００４５】
評価関数は、正則化項と結合することにより目的関数を生成するためのものである。目的関数は、一例として、稼働データの複数の変数（稼働項目）を説明変数と、稼働データの目的変数（例えば故障項目）とに基づき、複数の説明変数から目的変数を回帰するモデルの当てはまり度を評価するための基本となる関数である。目的関数を最適化（例えば最小化又は最大化）することにより、各説明変数の係数が推定される。推定された係数がゼロの説明変数はモデルに用いないことを意味する。すなわち、係数がゼロでない説明変数が、モデルで用いられる説明変数である。但し、係数がゼロでなくても、閾値以下の係数の説明変数をモデルに用いないとする構成も可能である。ここで、モデルは、線形回帰モデル、ロジスティック回帰モデル、ニューラルネットワークなど、どのようなモデルでもよい。
【００４６】
評価関数入力部１７は、稼働データにおいて目的変数とする項目と、説明変数とする項目の指定の入力を受け付けてもよい。例えばユーザは、故障の項目を目的変数、稼働項目を説明変数として指定する。稼働データが、異常の有無、機器の性能値、又は、異常の発生の有無を判断するための監視値などの項目を含む場合は、この項目を目的変数としてもよい。
【００４７】
図６（Ａ）〜図６（Ｄ）に評価関数の例を示す。モデルが線形回帰モデルであり、いずれの説明変数も複数のグループに属さないとき、すなわちグループ間で変数の重複が無いときは（例えば全てのグループがクラスグループのみの場合）、評価関数として図６（Ａ）の二乗誤差関数を用いることができる。説明変数と係数との積和演算の値をｙから減算し、減算結果を二乗している。同様の場合に、モデルがロジスティック回帰モデルであるときは、評価関数として、図６（Ｃ）の対数尤度関数を用いることができる。φはロジスティック回帰モデルの関数（ロジスティック関数）を表す。
【００４８】
複数のグループに共通に属する説明変数が少なくとも１つ存在するときは、すなわち、グループ間で説明変数の重複が有るときは、評価関数として、図６（Ｂ）の二乗誤差関数（木構造）を用いることができる。この評価関数では、説明変数と係数との積和演算を、グループ毎に計算し、積和演算の結果をグループ間で総和し、総和した値をｙから減算し、減算結果を二乗している。同様の場合に、モデルがロジスティック回帰モデルであるときは、評価関数として、図６（Ｄ）の対数尤度関数を用いることができる。
【００４９】
図６（Ａ）〜図６（Ｄ）の評価関数において、ｙは目的変数に対応する。Ｘは複数の説明変数を含むベクトルであり、βはベクトルＸに含まれる各説明変数のパラメータ（係数）を含むベクトルである。説明変数は全部でＬ個あるとする。βは現時点では未定である。図６（Ｂ）又は図６（Ｄ）の評価関数の“ｍ”は、グループを表す。グループがＧ１〜Ｇ２０まで存在する場合、ｍ＝Ｇ１〜Ｇ２０までの総和をとることを意味する。図６（Ｄ）の評価関数の“Ｔ”は行列の転置を表す。図６（Ｃ）及び図６（Ｄ）の評価関数の“ｉ”は、稼働データを識別する。
【００５０】
上述の評価関数の決定例は一例であり、他の方法でもよい。例えば図６（Ａ）又は図６（Ｂ）の式の括弧の中の第２項（ｙから減算される項）を適宜アレンジしてもよい。例えば変数の重複があるグループ間のみΣＸβを適用し、変数の重複がないグループについては、図６（Ａ）のＸβを適用し、（ｙ―Ｘｉβｉ−ΣＸｊβｊ）２の評価関数を定義してもよい。これ以外の方法で評価関数を定義してもよい。
【００５１】
正則化項生成部１６は、グループ設定部１３からグループ設定データを受け取り、グループ設定データに基づき、目的関数を構成する要素となる正則化項を生成する。正則化項生成部１６は、正則化項を、グループ種類（クラスグループ、階層グループ、参照グループ）ごとに生成する。より詳細には、グループ種類に属する各グループに含まれる変数に対する係数に基づいて、グループ種類に対応する正則化項を生成する。後述するモデル構築部１４では、生成した正則化項と、評価関数入力部１７で受け付けた評価関数とに基づき目的関数を生成する。
【００５２】
図７（Ａ）〜図７（Ｃ）に正則化項の例を示す。図７（Ａ）はGroup Lassoの正則化項、図７（Ｂ）はOverlapping Group Lassoの正則化項、図７（Ｃ）はClustered Lassoの正則化項を示す。
【００５３】
クラスグループ（同一クラスに属する複数の説明変数を含むグループ）に対しては、グループ間に説明変数の重複はないため、図７（Ａ）のGroup Lassoの正則化項を生成する。ｇはグループを表し、Ｇはグループの集合を表し、λｇは正則化の強さを決める正則化パラメータ（ハイパーパラメータ）である。Group Lassoの正則化項では、当該グループ毎に、グループに属する複数の説明変数の係数（重み）を用いてL2ノルム（||βｇ||2）を計算し、計算したL2ノルムの和をとる (Group Lasso)。これは複数のグループのL1ノルムを計算することに相当する。βｇは、グループｇに属する複数の説明変数の係数を含むベクトルである。||βｇ||2は、ベクトルβｇ内の各要素を二乗して総和し、総和した値の平方根をとること（L2ノルム）を表す。
【００５４】
階層グループに対しては、グループ間に説明変数の重複があるため、図７（Ｂ）のOverlapping Group Lassoの正則化項を生成する。ｔはグループを表し、Ｔはグループの集合を表し、λｔは正則化の強さを決める正則化パラメータ（ハイパーパラメータ）である。Overlapping Group Lassoの正則化項では、グループ毎に、グループに属する複数の説明変数の係数（重み）を用いて、L2ノルムを計算し、L2ノルムの和をとる (Overlapping Group Lasso)。これは複数のグループについてL1ノルムを計算することに相当する。||βｔ||2は、ベクトルβｔ内の各要素を二乗して総和し、総和した値の平方根をとること（L2ノルム）を表す。なお、説明変数に重複のない階層グループが存在する場合、当該階層グループに対してはGroup Lassoの正則化項を生成してもよい。
【００５５】
参照グループに対しては、図７（Ｃ）のClustered Lassoの正則化項を生成する。λｐは正則化の強さを決める正則化パラメータ（ハイパーパラメータ）である。Clustered Lassoの正則化項では、ペアとなる変数の係数（重み）の差分のL2ノルムに、参照係数を乗算した値の和を取る。（ｊ、ｋ）は参照関係のグループを表し、ｐは、参照関係のグループの集合（リンク集合）である。ｊは参照元の変数、ｋは参照先の変数を識別する。βｊは参照元の変数の係数、βｋは参照先の変数の係数である。ｐのサイズは、参照関係のグループの個数に対応する。ｗｊ、ｋは係数である。ｗｊ、ｋを設けない（すなわちｗｊ、ｋをすべて１にする）構成も可能である。
【００５６】
図８（Ａ）及び図８（Ｂ）は、他の正則化項の例を示す。図８（Ａ）はL2（Ridge）の正則化項、図８（Ｂ）はL1（Lasso）の正則化項を表す。λｒ及びλｌは、正則化の強さを決める正則化パラメータ（ハイパーパラメータ）である。
【００５７】
L2（Ridge）の正則化項は、正則化の対象となる説明変数の係数に基づきL2ノルム（||βｓ||２）を計算する。βｓは正則化の対象となる説明変数を表す。||βｓ||２は、各βｓを二乗して総和し、総和した値の平方根をとること（L2ノルム）を表す。L2（Ridge）の正則化項は、一例として、参照関係にある（すなわち参照グループに属する）説明変数同士に対して用いることができる。この場合、参照関係にある説明変数（参照元の説明変数、参照先の説明変数）をそれぞれβｓとする。参照関係の種類に応じて、図７（Ｃ）の正則化項と、図８（Ａ）の正則化項とを使い分けてもよい。また、稼働データに含まれる稼働項目の全ての説明変数に対してL2（Ridge）の正則化項を生成することも排除されない。
【００５８】
L1（Lasso）の正則化項は、正則化の対象となる説明変数の係数に基づきL1ノルム（||βｈ||１）を計算する。βｈは正則化の対象となる説明変数を表す。||βｈ||１は、各βｈを総和し、総和した値の平方根をとること（L1ノルム）を表す。一例として、L1（Lasso）の正則化項は、稼働データに含まれる稼働項目の全ての説明変数に対して生成することができる。この場合、全ての説明変数をそれぞれβｈとする。また、参照関係にある（参照グループに属する）説明変数同士に対して、L1（Lasso）の正則化項を生成してもよい。参照関係の種類に応じて、図７（Ｃ）の正則化項と、図８（Ａ）及び図８（Ｂ）の正則化項とを使い分けてもよい。
【００５９】
本実施形態では、図７（Ａ）〜図７（Ｃ）の正則化項のうち少なくとも１つを生成する場合を想定する。図８（Ａ）又は図８（Ｂ）の正則化項を生成する場合は、図７（Ａ）〜図７（Ｃ）の正則化項の少なくともいずれか１つとともに生成するものとする。但し、この方法に制限されない。
【００６０】
正則化ルール入力部１５は、構造関係と、正則化の種類と、正則化パラメータとを指定した正則化ルールデータの入力を外部から受け付ける。外部はユーザが操作する入力装置（キーボード、マウス、タッチパネルなど）でもよいし、評価関数を記憶した記憶装置でもよいし、本装置とネットワークを介して接続された通信装置でもよい。記憶装置は、本装置の内部に設けられてもよいし、接続インターフェースを介して外部接続された装置でもよい。
【００６１】
図９に、正則化ルールデータの一例を示す。関係と、正則化の種類と、正則化パラメータλの値とを関連づけたルールが複数格納されている。
【００６２】
１行目は、「is-a」の関係にある各グループ（クラスグループ）に対しては、Group Lassoの正則化項を生成し、正則化パラメータを０．２とすることを定めている。
【００６３】
２行目は、「part-of」の関係に基づく各グループ（階層グループ）に対しては、Overlapping Group Lassoの正則化項を生成し、正則化パラメータを０．１とすることを定めている。
【００６４】
３行目は、「has<attribute>-of」の参照グループに対しては、Clustered Lassoの正則化項を生成し、正則化パラメータを０．３とすることを表す。
【００６５】
４行目は、「has<attribute>-of」の<attribute>が「速度帯」の場合の特例を定めている。この場合、L2正則化項を生成し、正則化パラメータを０．４とすることを表している。
【００６６】
５行目は、「has-effect- -of」の参照グループに対しては、Clustered Lassoの正則化項を生成し、正則化パラメータを０．３とすることを表す。
【００６７】
６行目は、稼働データにおける稼働項目すべての変数（object）に対して、L1正則化項を生成し、正則化パラメータを０．２とすることを表す。
【００６８】
また、図９に示したルールの一部が存在しなくてもよい。例えば４〜６行目のルールの全部又は一部が存在しなくてもよい。
【００６９】
モデル構築部１４の係数推定部１４Ａは、正則化項生成部１６により生成された正則化項に基づく目的関数として、当該正則化項と、評価関数入力部１７が受け付けた評価関数とを含む目的関数を生成する。目的関数は、正則化項と、複数の説明変数と、複数の説明変数に対する複数の係数とを含んでいる。係数推定部１４Ａは、目的関数の出力値を最適化（例えば最大化又は最小化）することにより、各説明変数に対する係数（重み）を推定する。
【００７０】
一例として、評価関数が二乗誤差関数の場合（図６（Ａ）又は図６（Ｂ）又はこれらをアレンジした場合など）、評価関数と正則化項との和をとることにより、目的関数を生成し、目的関数を最小化するアルゴリズムにより変数の係数を推定する。
【００７１】
評価関数が対数尤度関数の場合は、評価関数から正則化項を引くことにより、目的関数を生成し、目的関数を最大化するアルゴリズムにより変数の係数を推定する。
【００７２】
正則化項によって、目的関数の出力への寄与が小さい階層グループ及びクラスグループは、当該グループ内の全ての説明変数の係数がゼロになり易い。もしくは、当該グループ内の説明変数のうち、寄与の大きい説明変数の値が大きく、寄与の小さい説明変数の係数の値が小さくなり易い。係数がゼロの変数はモデルの説明変数として用いないことで、モデルに用いる説明変数を絞り込むことができる。なお、係数がゼロではないが、絶対値が小さい説明変数（例えば係数の絶対値が閾値以下の説明変数）をモデルの説明変数として用いない構成も可能である。モデル構築部１４は、このようにして絞り込まれた説明変数と当該説明変数の係数とに基づき、説明変数から目的変数を回帰する回帰モデルを生成する。
【００７３】
係数推定部１４Ａが生成する目的関数ｆ（ｘ）の一例を以下の式に示す。
【数１】
2020204841.tif 000003
【００７４】
この例ではクラス関係のグループ（クラスグループ）がＧ個と、階層関係のグループ（階層グループ）がＴ個、参照グループがｐ個存在している。ｇ個のクラスグループに対してGroup Lassoの正則化項が生成され、ｔ個の階層グループに対してOverlapping Group Lassoの正則化項が生成され、ｐ個の参照グループに対して、Clustered Lassoの正則化項が生成されている。各正則化項のλは、前述した正則化ルールデータから決定される。
【００７５】
ここで、Ｘｍβｍは、１つの説明変数ｘｍとその係数１つのみの場合も含まれる。特に、Clustered Lassoでは、式（１）における評価関数の第二項（Ｘｍβｍ）の適用にあたっては、変数集合Ｐに含まれる個々の１つの変数とその係数とが、1つの説明変数ｘｍとその係数１つに対応し、１つのグループを構成すると考える。また、評価関数の第二項（Ｘｍβｍ）に相当するグループが、クラスグループ集合Ｇ、階層グループ集合（木構造集合）Ｔ、参照グループ集合（変数の集合）ｐ間で、２以上重複する場合は消去して１つのみにする。すなわち、ここでは、Ｘβの集合から当該重複を除いた場合のグループの総数をｍとする。
【００７６】
これら３つの正則化項の全てが存在する必要はない。例えば、これら３つのうち少なくとも１つが存在しない場合もあり得る。また、式（１）では、Ｌ２（Ridge）正則化、及びＬ１（Lasso）正則化項は含まれていないが、これらのうちの少なくとも一方がさらに含まれていてもよい。
【００７７】
また、式（１）では評価関数として、図６（Ｂ）の二乗誤差関数が用いられている。評価関数は、この例では（ｙ−ΣＸβ）２としているが、前述したように他の形の関数も可能である。二乗誤差関数に代えて、図６（Ｄ）の対数尤度関数を用いることもできる。
【００７８】
係数推定部１４Ａは、目的関数ｆ（ｘ）を最小化することにより、各説明変数（ｘｉとする）の係数（βｉとする）を推定する。これにより、一例として、目的関数の出力への寄与が小さい階層グループ及びクラスグループ内の説明変数の係数はすべてゼロ（又は小さい値）になる、もしくは、当該グループ内の説明変数のうち、寄与の大きい説明変数の値が大きく、寄与の小さい説明変数の係数の値が小さくなるよう調整される。また、参照グループについては、参照元及び参照先の説明変数の係数が同じに値なる（又は近い値になる）よう調整される。つまり、参照元及び参照先の一方が重要なら、他方も重要になるように調整される。
【００７９】
図１０は、モデル構築部１４により推定された各説明変数の係数の値の例を、係数出力データとして示す。○社製モータ、×社製モータ、△社製モータは同じクラスグループを形成する。このグループ内で、○社製モータの係数の値は大きく、×社製モータ、△社製モータの係数の値は小さくなっている。同様に、○社製ユニット、×社製ユニット、△社製ユニットは同じクラスグループを形成する。このグループ内で、○社製ユニット及び△社製ユニットの係数の値は大きく、×社製ユニットの係数の値は小さくなっている。ベルト動作、ローラ動作、モータ動作は同じ階層グループを形成し、いずれの係数の値も一定値以上になっている。この例では全ての説明変数の係数がゼロになるグループは存在しないが、そのようなグループが存在する場合もあり得る。
【００８０】
モデル構築部１４は、各説明変数の係数の値に基づき、複数の説明変数から目的変数を予測するモデルを生成する。一例として、係数の値がゼロでない説明変数をすべて選択して、選択した全ての説明変数とこれらの係数とに基づき、モデルを生成する。あるいは、係数の値が閾値より大きい説明変数を選択して、選択した説明変数とこれらの係数とに基づき、モデルを生成してもよい。モデルの関数の形は、一例として、目的関数の生成に用いた評価関数に依存する。例えば、目的関数として式（１）を用いた場合、生成されるモデルの関数を以下になる。
【数２】
2020204841.tif 000004
【００８１】
ｎはグループを表し、ここではｎ個のグループが存在する。式（１）ではｍ個のグループが存在したが、これらのグループが全て選択されればｎ＝ｍである。ベクトルＸ及びベクトルβのそれぞれのサイズ（要素数）は、グループ内で選択された説明変数の個数に対応する。
【００８２】
評価関数として図６（Ｄ）の対数尤度関数を用いた場合、生成されるモデルの関数の例は以下のようになる。ｎは式（２）と同様である。
【数３】
2020204841.tif 000005
【００８３】
なお、本実施形態では、生成したモデルをその後の処理に使用しないため、モデルの生成を省略し、係数出力データのみを生成してもよい。
【００８４】
変数決定部１８は、モデル構築部１４によって生成された係数出力データ（変数名、及び係数）に対して、グループＩＤ、隣接データ名（隣接変数名）、及び構造関係の情報を追加する。これらの追加する情報は、構造データ（図３及び図４参照）及びグループ設定データ（図５参照）に基づき特定する。隣接データ名（隣接変数名）は、構造関係で結ばれた変数（隣接変数）の名称であり、図３の「関係」で結ばれた第２データ名に対応する。これらの情報が追加された後の係数出力データを、変数出力データと称する。
【００８５】
図１１に、図１０のモデル出力データに対して上述の情報を追加することにより生成された変数出力データの一例を示す。図１０のモデル出力データに図３又は図４の構造データにおける構造関係及び隣接データ名（第２データ名）と、図５のグループ設定データのグループＩＤが追加されている。
【００８６】
変数構造生成部１９は、変数出力データのデータ名（変数）及び隣接データ名（隣接変数）を、描画変数として決定する。そして描画変数間の関係を表すグラフ（変数構造データ）を生成する。描画変数同士の関係が、同じクラスに属するグループであれば、クラス関係のグループ（クラスグループ）として描画する。描画変数同士の関係が同じ階層に属するグループであれば、階層関係のグループ（階層グループ）として描画する。描画変数同士の関係が参照関係のグループであれば、描画変数同士をリンク（例えば矢印付の線）で接続したネットワーク構造として描画する。係数の値が閾値以下の変数が存在する場合に、そのことを識別する情報が描画してもよい。なお、係数がゼロの変数を描画変数として描画の対象としつつ、当該変数が選択されなかったことを識別する情報を併せて描画してもよい。
【００８７】
表示部２０は、変数構造生成部１９によって描画されたグラフをユーザに視認可能に表示する。
【００８８】
図１２に、図１１の変数出力データに基づき変数構造生成部１９によって描画されたグラフの一部の例を示す。各変数が構造関係に従って描画されている。○社製モータ、×社製モータ、△社製モータは、同じクラス（モータ動作）に属するグループ（Ｇ１）であるため、破線の枠で囲まれている。但し、×社製モータ及び△社製モータは、それぞれ係数の値が閾値以下であるため、そのことを識別する情報として斜線が、ノード内に描かれている。×社製モータ及び△社製モータの描画を行わない構成も可能である。○社製モータ、×社製モータ及び△社製モータは、モータ動作とis-a関係にあるため、矢印付の線でモータ動作と結合されている。
【００８９】
ベルト動作、ローラ動作、モータ動作は同じ階層に属するグループ（Ｇ２）であるため、破線の枠で囲まれている。ベルト動作、ローラ動作、モータ動作は、レーン搬送ユニット動作に対してpart-ofの関係を有するため、木構造の形式で（レーン搬送ユニット動作を親ノードとした場合の子ノードとして）描画されている。レーン搬送ユニット動作も、搬送ユニット動作とpart-ofの関係を有するため、搬送ユニット動作に対して、木構造の形式で描かれている。なお、レーン搬送ユニット動作及び搬送ユニット動作のいずれも本実施形態の例では稼働データに存在しなかった変数である。
【００９０】
○社製ユニット、×社製ユニット、△社製ユニットは、同じクラス（搬送ユニット動作）に属するグループ（Ｇ１１）であるため、破線の枠で囲まれている。但し、×社製ユニット及び△社製ユニットは、それぞれ係数の値が閾値以下であるため、そのことを識別する情報として斜線が、ノード内に描かれている。×社製ユニット及び△社製ユニットの描画を行わない構成も可能である。○社製ユニット、×社製ユニット及び△社製ユニットは、搬送ユニット動作とis-a関係にあるため、矢印付の線で搬送ユニット動作と結合されている。
【００９１】
図１２では描画の一部のみ示されているが、図示されていない部分についても同様して描画される。
【００９２】
図１３は、変数構造生成部１９によって描画されたグラフの他の例を示す。ここでは取出ローラ動作及び押し当て器動作のそれぞれの説明変数がいずれも選択された場合の例を示す。それ以外は図１２と同様である。描画変数を表すノードに色を付けてもよい。例えば、複数のグループに属さない描画変数と、複数のグループに共通に属する描画変数とで異なる色を用いてもよい。例えば○社製モータは複数のグループに属さないため、第１の色で描画する。ベルト動作は、グループＧ２に属し、かつグループＧ３にも属するため（図５参照）、第１の色と異なる第２の色で描画する。
【００９３】
図１４は、変数構造生成部１９によって描画されたグラフの他の例を示す。ここでは取出ローラ動作及び押し当て器動作のそれぞれの説明変数の係数がゼロであった場合の例を示す。。
【００９４】
図１５は、変数構造生成部１９によって描画されたグラフの他の例を示す。速度帯：高の変数が選択され、速度帯：中及び速度帯：低の変数の係数が閾値以下であった場合に描画されるグラフの例である。○社製モータ及び速度帯：高の変数同士が参照関係を有するため、これらの変数同士がリンクで接続されたネットワーク構造とされている。×社製モータ及び速度帯：中の間、及び△社製モータと速度帯：低の間についても同様にして、描画されている。但し、速度帯：中及び速度帯：低のノード内に斜線が追加されている。
【００９５】
ユーザは、表示部２０に表示されたグラフを視認することで、異常又は故障等の要因の候補を容易に把握できる。
【００９６】
例えば、図１２の例では、グループＧ２内のベルト動作、ローラ動作及びモータ動作が全て選択されているため、これらの親ノードに対応するレーン搬送ユニット動作が、要因の候補であるとユーザは判断できる。もし仮に、モータ動作が選択され、ベルト動作及びローラ動作が選択されなかった場合、モータ動作が、異常又は故障等の要因の候補であると判断できる。また、各社製モータのうち○社製モータのみ、係数が閾値より大きいため、○社製モータが要因の候補であると判断できる。同様に、各社製ユニットのうち○社製ユニット及び△社製ユニットのみ、係数が閾値より大きいため、○社製ユニット及び△社製ユニットが要因の候補であると判断できる。
【００９７】
例えば、図１３の例では、グループＧ３内のベルト動作、ローラ動作、モータ動作、取出ローラ及び押し当て器動作の全てが選択されているため、これらの共通の上位ノードに対応する搬送ユニット動作が、要因の候補であるとユーザは判断できる。その他は図１２と同様である。
【００９８】
図１４の例では、ピックアップユニット動作が選択されていないため、ピックアップユニット動作は、故障の要因の候補から除外できるとユーザは判断できる。
【００９９】
図１５の例では、○社製モータとベルト速度帯：高の変数がそれぞれ選択され、これらの変数が参照関係で結ばれているため、速度帯が高いモータが、要因の候補であるとユーザは判断できる。一方、×社製モータとベルト速度帯：中の変数の係数はそれぞれ閾値以下であるため、速度帯が中程度のモータは、要因の候補から除外できるとユーザは判断できる。同様に、△社製モータとベルト速度帯：低の変数はそれぞれ閾値以下であるため、速度帯が低いモータは、要因の候補から除外できるとユーザは判断できる。
【０１００】
各機器の管理者又は保守員は、要因の候補として挙げられた箇所を中心に、故障又は異常等が発生している機器の検査をすることで、効率的な検査が可能となる。
【０１０１】
図１６は、本実施形態に従った情報処理装置による動作の一例のフローチャートである。本フローチャートのステップの順序は一例であり、一部のステップの順序が入れ替わってもよい。例えばステップＳ２とステップＳ３の順序が逆でもよい。
【０１０２】
稼働データ抽出部１１が稼働データＤＢ２１から稼働データを抽出する（ステップＳ１）
【０１０３】
評価関数入力部１７が評価関数の入力を受け付け、入力された評価関数を正則化項生成部１６に供給する（ステップＳ２）。評価関数は、一例としてユーザが作成して、入力する。あるいは本装置が自動的に評価関数を作成して、入力する。予め評価関数を記憶装置に格納しておき、これを読み込んで正則化項生成部１６に提供してもよい。
【０１０４】
構造データ読み込み部１２が、構造データＤＢ２２から構造データを読み込む（ステップＳ３）。
【０１０５】
グループ設定部１３が、構造データに基づき、稼働データにおける複数の変数を対象に、グループ関係を識別する変数群に同じラベルを設定することにより、グループ設定データを生成する（ステップＳ４）。
【０１０６】
正則化ルール入力部１５が正則化ルールデータの入力を受け付け、入力された正則化ルールデータを正則化項生成部１６に提供する（ステップＳ５）。予め正則化ルールデータを記憶装置に格納しておき、これを読み込んで正則化項生成部１６に提供してもよい。
【０１０７】
正則化項生成部１６が、正則化項ルールデータとグループ設定データに基づき、グループの種別等に応じた正則化項を作成する（ステップＳ６）。
【０１０８】
モデル構築部１４が、正則化項と評価関数とに基づき目的関数を生成し、各説明変数の係数（βｉ）を推定する（ステップＳ７）。一例として正則化項と評価関数との和により目的関数を生成する。
【０１０９】
変数決定部１８が、各説明変数の係数に基づき、説明変数を選択する（ステップＳ８）。すなわち、係数の値がゼロでない説明変数を選択する。係数の値が閾値以下になった説明変数は選択しないようにしてもよい。変数決定部１８は、選択された説明変数について、構造データで定義された関係（part-of関係、参照関係など）を有する変数を特定する（同ステップＳ８）。選択された説明変数と、特定した変数とを描画変数として決定する。
【０１１０】
変数構造生成部１９は、描画変数間の関係を表すグラフを描画する（ステップＳ９）。表示部２０が、変数決定部１８が描画したグラフを表示部２０に表示する（同ステップＳ９）。
【０１１１】
以上、本実施形態によれば、変数同士が持っている構造を反映させた正則化項を自動的に生成し、生成した正則化項を含む目的関数を最適化することにより、モデルに用いる説明変数を選択する。これにより、ユーザが自ら正則化項を設計しなくても、要因の候補となる説明変数を特定できる。また、特定した説明変数と、当該説明変数に構造的に関連のある変数とを描画変数として特定し、描画変数間の構造関係をグラフにより表示することで、解釈性の高い変数選択結果が得られる。
【０１１２】
異常、故障、及び性能低下は多種多様にわたる場合があり、本装置は異常、故障、及び性能低下の種類別にモデルを生成（説明変数を選択）することも可能である。複数の異常、故障、及び性能低下の種類別に、モデルを保持しておき、これらのモデルに基づく描画をグラフで比較することにより、類似の要因をもつ当該種類をユーザが特定することも可能である。
【０１１３】
（変形例１）
上述した図４では機器が搬送機器の場合の構造データの例を示したが、機器が搬送機器以外の場合にも同様にして構造データを定義できる。
【０１１４】
図１７は、機器が昇降機の場合の構造データの例を示す。
図１８は、機器がＭＦＰ（Multi-Function Peripheral）の場合の構造データの例を示す。
【０１１５】
図１７及び図１８いずれの場合も、図４と各ノード（変数）の名称が異なるのみで、同様の木構造ベースの形式で、構造データを定義できる。構造データをテーブル形式で表現する場合も、図３と同様にして表現できる。
【０１１６】
（変形例２）
正則化ルール入力部１５が正則化パラメータ（ハイパーパラメータ）の値を調整した正則化ルールデータの再入力を受け付け、再入力した正則化ルールデータに基づき、本実施形態の処理を行うことを、繰り返し行ってもよい。繰り返しごとに、正則化パラメータと描画結果との組を対応づけて記憶装置に保存してもよい。各組のデータをユーザが切り替えながら表示部２０に表示できるようにして、ユーザが各組を比較できるようにしてもよい。
【０１１７】
ユーザが各組を比較し、各組で用いた正則化パラメータの中からユーザが、最も有効な正則化パラメータを選択可能にしてもよい。選択した正則化パラメータを次回以降の処理（例えば将来の期間内に取得された稼働データに対して本実施形態の処理を行うとき）でしてもよい。
【０１１８】
（第２の実施形態）
本実施形態では、第１の実施形態で生成したモデルを用いて、故障、異常、性能低下等の予め定めた事象の発生の検知等の判定を行うことを特徴とする。以下、本実施形態について説明する。
【０１１９】
図１９は、本実施形態に係る情報処理装置のブロック図である。図１のブロック図に対して、モデル判定部２４とモデルＤＢ２３が追加されている。
【０１２０】
モデルＤＢ２３は、モデル構築部１４で生成されたモデルを記憶する。一例として、モデルＤＢ２３には、モデルの関数の形と、選択された説明変数の係数とを記憶している。
【０１２１】
稼働データＤＢ２１には、ネットワークを介して接続された機器３１から逐次収集される稼働データを記憶していく。一例として、稼働データＤＢ２１には各機器について一定時間ごとに稼働データが記憶されていく。稼働データ抽出部１１は、稼働データＤＢ２１から稼働データ（例えばモデルの生成後に収集された稼働データ）をサンプルとして１つずつ読み出して、モデル判定部２４に供給する。
【０１２２】
モデル判定部２４は、モデルＤＢ２３に格納されているモデル（回帰モデル）と、提供されたサンプルとに基づき、予め定めた事象（故障、異常、性能低下等）が発生しているか判定する。モデル判定部２４は、サンプルにおいて、モデルに含まれている説明変数を特定し、特定した説明変数を用いてモデルを計算し、モデルの出力値を、判定閾値と比較する。これにより、当該事象が発生しているかを判定する。一例として、出力値が判定閾値より大きければ、当該事象が発生していると判定する。出力値が判定閾値以下であれば、当該事象は発生していないと判定する。なお、判定閾値は複数存在して、判定の結果を３つ以上に分類してもよい。
【０１２３】
モデル判定部２４は、判定の結果が予め定めた事象が発生していることを示す場合には、表示部２０に判定の結果（例えば異常が発生したことを示す結果ラベル）と、判定に用いたサンプルとを表示部２０に表示する。また、表示部２０にアラートを表示してもよい。この際、また、モデルに対する変数構造の描画グラフ（第１の実施形態で生成したグラフ）を表示部２０に表示してもよい。アラートは画面の表示のみでなく、音声又は振動などで行ってもよい。
【０１２４】
また、回帰モデルに含まれる複数の変数（説明変数）のうち、異常検知等に最も寄与した変数をランキングつきで出力してもよい。
【０１２５】
異常、故障、及び性能低下は多種多様にわたる場合があり、本装置は異常、故障、及び性能低下の種類別にモデルを生成することも可能である。この場合、複数の異常、故障、及び性能低下の種類別に、モデルを保持しておき、複数のモデルで同一のサンプルを分類することで異常、故障、性能低下のそれぞれが発生しているかを判別することも可能である。
【０１２６】
（第３の実施形態）
第３の実施形態では、稼働データＤＢ２１に稼働データが一定量又は一定期間蓄積されるごとに、モデルの生成、描画変数の決定、変数構造データの描画を行い、これらの結果を保存しておく。描画変数を、前回生成した描画変数と比較し、変化が生じた場合は、事象の発生（例えば異常の発生）のメカニズム又は原因が変化したものとして、表示部２０にアラートを出力する。
【０１２７】
一般に、稼働中に事象の発生の有無を検知・監視している状況において、許容可能な範囲の事象の発生の場合（例えば頻度が少ない、モデルの出力値が判定閾値以上であっても許容限界値より小さい場合など）はそのまま機器の稼働を続けることもある。これは、保守によって稼働中の機器の状態を定期及び不定期に保全する場合、大規模なインフラの監視で取られる戦略である。本実施形態では、変数構造データが変化しない場合は、この戦略を採用しつつ、変数構造データが変化した場合は、通常稼働と異なる原因で事象が発生することとなったとして、アラートを出力する。
【０１２８】
図２０は、本実施形態に係る情報処理装置のブロック図である。図１９のブロック図に対して、変数ＤＢ２５と変化判定部２６とが追加されている。
【０１２９】
本装置は、稼働データＤＢ２１に稼働データが一定量又は一定期間蓄積されるごとに、モデルの生成、描画変数の決定、変数構造データの描画を行い、これらの結果を保存しておく。例えば、第１の期間に取得された第１稼働データと、第１の期間より後の第２の期間に取得された第２稼働データとのそれぞれについて、モデルの生成、描画変数の決定、変数構造データの描画を行い、これらの結果を保存しておく。
【０１３０】
変数ＤＢ２５は、変数決定部１８で決定された描画変数の識別子を記憶する。変数ＤＢ２５は、一例として、モデル構築部１４でモデル生成が行われるごとに、描画変数の識別子を記憶する。変数ＤＢ２５は、変数構造生成部１９で描画された描画データを変数構造データとして記憶してもよい。
【０１３１】
変化判定部２６は、今回生成された描画変数（例えば上記第２稼働データに対して得られた描画変数）と、前回生成された描画変数（例えば上記第１稼働データに対して得られた描画変数）とが同じであるかを判定する。同じ場合は問題ないと判定する。異なる場合は、事象の発生のメカニズム又は原因等が変化したと判断し、アラートを表示部２０に出力する。表示部２０はアラートを表示する。別の方法として、今回描画された変数構造データが、前回描画された変数構造データと同じであるかを判定してもよい。同じ場合は問題ないと判定する。異なる場合は、事象の発生のメカニズム又は原因等が変化したと判断し、アラートを表示部２０に出力する。
【０１３２】
モデル判定部２４は、基本的に第２の実施形態と同様に動作するが、許容可能な範囲の事象の発生の場合（例えば頻度が少ない、モデルの出力値が判定閾値以上であっても許容限界値より小さい場合など）はアラートを出力せず、そのまま稼働を容認する。許容可能な範囲を超えた場合は、第２の実施形態と同様にアラートを出力する。
【０１３３】
（第４の実施形態）
図２１に、本実施形態に係る情報処理装置のハードウェア構成を示す。本実施形態に係る情報処理装置として、第１〜第３の実施形態のいずれかの情報処理装置を用いることができる。本実施形態に係る情報処理装置は、コンピュータ装置１００により構成される。コンピュータ装置１００は、ＣＰＵ１０１と、入力インターフェース１０２と、表示装置１０３と、通信装置１０４と、主記憶装置１０５と、外部記憶装置１０６とを備え、これらはバス１０７により相互に接続されている。
【０１３４】
ＣＰＵ（中央演算装置）１０１は、主記憶装置１０５上で、コンピュータプログラムである情報処理プログラムを実行する。情報処理プログラムは、情報処理装置の上述の各機能構成を実現するプログラムのことである。ＣＰＵ１０１が、情報処理プログラムを実行することにより、各機能構成は実現される。
【０１３５】
入力インターフェース１０２は、キーボード、マウス、及びタッチパネルなどの入力装置からの操作信号を、情報処理装置に入力するための回路である。
【０１３６】
表示装置１０３は、情報処理装置から出力されるデータまたは情報を表示する。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。変数構造生成部１９により生成されたデータまたは情報は、この表示装置１０３により表示することができる。
【０１３７】
通信装置１０４は、情報処理装置が外部装置と無線又は有線で通信するための回路である。稼働データ、構造データ、正則化ルール、及び評価関数等のデータは、通信装置１０４を介して外部装置から入力することができる。外部装置から入力したデータを、図１の各ＤＢに格納することができる。一例として、通信装置１０４は、機器に搭載された通信装置と通信することで、稼働データを取得し、取得した稼働データを稼働データＤＢ２１に格納してもよい。
【０１３８】
主記憶装置１０５は、情報処理プログラム、情報処理プログラムの実行に必要なデータ、及び情報処理プログラムの実行により生成されたデータなどを記憶する。情報処理プログラムは、主記憶装置１０５上で展開され、実行される。主記憶装置１０５は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。図１の各ＤＢは、主記憶装置１０５上に構築されてもよい。
【０１３９】
外部記憶装置１０６は、情報処理プログラム、情報処理プログラムの実行に必要なデータ、及び情報処理プログラムの実行により生成されたデータなどを記憶する。これらのプログラムやデータは、情報処理プログラムの実行の際に、主記憶装置１０５に読み出される。外部記憶装置１０６は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。図１の各ＤＢは、外部記憶装置１０６上に構築されてもよい。
【０１４０】
なお、情報処理プログラムは、コンピュータ装置１００に予めインストールされていてもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶されていてもよい。また、情報処理プログラムは、インターネット上にアップロードされていてもよい。
【０１４１】
また、情報処理装置は、単一のコンピュータ装置１００により構成されてもよいし、ネットワークを介して相互に接続された複数のコンピュータ装置１００からなるシステムとして構成されてもよい。情報処理装置はクラウド上に配置され、ユーザからインターネットを介して操作入力を受け付けてもよい。
【０１４２】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１４３】
１１：稼働データ抽出部
１２：構造データ読み込み部
１３：グループ設定部
１４：モデル構築部
１５：正則化ルール入力部
１６：正則化項生成部
１７：評価関数入力部
１８：変数決定部
１９：変数構造生成部
２０：表示部
２１：稼働データＤＢ
２２：構造データＤＢ
２３：モデルＤＢ
２４：モデル判定部
２５：変数ＤＢ
２６：変化判定部
３１：機器
【図１】
2020204841.tif 000006
【図２】
2020204841.tif 000007
【図３】
2020204841.tif 000008
【図４】
2020204841.tif 000009
【図５】
2020204841.tif 000010
【図６】
2020204841.tif 000011
【図７】
2020204841.tif 000012
【図８】
2020204841.tif 000013
【図９】
2020204841.tif 000014
【図１０】
2020204841.tif 000015
【図１１】
2020204841.tif 000016
【図１２】
2020204841.tif 000017
【図１３】
2020204841.tif 000018
【図１４】
2020204841.tif 000019
【図１５】
2020204841.tif 000020
【図１６】
2020204841.tif 000021
【図１７】
2020204841.tif 000022
【図１８】
2020204841.tif 000023
【図１９】
2020204841.tif 000024
【図２０】
2020204841.tif 000025
【図２１】
2020204841.tif 000026