(57)【特許請求の範囲】
【請求項１】
サンプリングして得られる複数のデータを基に、主成分ベクトルを算出するデータ解析方法において、
サンプリングして得られる前記データに対して、ハイパスフィルタ処理を行い、
ハイパスフィルタ処理後の前記データを用いた漸化計算を行うことで、主成分ベクトルを算出するものであって、
サンプリング時間ごとに、得られる前記データに対してハイパスフィルタ処理を行い、
ハイパスフィルタ処理後のデータａｆ（ｉ，ｊ）を用いた、以下に示す式（９）及び式（１０）〜（１２）で表されるＡＴ・Ａ行列に対して漸化計算を行うことで、サンプリング時間ごとに前記主成分ベクトルを算出する
ことを特徴とするデータ解析方法。
【数１】
0006510931.tif 000012
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サンプリングなどにより得られた多数のデータを解析する技術に関するものであり、特に、膨大な量のデータに対する主成分分析を行う技術に関する。
【背景技術】
【０００２】
例えば、工場等の生産施設においては、各種モータやポンプが数多く稼働している。また、製品の組み立てや溶接においては、多関節ロボットを用いた作業が広く行われている。このような多関節ロボットは、各軸に電動モータと減速機を有するものとなっている。
上記したようなモータやポンプ、減速機などの動力伝達状況、言い換えれば、回転機器の動力伝達状況を把握することは、回転機器の稼働状況を把握したり、故障診断を行う上で重要となる。
【０００３】
回転機器における動力伝達状況のデータを取得して、その取得したデータを解析して故障診断を行う手法は、種々存在する。そのデータ解析方法の一例として、主成分分析手法がある。
主成分分析手法（principal component analysis：PCA）は、直交回転を用いて変数間に相関がある元の観測値を、相関の無い主成分とよばれる値に変換するための数学的な手法のことである。この技術に関する先行文献としては、特許文献１に示すものがある。
【０００４】
すなわち、特許文献１には、計算量を削減することができ、かつ、計算量の削減に伴う計算精度の低下が従来よりも小さな主成分分析方法（カーネル主成分分析方法）が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２２９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１などに開示された従来からの主成分分析手法を用いて、多数のデータを解析するに際しては、以下のような問題点が存在する。
すなわち、長期の時間に亘って取得したデータの解析にあたり、主成分分析手法を用いようとした場合、長期の時間に亘って取得したデータは、膨大なデータ量となり、この膨大なデータ量を用いた行列計算などを行う必要があるため、主成分分析を行うために多くの時間がかかってしまう虞がある。
【０００７】
例えば、回転機器における動力伝達状況のデータを１秒に１回、１年間に亘り取得して、その取得したデータを解析して故障診断を行うにあたっては、測定した全ての周波数成分のサンプルデータｙ１〜ｙＭと、そのときの回転位相（回転角）ｐ１〜ｐＭとが、約３０００万個（≒３６００秒×２４時間×３６５日）存在することになり、これら膨大な数のデータを基に、主成分の計算を実施する必要がある。
【０００８】
このような莫大な計算量の処理をオンライン上で行うと、計算処理の負荷がデータ解析装置に重くのし掛かり、主成分分析を行うことに多くの時間がかかってしまう虞がある。
本発明は、上述の問題点に鑑みてなされたものであり、サンプリングして得られる大量のデータを少ない計算量で計算処理して主成分を算出するデータ解析方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明においては以下の技術的手段を講じた。
本発明のデータ解析方法は、サンプリングして得られる複数のデータを基に、主成分ベクトルを算出するデータ解析方法において、サンプリングして得られる前記データに対して、ハイパスフィルタ処理を行い、ハイパスフィルタ処理後の前記データを用いた漸化計算を行うことで、主成分ベクトルを算出するものであって、サンプリング時間ごとに、得られる前記データに対してハイパスフィルタ処理を行い、ハイパスフィルタ処理後のデータａｆ（ｉ，ｊ）を用いた、以下に示す式（９）及び式（１０）〜（１２）で表されるＡＴ・Ａ行列に対して漸化計算を行うことで、サンプリング時間ごとに前記主成分ベクトルを算出することを特徴とする。
【００１０】
【数１０】
0006510931.tif 000002
【発明の効果】
【００１１】
本発明のデータ解析方法によれば、サンプリングして得られる大量のデータを少ない計算量で計算処理して主成分を算出することができる。
【図面の簡単な説明】
【００１２】
【図１】従来の手法を用いて、データを解析する方法を示す図である。
【図２】主成分分析手法を用いて、データを解析する方法を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明にかかるデータ解析方法を、図面に基づき詳しく説明する。
本発明のデータ解析方法は、主成分分析手法（principal component analysis：PCA）と呼ばれる技術を用いるものである。主成分分析手法（以降、単に主成分分析と呼ぶこともある）は、直交回転を用いて変数間に相関がある元の観測値を、相関の無い主成分とよばれる値に変換するための数学的な手法のことである。
【００１４】
まず、本発明の主成分分析手法を説明する前に、従来の主成分分析手法について説明する。
図１に示すように、サンプリングなどにより取得したデータ（信号１，信号２）に対して閾値判定（データの異常判定）を行おうとした場合、正常とされるデータの範囲が、図１中の破線で囲まれる範囲に設定されるようになっていたとする。
【００１５】
しかしながら、実際に得られる正常なデータの分布は、図１中の傾斜した楕円で囲まれる範囲であり、設定された正常とされるデータの範囲よりかなり狭い範囲である。それ故、上記の方法で閾値判定を行った場合、本来異常と判定されるデータが、図１中の破線で囲まれる範囲内であり、且つ実際に得られるデータの分布の外側に位置することとなり、正常なデータと誤判定されてしまうことがある。つまり、通常の閾値判定では、精確な閾値判定を行うことができなかった。
【００１６】
このような、閾値の誤判定を防止するために、主成分分析手法を用いた閾値判定、すなわち主成分分析手法を用いたデータ解析方法が行われている。
図２に示すように、主成分分析手法を用いた従来のデータ解析方法は、サンプリングなどにより多数のデータを、長期の時間に亘って取得する。例えば、ある項目ｉ（ｉ＝１〜Ｍ）に関するａ（ｉ，ｊ）を長期間に亘って取得する。ここで、ｊは時刻であり、ｊ＝１〜Ｎである。データ取得の時刻を１秒に１回、１年間亘るとすれば、Ｎ＝３６００秒×２４時間×３６５日＝３１，５３６，０００となる。つまり、取得したａ（ｉ，ｊ）は、膨大なデータ量となる。
【００１７】
そして、取得した膨大な数のデータ列ａ（ｉ，ｊ）の平均値を式（１）にて、算出する。
【００１８】
【数１】
0006510931.tif 000003
【００１９】
項目ｉの時刻ｊにおけるデータ列ａ（ｉ，ｊ）から算出した平均値（ａバー（ｉ））をデータ列ａ（ｉ，ｊ）から減算する。
【００２０】
【数２】
0006510931.tif 000004
【００２１】
次に、算出されたデータｂ（ｉ，ｊ）の分散を求める。
【００２２】
【数３】
0006510931.tif 000005
【００２３】
求めた分散σ（ｉ）２を用いて、データｂ（ｉ，ｊ）をノルマライズ（正規化）する。
【００２４】
【数４】
0006510931.tif 000006
【００２５】
そして、以下に示す式（５）〜式（８）を用いて、主成分を算出する。
【００２６】
【数５】
0006510931.tif 000007
【００２７】
ここで、abs(λ１)≧abs(λ２)≧…≧abs(λｋ)≧…≧abs(λＭ)とすると、図２に示すように、ｕ１が第１主成分ベクトル、ｕ２が第２主成分ベクトル、ｕｋが第ｋ主成分ベクトルとなり、その方向が各主成分となる。なお、第２主成分ベクトルｕ２は、第１主成分ベクトルｕ１の重心に対して直交している。
以上の算出過程を経ることで、主成分ｕｋを算出することができる。
【００２８】
そして、図２に示すように、これら第１主成分ベクトルｕ１、第２主成分ベクトルｕ２ごとに閾値を設定すると、実際に得られる正常データの分布（図２中の傾斜した楕円で囲まれる範囲）に近い範囲に設定することができる。
なお、図２の例は、信号１，２の２次元のデータに関する主成分分析の例である。このデータは２次元のため、主成分ベクトルもｕ１、ｕ２の２つになるが、データ項目数がＭの場合、主成分ベクトルもｕ１、ｕ２、…、ｕＭのＭ個になる。
【００２９】
ところが、以上述べた方法で主成分ｕｋを算出してデータを解析する方法では、以下に述べる問題が生じる。
上記した従来手法の主成分分析方法（データ解析方法）では、項目毎に平均を差し引いた分散あるいは最大値、最小値などによって、項目を正規化してから固有値を求め、主成分ベクトルを計算していた。しかし、データが更新される毎に主成分分析処理を行うには、蓄積された膨大なデータを用いて平均値および分散を求め、その上で平均値と分散でノルマイライズされたＣを用いて、ＣＴ・Ｃを（逐次計算することなく）毎回一括計算で算出する必要があるため、計算処理に多くの時間がかかっていた。
【００３０】
このように、計算処理に多くの時間がかかるため、オンライン上での逐次計算などができず、また解析装置の制御ＣＰＵなどの「処理速度の遅いＣＰＵ」では、膨大なデータを一括処理することができなかった。それ故、解析装置本来のＣＰＵなどに加え、別にＣＰＵを追加して計算処理を行う必要がある。また、オンライン上での計算処理がでないため、常に近況の主成分分析を得ることができなかった。
【００３１】
例えば、項目数Ｍのデータを１秒ごとにサンプリングした１年間のデータを、計算処理しようとすると、そのデータ数は３１５４万（＝Ｎ）×Ｍ個となる。ここで、データ項目数Ｍ＝１００とし、例えばWindows（登録商標）8(64bit)（microsoft社製）で、前述の膨大なデータのうち一つを、float型浮動小数点変数で確保すると、２５ＧＢと大量のメモリが必要となる。
【００３２】
また、このデータに加えて、データの平均値を減算したデータや、分散でノルマライズしたデータなども合わせて保持する必要があるため、この一つのデータに関して少なくとも１００ＧＢ近いメモリが消費されてしまうこととなる。
加えて、上記の膨大なデータからＣＴ・Ｃ行列を一括処理するためには、６４０×１０９回以上の浮動小数点演算が必要となってくる。この計算処理を現在市販されているパソコンなどで使用されているCore i7（Intel社製、93GFLOPS）の１コアを使用して（仮に、この計算処理以外を行わないとして）計算処理しても、５０秒以上の処理時間が必要である。かかる状況により、１秒毎に得られるデータに対して、１秒ごとに計算処理することはできない。
【００３３】
さらに、自動車やロボットなどの高速処理が必要な組み込み系コントローラのＣＰＵとして使用されているＳＨマイコン（ルネサス社製）の、例えばＣＰＵ（型番：ＳＨ７７６４）を使用した場合では、計算処理時間が非常に遅くなる。例えば、ＣＴ・Ｃ行列を一括処理だけを行ったとしても、５分の程度の計算時間が必要となってくる。
また、組み込み系コントローラのＣＰＵでは、他にもオンライン処理を行う必要があるため、実際には１０〜２０分以上の計算時間になるものと想定され、解析装置に組み込まれたＣＰＵでは、従来のアルゴリズムでは全く処理できない。
【００３４】
そこで、本願発明者らは、上記の問題を鑑みて鋭意研究を重ねた結果、サンプリングして得られる大量のデータを少ない計算量で計算処理して主成分を算出するデータ解析方法（逐次主成分分析手法）を発明した。
本発明のデータ解析方法は、サンプリングなどにより取得した膨大なデータに対してハイパスフィルタ処理を行い、ハイパスフィルタ処理後のデータを用いたＡＴ・Ａ行列を逐次的に計算して主成分を算出する（漸化式計算）。
【００３５】
具体的には、まずサンプリングなどにより取得した膨大なデータａ（ｉ，ｊ）に対して、ハイパスフィルタ処理を行って、データａｆ（ｉ，ｊ）を導出する。なお、ハイパスフィルタ処理を行うので、ａｆ（ｉ，ｊ）の各項目の平均値は０となる。
そして、ハイパスフィルタ処理後のデータａｆ（ｉ，ｊ）を用いて、Ａ（ｋ）を計算する。
【００３６】
【数６】
0006510931.tif 000008
【００３７】
このとき、Ａ(ｋ)Ｔ・Ａ(ｋ) 行列（＝ＡＡ(ｋ)）は、式（１０）〜式（１２）で与えられる。
【００３８】
【数７】
0006510931.tif 000009
【００３９】
このようにすることで、逐次的に、Ａ(Ｎ)Ｔ・Ａ(Ｎ)（＝ＡＡ(Ｎ)）まで計算することができる。
また、Ａ(Ｎ)Ｔ・Ａ(Ｎ)（＝ＡＡ(Ｎ)）の対角項ｄ(ｋ)は、第ｋ項目の分散σｋ２となっている。そして、ＡＡ(Ｎ)のｋ行とｋ列をσｋ２で割り込んで、ノルマライズする。ノルマライズされた行列をＸとすると、式（１３）のように表現できる。
【００４０】
【数８】
0006510931.tif 000010
【００４１】
このように、式（１３）の行列Ｘを固有値分解することで、主成分分析を行う、すなわち主成分を算出することができる。
従来手法ではデータが更新されるたびに、ＣＴ・Ｃを（逐次計算することなく）一から一括計算しなければならなかったが、本発明ではＣＴ・Ｃに相当するＸを逐次計算の結果を用いて簡単に算出することができる。
【００４２】
以上述べた算出過程を経ることで、逐次的に主成分を算出することができる。つまり、従来の手法で行われていた膨大なデータａ（ｉ，ｊ）の平均値算出（一括計算処理）をしなくても、容易に且つ少ない計算量で主成分を算出することが可能となる。
また、式（１０）に対して、忘却係数ρ（≪１）を導入し、Ａ(Ｎ)Ｔ・Ａ(Ｎ)を、式（１４）にて逐次計算を行うと、過去のデータに対して直近のデータの重みを大きくした際の（直近のデータにウェイトを置いた）主成分分析を行うことができる。
【００４３】
【数９】
0006510931.tif 000011
【００４４】
［実施例］
以上述べた本発明のデータ解析方法は、様々な機器の制御や故障診断に適用可能である。
例えば、モータやポンプ、減速機など回転機器の故障診断を行う場合、まず回転機器における動力伝達状況のデータ、例えば、入力軸の回転位相ａ（１，ｊ）と、出力軸の回転位相ａ（２，ｊ）とを時刻ｊにて順次取得する。取得時間としては、例えば、１秒に１回とする。
【００４５】
取得されたデータは順次ハイパスフィルタ回路などに入力され、データに対するハイパスフィルタ処理を行って、データａｆ（１，ｊ）、ａｆ（２，ｊ）を導出する。
そして、ハイパスフィルタ処理後のデータａｆ（１，ｊ）、ａｆ（２，ｊ）と、漸化式である式（１０）を用いることにより、データ取得時間ｊ毎に、１つ前の時間に計算されたＡ(ｊー１)Ｔ・Ａ(ｊー１)を基にしてＡ(ｊ)Ｔ・Ａ(ｊ)を求める。
【００４６】
求まったＡ(ｊ)Ｔ・Ａ(ｊ)を、式（１２）、式（１３）に適用することによって、データａｆ（１，ｊ）、ａｆ（２，ｊ）の主成分ｕ１，ｕ２を算出することができる。
得られた主成分ｕ１，ｕ２の変動量や閾値を超えるか否かを判定することで、回転機器の故障診断を行うことができる。
なお、回転機器の診断解析などでは、項目の絶対値よりも高周波域（ハイパスフィルタ処理）に異常データが顕著に出現するため、本発明のデータ解析方法においては、上記したハイパスフィルタ処理を行っても異常データを検出することが可能であるので、回転機器の診断処理においても、大きな問題とはならない。
【００４７】
また、本発明のデータ解析方法を圧延機の稼働状況を把握する場合に適用することも可能である。例えば、圧延機における圧延荷重データａ（１，ｊ）と、圧延時のモータ電流値ａ（２，ｊ）とをｊ毎に順次取得する。ｊの取得タイミングとしては、各圧延パス時とする。
取得されたデータは順次ハイパスフィルタ回路などに入力され、データに対するハイパスフィルタ処理を行って、データａｆ（１，ｊ）、ａｆ（２，ｊ）を導出する。
【００４８】
そして、ハイパスフィルタ処理後のデータａｆ（１，ｊ）、ａｆ（２，ｊ）と、漸化式である式（１０）、及び式（１２）、式(１３)を用いることにより、データａｆ（１，ｊ）、ａｆ（２，ｊ）の主成分ｕ１，ｕ２を算出することができる。
得られた主成分ｕ１，ｕ２の変動量や閾値を超えるか否かを判定することで、圧延機のの状況診断や故障診断を行うことができる。
【００４９】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。
本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。特に、今回開示された実施形態において、明示的に開示されていない事項、例えば、運転条件や操業条件、各種パラメータ、構成物の寸法、重量、体積などは、当業者が通常実施する範囲を逸脱するものではなく、通常の当業者であれば、容易に想定することが可能な値を採用している。
【図１】
0006510931.tif 000013
【図２】
0006510931.tif 000014