【文献】
松田博義、滝口哲也、有木康雄,「3次キュムラントのBispectrumとMFCCの統合による音声区間検出の検討」,情報処理学会研究報告,東京:社団法人情報処理学会,2006年12月21日,Vol.2006,No.136,pp.89-94,ISSN 0919-6072
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
例えば、工場等の生産施設においては、各種モータやポンプが数多く稼働している。また、製品の組み立てや溶接においては、多関節ロボットを用いた作業が広く行われている。このような多関節ロボットは、各軸に電動モータと減速機を有するものとなっている。
上記したようなモータやポンプ、減速機などの動力伝達状況、言い換えれば、回転機器の動力伝達状況を把握することは、回転機器の稼働状況を把握したり、故障診断を行う上で重要となる。
【0003】
回転機器における動力伝達状況のデータを取得して、その取得したデータを解析して故障診断を行う手法は、種々存在する。そのデータ解析方法の一例として、主成分分析手法がある。
主成分分析手法(principal component analysis:PCA)は、直交回転を用いて変数間に相関がある元の観測値を、相関の無い主成分とよばれる値に変換するための数学的な手法のことである。この技術に関する先行文献としては、特許文献1に示すものがある。
【0004】
すなわち、特許文献1には、計算量を削減することができ、かつ、計算量の削減に伴う計算精度の低下が従来よりも小さな主成分分析方法(カーネル主成分分析方法)が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1などに開示された従来からの主成分分析手法を用いて、多数のデータを解析するに際しては、以下のような問題点が存在する。
すなわち、長期の時間に亘って取得したデータの解析にあたり、主成分分析手法を用いようとした場合、長期の時間に亘って取得したデータは、膨大なデータ量となり、この膨大なデータ量を用いた行列計算などを行う必要があるため、主成分分析を行うために多くの時間がかかってしまう虞がある。
【0007】
例えば、回転機器における動力伝達状況のデータを1秒に1回、1年間に亘り取得して、その取得したデータを解析して故障診断を行うにあたっては、測定した全ての周波数成分のサンプルデータy
1〜y
Mと、そのときの回転位相(回転角)p
1〜p
Mとが、約3000万個(≒3600秒×24時間×365日)存在することになり、これら膨大な数のデータを基に、主成分の計算を実施する必要がある。
【0008】
このような莫大な計算量の処理をオンライン上で行うと、計算処理の負荷がデータ解析装置に重くのし掛かり、主成分分析を行うことに多くの時間がかかってしまう虞がある。
本発明は、上述の問題点に鑑みてなされたものであり、サンプリングして得られる大量のデータを少ない計算量で計算処理して主成分を算出するデータ解析方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明においては以下の技術的手段を講じた。
本発明のデータ解析方法は、サンプリングして得られる複数のデータを基に、主成分ベクトルを算出するデータ解析方法において、サンプリングして得られる前記データに対して、ハイパスフィルタ処理を行い、ハイパスフィルタ処理後の前記データを用いた漸化計算を行うことで、主成分ベクトルを算出
するものであって、サンプリング時間ごとに、得られる前記データに対してハイパスフィルタ処理を行い、ハイパスフィルタ処理後のデータaf(i,j)を用いた、以下に示す式(9)及び式(10)〜(12)で表されるAT・A行列に対して漸化計算を行うことで、サンプリング時間ごとに前記主成分ベクトルを算出することを特徴とする。
【0010】
【数10】
【発明の効果】
【0011】
本発明のデータ解析方法によれば、サンプリングして得られる大量のデータを少ない計算量で計算処理して主成分を算出することができる。
【発明を実施するための形態】
【0013】
以下、本発明にかかるデータ解析方法を、図面に基づき詳しく説明する。
本発明のデータ解析方法は、主成分分析手法(principal component analysis:PCA)と呼ばれる技術を用いるものである。主成分分析手法(以降、単に主成分分析と呼ぶこともある)は、直交回転を用いて変数間に相関がある元の観測値を、相関の無い主成分とよばれる値に変換するための数学的な手法のことである。
【0014】
まず、本発明の主成分分析手法を説明する前に、従来の主成分分析手法について説明する。
図1に示すように、サンプリングなどにより取得したデータ(信号1,信号2)に対して閾値判定(データの異常判定)を行おうとした場合、正常とされるデータの範囲が、
図1中の破線で囲まれる範囲に設定されるようになっていたとする。
【0015】
しかしながら、実際に得られる正常なデータの分布は、
図1中の傾斜した楕円で囲まれる範囲であり、設定された正常とされるデータの範囲よりかなり狭い範囲である。それ故、上記の方法で閾値判定を行った場合、本来異常と判定されるデータが、
図1中の破線で囲まれる範囲内であり、且つ実際に得られるデータの分布の外側に位置することとなり、正常なデータと誤判定されてしまうことがある。つまり、通常の閾値判定では、精確な閾値判定を行うことができなかった。
【0016】
このような、閾値の誤判定を防止するために、主成分分析手法を用いた閾値判定、すなわち主成分分析手法を用いたデータ解析方法が行われている。
図2に示すように、主成分分析手法を用いた従来のデータ解析方法は、サンプリングなどにより多数のデータを、長期の時間に亘って取得する。例えば、ある項目i(i=1〜M)に関するa(i,j)を長期間に亘って取得する。ここで、jは時刻であり、j=1〜Nである。データ取得の時刻を1秒に1回、1年間亘るとすれば、N=3600秒×24時間×365日=31,536,000となる。つまり、取得したa(i,j)は、膨大なデータ量となる。
【0017】
そして、取得した膨大な数のデータ列a(i,j)の平均値を式(1)にて、算出する。
【0019】
項目iの時刻jにおけるデータ列a(i,j)から算出した平均値(aバー(i))をデータ列a(i,j)から減算する。
【0021】
次に、算出されたデータb(i,j)の分散を求める。
【0023】
求めた分散σ(i)
2を用いて、データb(i,j)をノルマライズ(正規化)する。
【0025】
そして、以下に示す式(5)〜式(8)を用いて、主成分を算出する。
【0027】
ここで、abs(λ
1)≧abs(λ
2)≧…≧abs(λ
k)≧…≧abs(λ
M)とすると、
図2に示すように、u
1が第1主成分ベクトル、u
2が第2主成分ベクトル、u
kが第k主成分ベクトルとなり、その方向が各主成分となる。なお、第2主成分ベクトルu
2は、第1主成分ベクトルu
1の重心に対して直交している。
以上の算出過程を経ることで、主成分u
kを算出することができる。
【0028】
そして、
図2に示すように、これら第1主成分ベクトルu
1、第2主成分ベクトルu
2ごとに閾値を設定すると、実際に得られる正常データの分布(
図2中の傾斜した楕円で囲まれる範囲)に近い範囲に設定することができる。
なお、
図2の例は、信号1,2の2次元のデータに関する主成分分析の例である。このデータは2次元のため、主成分ベクトルもu
1、u
2の2つになるが、データ項目数がMの場合、主成分ベクトルもu
1、u
2、…、u
MのM個になる。
【0029】
ところが、以上述べた方法で主成分u
kを算出してデータを解析する方法では、以下に述べる問題が生じる。
上記した従来手法の主成分分析方法(データ解析方法)では、項目毎に平均を差し引いた分散あるいは最大値、最小値などによって、項目を正規化してから固有値を求め、主成分ベクトルを計算していた。しかし、データが更新される毎に主成分分析処理を行うには、蓄積された膨大なデータを用いて平均値および分散を求め、その上で平均値と分散でノルマイライズされたCを用いて、C
T・Cを(逐次計算することなく)毎回一括計算で算出する必要があるため、計算処理に多くの時間がかかっていた。
【0030】
このように、計算処理に多くの時間がかかるため、オンライン上での逐次計算などができず、また解析装置の制御CPUなどの「処理速度の遅いCPU」では、膨大なデータを一括処理することができなかった。それ故、解析装置本来のCPUなどに加え、別にCPUを追加して計算処理を行う必要がある。また、オンライン上での計算処理がでないため、常に近況の主成分分析を得ることができなかった。
【0031】
例えば、項目数Mのデータを1秒ごとにサンプリングした1年間のデータを、計算処理しようとすると、そのデータ数は3154万(=N)×M個となる。ここで、データ項目数M=100とし、例えばWindows(登録商標)8(64bit)(microsoft社製)で、前述の膨大なデータのうち一つを、float型浮動小数点変数で確保すると、25GBと大量のメモリが必要となる。
【0032】
また、このデータに加えて、データの平均値を減算したデータや、分散でノルマライズしたデータなども合わせて保持する必要があるため、この一つのデータに関して少なくとも100GB近いメモリが消費されてしまうこととなる。
加えて、上記の膨大なデータからC
T・C行列を一括処理するためには、640×10
9回以上の浮動小数点演算が必要となってくる。この計算処理を現在市販されているパソコンなどで使用されているCore i7(Intel社製、93GFLOPS)の1コアを使用して(仮に、この計算処理以外を行わないとして)計算処理しても、50秒以上の処理時間が必要である。かかる状況により、1秒毎に得られるデータに対して、1秒ごとに計算処理することはできない。
【0033】
さらに、自動車やロボットなどの高速処理が必要な組み込み系コントローラのCPUとして使用されているSHマイコン(ルネサス社製)の、例えばCPU(型番:SH7764)を使用した場合では、計算処理時間が非常に遅くなる。例えば、C
T・C行列を一括処理だけを行ったとしても、5分の程度の計算時間が必要となってくる。
また、組み込み系コントローラのCPUでは、他にもオンライン処理を行う必要があるため、実際には10〜20分以上の計算時間になるものと想定され、解析装置に組み込まれたCPUでは、従来のアルゴリズムでは全く処理できない。
【0034】
そこで、本願発明者らは、上記の問題を鑑みて鋭意研究を重ねた結果、サンプリングして得られる大量のデータを少ない計算量で計算処理して主成分を算出するデータ解析方法(逐次主成分分析手法)を発明した。
本発明のデータ解析方法は、サンプリングなどにより取得した膨大なデータに対してハイパスフィルタ処理を行い、ハイパスフィルタ処理後のデータを用いたA
T・A行列を逐次的に計算して主成分を算出する(漸化式計算)。
【0035】
具体的には、まずサンプリングなどにより取得した膨大なデータa(i,j)に対して、ハイパスフィルタ処理を行って、データaf(i,j)を導出する。なお、ハイパスフィルタ処理を行うので、af(i,j)の各項目の平均値は0となる。
そして、ハイパスフィルタ処理後のデータaf(i,j)を用いて、A(k)を計算する。
【0037】
このとき、A(k)
T・A(k) 行列(=AA(k))は、式(10)〜式(12)で与えられる。
【0039】
このようにすることで、逐次的に、A(N)
T・A(N)(=AA(N))まで計算することができる。
また、A(N)
T・A(N)(=AA(N))の対角項d(k)は、第k項目の分散σ
k2となっている。そして、AA(N)のk行とk列をσ
k2で割り込んで、ノルマライズする。ノルマライズされた行列をXとすると、式(13)のように表現できる。
【0041】
このように、式(13)の行列Xを固有値分解することで、主成分分析を行う、すなわち主成分を算出することができる。
従来手法ではデータが更新されるたびに、C
T・Cを(逐次計算することなく)一から一括計算しなければならなかったが、本発明ではC
T・Cに相当するXを逐次計算の結果を用いて簡単に算出することができる。
【0042】
以上述べた算出過程を経ることで、逐次的に主成分を算出することができる。つまり、従来の手法で行われていた膨大なデータa(i,j)の平均値算出(一括計算処理)をしなくても、容易に且つ少ない計算量で主成分を算出することが可能となる。
また、式(10)に対して、忘却係数ρ(≪1)を導入し、A(N)
T・A(N)を、式(14)にて逐次計算を行うと、過去のデータに対して直近のデータの重みを大きくした際の(直近のデータにウェイトを置いた)主成分分析を行うことができる。
【0044】
[実施例]
以上述べた本発明のデータ解析方法は、様々な機器の制御や故障診断に適用可能である。
例えば、モータやポンプ、減速機など回転機器の故障診断を行う場合、まず回転機器における動力伝達状況のデータ、例えば、入力軸の回転位相a(1,j)と、出力軸の回転位相a(2,j)とを時刻jにて順次取得する。取得時間としては、例えば、1秒に1回とする。
【0045】
取得されたデータは順次ハイパスフィルタ回路などに入力され、データに対するハイパスフィルタ処理を行って、データaf(1,j)、af(2,j)を導出する。
そして、ハイパスフィルタ処理後のデータaf(1,j)、af(2,j)と、漸化式である式(10)を用いることにより、データ取得時間j毎に、1つ前の時間に計算されたA(jー1)
T・A(jー1)を基にしてA(j)
T・A(j)を求める。
【0046】
求まったA(j)
T・A(j)を、式(12)、式(13)に適用することによって、データaf(1,j)、af(2,j)の主成分u
1,u
2を算出することができる。
得られた主成分u
1,u
2の変動量や閾値を超えるか否かを判定することで、回転機器の故障診断を行うことができる。
なお、回転機器の診断解析などでは、項目の絶対値よりも高周波域(ハイパスフィルタ処理)に異常データが顕著に出現するため、本発明のデータ解析方法においては、上記したハイパスフィルタ処理を行っても異常データを検出することが可能であるので、回転機器の診断処理においても、大きな問題とはならない。
【0047】
また、本発明のデータ解析方法を圧延機の稼働状況を把握する場合に適用することも可能である。例えば、圧延機における圧延荷重データa(1,j)と、圧延時のモータ電流値a(2,j)とをj毎に順次取得する。jの取得タイミングとしては、各圧延パス時とする。
取得されたデータは順次ハイパスフィルタ回路などに入力され、データに対するハイパスフィルタ処理を行って、データaf(1,j)、af(2,j)を導出する。
【0048】
そして、ハイパスフィルタ処理後のデータaf(1,j)、af(2,j)と、漸化式である式(10)、及び式(12)、式(13)を用いることにより、データaf(1,j)、af(2,j)の主成分u
1,u
2を算出することができる。
得られた主成分u
1,u
2の変動量や閾値を超えるか否かを判定することで、圧延機のの状況診断や故障診断を行うことができる。
【0049】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。
本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。特に、今回開示された実施形態において、明示的に開示されていない事項、例えば、運転条件や操業条件、各種パラメータ、構成物の寸法、重量、体積などは、当業者が通常実施する範囲を逸脱するものではなく、通常の当業者であれば、容易に想定することが可能な値を採用している。