(57)【特許請求の範囲】
【請求項１】
与えられたコンピュータグラフィックスの２次元データ（tk,dk）を分析するデータ分析装置であって、
前記コンピュータグラフィックスの２次元データ（tk,dk）について、同じtkに対して複数のdkを持つ場合には、該同じtkに対して一つのdkをもつようにデータを複数の組に分ける閉曲線分割手段を有し、
前記閉曲線分割手段は、
前記tkに対して前記dkが連続していない場合の閉曲線の場合には、該tkごとに該dkの数を計数し、最もdkの多い領域ごとに組に分け、該tkに対して該dkが連続している場合には、該dkが連続している辺の端点以外を削除して組に分ける手段を含む
ことを特徴とするデータ分析装置。
【請求項２】
与えられたコンピュータグラフィックスの２次元データ（tk,dk）を分析するデータ分析方法であって、
データ分析装置が、
前記コンピュータグラフィックスの２次元データ（tk,dk）について、同じtkに対して複数のdkを持つ場合には、該同じtkに対して一つのdkをもつようにデータを複数の組に分ける閉曲線分割ステップを実行し、
前記閉曲線分割ステップは、
前記tkに対して前記dkが連続していない場合の閉曲線の場合には、該tkごとに該dkの数を計数し、最もdkの多い領域ごとに組に分け、該tkに対して該dkが連続している場合には、該dkが連続している辺の端点以外を削除して組に分ける
ことを特徴とするデータ分析方法。
【請求項３】
コンピュータを、
請求項１に記載のデータ分析装置の各手段として機能させるためのデータ分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析装置及び方法及びプログラムに係り、特に、コンピュータグラフィックスにおける２次元上のデータを、折れ線、上に凸もしくは下に凸な曲線で近似する技術、及びデータ分析における外れ値、変化点、曲線領域、直線領域の検出を早期に検出するためのデータ分析装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
第１の従来の技術として、非特許文献１の統計的検定に基づく変化点検出方式について説明する。
【０００３】
いま、データ系列
【０００４】
【数１】
0006259058.tif 000002
があり、このデータ系列中に変化点候補を１つ設ける。この点をｔとすると変化点の前後で２つのデータ系列に分割する。前半を、
【０００５】
【数２】
0006259058.tif 000003
後半を
【０００６】
【数３】
0006259058.tif 000004
とする。ここで、各xj(j=1,2,…,n)は多次元連続値を取るものとする。ここで各時刻ｔにおいて
【０００７】
【数４】
0006259058.tif 000005
が与えられたときのxtの条件付確率密度関数
【０００８】
【数５】
0006259058.tif 000006
を、
【０００９】
【数６】
0006259058.tif 000007
とする。ここでΣは実数値パラメータを要素とする分散共分散行列を表す。上付きＴは転置を表す。wtとしては自己回帰モデルとして、
【００１０】
【数７】
0006259058.tif 000008
とする。あるいは１次元の場合には多項式回帰モデルとして、
【００１１】
【数８】
0006259058.tif 000009
とする。
【００１２】
パラメータα１，…，αk，μを最尤推定により求める。最尤推定により求められたパラメータを式(2)、式(3)に代入した結果を
【００１３】
【数９】
0006259058.tif 000010
とする。ここで、データ
【００１４】
【数１０】
0006259058.tif 000011
とモデルによる予測値との２乗誤差
【００１５】
【数１１】
0006259058.tif 000012
は、
【００１６】
【数１２】
0006259058.tif 000013
と表される。
【００１７】
変化点を求めるには、予め決められた閾値δに対して、
【００１８】
【数１３】
0006259058.tif 000014
が成り立つt*が求める変化点となる。ここでt*は
【００１９】
【数１４】
0006259058.tif 000015
である。
【００２０】
複数の変化点を検出するには、
【００２１】
【数１５】
0006259058.tif 000016
と
【００２２】
【数１６】
0006259058.tif 000017
をそれぞれ前半と後半に分割し再帰的に変化点を検出すればよい。
【００２３】
第２の従来技術として、コンピュータグラフィックスにおける、画素列であるセグメントを線分近似する方法を説明する。
【００２４】
セグメントを線分近似する方法として、２分割法（binary decomposition method）（例えば、非特許文献２参照）がある。手順としては、以下の手順を再帰的に行う。
【００２５】
１．画像列の始点・終点をつないだ直線に対して、各画素から距離を計算する。
【００２６】
２．最大距離が、ある閾値以下の場合、その直線を線分として採用する。そうでない場合は、その画素で画素列を分割し、分割された画素列で上記１．の処理を再帰的に繰り返す。
【００２７】
３．画素列の分割がない場合、処理を終了する。
【００２８】
なお、元の画素列が閉曲線である場合には、始点を任意に選び、その点から最も遠い点を終点として選び上記の手順を実施する。
【００２９】
第３の従来技術として、画素列の角点を検出する方法を説明する。
【００３０】
画素列の分割点は角点である方が、図形の特徴をよく捉えているので好ましい。以下に説明する角点検出法（corner detection）（例えば、非特許文献３参照）は、画素列の角点を積極的に見つけ、その点を分割の区切りとする方法である。
【００３１】
１．画素列の始点P1から終点Pnとする。
【００３２】
２．i=kとする。
【００３３】
３．点Piに対してk画素離れた前後の点Pi-kとPi+kの画素を結ぶ線分の角度を求める。
【００３４】
４．i＜n−kならばi=k+1とする。
【００３５】
５．閾値より小さく極小の角度であったPiを分割点とする。
【００３６】
kの選び方に特に規定はないが、はじめにkは大きな値を選び、徐々に小さくしていくのがより図形の特徴を捉えるために好ましい。
【先行技術文献】
【非特許文献】
【００３７】
【非特許文献１】V. Guralnik and J. Srivastava, Event detection from time series data, In Proceedings of the Fifth ACM SIGKDD, International conference on Knowledge Discovery and Data Mining (KDD99), ACM Press, pp. 32-42, 1999.
【非特許文献２】ディジタル画像処理編集委員会、ディジタル画像処理、CG-ARTS協会），第189頁から第190頁
【非特許文献３】ディジタル画像処理編集委員会、ディジタル画像処理、CG-ARTS協会），第190頁
【非特許文献４】仁科 健、統計的工程管理、朝倉書店発行,第24頁から第56頁，2009年11月25日
【発明の概要】
【発明が解決しようとする課題】
【００３８】
しかしながら、上記の第１の従来技術は、変化点のみを検出するもので、変化点以外の領域が直線的なのか曲線的なのかの判断はできないという問題がある。また、一般に、他の値から大きく外れた値である外れ値は除外して分析を行うが、当該技術では、外れ値の除外はできないという課題がある。さらに、当該技術は、上記のt*を決定するために全ての候補についてパラメータ推定を実施し、２乗誤差を計算しなければならないという計算量が大きいという課題と、閾値δの決め方に指針がないため、得られた変化点がどういう指針に基づいて算出されたものかを明らかにできないという課題がある。また、新たなデータが入手できた際には既存のデータを含めて計算し直さなければならないという課題もある。
【００３９】
また、上記の第２の従来技術は、暗に画素列は線型近似からのずれが小さいことを仮定している。もし線型近似からのずれが大きい場合（データが細かく変動しているような場合）、収束せずに手続きが終了しないという課題がある。最大距離の閾値の設定をうまく設定する必要があるが、これについては試行錯誤的に実施する他ないという課題がある。
【００４０】
また、上記第３の従来技術は、k画素離れた点のkを適正に選ぶことが難しいという課題、角度の閾値設定の難しさという課題、極小と判断する際の領域の設定の難しさという課題がある。
【００４１】
上記全ての従来技術において、外れ値の抽出、曲線領域の抽出は不可能である。また、データが持っている変動を考慮した上で直線領域や変化点を検出することができないという課題もある。
【００４２】
本発明は上記の点に鑑みなされたもので、２次元においてデータが与えられた時に、外れ値、データが変化する変化点、曲線的な領域、直線的な領域を検出し、検出のための計算量が少なく、既にあるデータに対してだけでなく、データが逐次的に入手される場合にもそれらの点、領域を早期に検出することが可能なデータ分析装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００４３】
一態様によれば、与えられたコンピュータグラフィックスの２次元データ（tk,dk）を分析するデータ分析装置であって、
前記コンピュータグラフィックスの２次元データ（tk,dk）について、同じtkに対して複数のdkを持つ場合には、該同じtkに対して一つのdkをもつようにデータを複数の組に分ける閉曲線分割手段を有し、
前記閉曲線分割手段は、
前記tkに対して前記dkが連続していない場合の閉曲線の場合には、該tkごとに該dkの数を計数し、最もdkの多い領域ごとに組に分け、該tkに対して該dkが連続している場合には、該dkが連続している辺の端点以外を削除して組に分ける手段を含むデータ分析装置が提供される。
【発明の効果】
【００４４】
一態様によれば、２つのベクトルのなす角およびその平均、または、２つのベクトルのなす角の和を用いて、変化点、直線領域、曲線領域、外れ値を検出するために、隣接する２つのデータからベクトルを作成し、そのベクトルのなす角の和の変化によって変化点以外の点が直線領域、曲線領域であるかを判定でき、さらに外れ値も排除可能となる。
【図面の簡単な説明】
【００４５】
【図１】本発明の第１の実施の形態における外れ値及び変化点検出装置の構成例である。
【図２】本発明の第１の実施の形態における外れ値及び変化点検出装置の処理のフローチャートである。
【図３】本発明の第１の実施の形態におけるデータから作成されるベクトル及びベクトルのなす角のイメージ図である。
【図４】本発明の第２の実施の形態におけるデータ分析装置の構成例である。
【図５】本発明の第２の実施の形態における閉曲線の例である。
【図６】本発明の第２の実施の形態における閉曲線の分割の例である。
【図７】本発明の第２の実施の形態における連続した端点を持つ閉曲線の分割の例である。
【図８】本発明の第２の実施の形態における事前処理のフローチャートである。
【図９】本発明の第２の実施の形態における番号の対応付けを説明する図である。
【図１０】本発明の第２の実施の形態における曲線領域検出のフローチャートである。
【図１１】本発明の第２の実施の形態における変化点検出のフローチャートである。
【図１２】本発明の第２の実施の形態における外れ点検出のフローチャートである。
【図１３】本発明の第２の実施の形態における直線領域検出のフローチャートである。
【図１４】本発明の第２の実施の形態における番号の対応付けを幾何学的に説明する図である。
【発明を実施するための形態】
【００４６】
以下、図面と共に本発明の実施の形態を説明する。
【００４７】
［第１の実施の形態］
変化点の前後でデータは急に大きく変化し、変化点ではないところでは変動はしていてもその変動は小さい。この小さい変動を無視すればデータは時間に対して線形的に遷移しているといえる。そうでない場合に対しても何らかの変換を行うことで線形的に遷移するように変換できる場合を扱う。つまり、データは区分的に線で近似できるため、変動部分を除けば時間経過に対して常に同じ方向に成長しているといえる。
【００４８】
本発明はこの考えに基づいて課題を解決する。即ち、隣接する２つのデータ(ti,xi)，(t i+1，xi+1)からベクトルr i=(t i+1−t i，x i+1−x i)を作成し、隣接するベクトル同士（r iとr i+1）でベクトル外積を計算する。このベクトル外積から２つのベクトルのなす角を計算し、このなす角の信頼区間を求め、その信頼区間外となった場合に外れ値あるいは変化点候補とする。変換点であるためにはＮ個のなす角のデータからその平均値を移動平均として求め、その信頼区間外になったときには外れ値ではなく変化点と検出する。
【００４９】
図１は、本発明の第１の実施の形態における外れ値及び変化点検出装置の構成例である。
【００５０】
同図に示す外れ値及び変化点検出装置１００は、データ入力部１１０、事前処理部１２０、ベクトル作成部１３０、なす角作成部１４０、データ蓄積部１５０、統計値計算部１６０、パラメータ入力部１７０、信頼区間判定部１８０、結果出力部１９０を有する。
【００５１】
データ入力部１１０は、時系列データ(ti,xi),i=0,1,2,…,n（tiは時刻データ、xiは時刻tiにおける観測値）を入力し、データ蓄積部１５０に格納する。当該データの入力方法としては、端末から入力する、データベース等の記憶されたデータを読み込む等があるが、特に限定しない。
【００５２】
事前処理部１２０は、なす角θiの分散を十分小さくするため、データ蓄積部１５０に格納されている入力されたデータ(ti,xi)を移動平均による平滑化を行う。当該事前処理部１２０は、統計値計算部１６０においてベクトルのなす角の標準偏差が大きい場合に動作する。
【００５３】
ベクトル作成部１３０は、データ蓄積部１５０からデータを読み出し、隣接する二つのデータからベクトルを作成する。
【００５４】
なす角作成部１４０は、ベクトル作成部１３０で作成されたベクトルデータについて、ベクトルの外積を求めることにより、２つのベクトルのなす角θｉを求め、データ蓄積部１５０に格納する。
【００５５】
統計値計算部１６０は、データ蓄積部１５０からベクトルのなす角θiを取得し、当該なす角θiの平均値μと標準偏差σを求める。
【００５６】
パラメータ入力部１７０は、信頼区間を判定するためのパラメータを取得する。パラメータはオペレータの端末から入力されるものとする。
【００５７】
信頼区間判定部１８０は、データ蓄積部１５０から２つのベクトルのなす角θiを取得して、入力されたパラメータを用いて、当該なす角θiが信頼区間に含まれるかを判定し、含まれない場合には外れ値と判定し、統計値計算部１６０に対して平均値の計算を依頼し、当該平均値に対する信頼区間を求め、その平均値が平均の信頼区間に含まれているか判定し、含まれていない場合は変化点として判断する。
【００５８】
図２は、本発明の第１の実施の形態における外れ値及び変化点検出装置の処理のフローチャートである。
【００５９】
まずは、データ入力からベクトルの作成、２つのベクトルのなす角を求めるまでを説明する。
【００６０】
外れ値を判定するためのパラメータが入力される。（ステップ１０１）。
【００６１】
今、データ入力部１１０で時系列データ（t i,x i）（i = 0,1,2,…,n）が得られており、時々刻々新たなデータが加わっている状況を想定する。得られたデータはデータ蓄積部１５０に記憶される（ステップ１０２）。ここで、t iは時刻データ、x iは時刻t iで観測された値である。
【００６２】
ステップ１０３において、事前処理の要・不要を判定する。事前処理が必要な場合はステップ１０４に移行し、不要な場合はステップ１０５に移行する。ステップ１０８において標準偏差が所定の値以上である場合には、ステップ１０９において、"事前処理必要"である状態となるため、事前処理を行う（ステップ１０４）。事前処理は、事前処理部１２０にて元データ（ti,xi）,i=1,2,…,nを平滑化する等を行うものである。
【００６３】
事前処理部１２０における事前処理の方法としては、例えば、平滑化する方法として、元データ（ti,xi）（i = 0,1,2,…,n）に対して移動平均をとる方法や、なす角θiを十分小さくする方法として、時間tを例えば１００倍する、値ｘを例えば１／１００とする方法等が考えられる。また、早期のデータが定常状態（平均と標準偏差が０に近い状態）になっていないような場合には、ベクトルのなす角θi（i=1,2,…,n-1）を全て使用するのではなく、θi（i=m,m+1,…,n-1）を使用し、θi,i=1,2,…,m-1を使用しないようにする方法がある。
【００６４】
ベクトル作成部１３０では、データ蓄積部１５０からデータを読み出し、隣接する２つのデータから次のようなベクトルri (i=1,2,…,n)を作成する（ステップ１０５）。
【００６５】
【数１７】
0006259058.tif 000018
得られたベクトルデータをなす角作成部１４０に渡し、なす角作成部１４０にてベクトル外積ri×ri+1,(i=1,2,…,n-1)を計算し、その２つのベクトルのなす角θi（i=1,2,…,n-1）を求める（ステップ１０６）。なす角を求めるには、次のようにして行う。ベクトル外積の定義から
【００６６】
【数１８】
0006259058.tif 000019
が成り立つ。結果、
【００６７】
【数１９】
0006259058.tif 000020
が得られる。よって２つのベクトルのなす角は、
【００６８】
【数２０】
0006259058.tif 000021
と求められる。但し、
【００６９】
【数２１】
0006259058.tif 000022
である。得られたなす角のデータをデータ蓄積部１５０に格納する。
【００７０】
ベクトル作成部１３０で隣接するデータからベクトルを作成し、なす角作成部１４０において隣接するベクトルのなす角を作成する方法のイメージを図３に示す。ベクトル外積はベクトルであるためなす角についても方向があることも同図に示している。
【００７１】
次に、統計値計算部１６０では、データ蓄積部１５０からなす角のデータを読み込み、２つのベクトルのなす角θiの平均と標準偏差を求める（ステップ１０７）。いま、一番新しいデータが（tn,xn）とすると、既に説明した方法によりθ1，θ2，…，θn-1が求められ、これらの平均μ（1,n-1）を求める。
【００７２】
【数２２】
0006259058.tif 000023
標準偏差σ(1,n-1)は、
【００７３】
【数２３】
0006259058.tif 000024
として求める。
【００７４】
２つのベクトルのなす角θiは平均がμ(1,n-1）、標準偏差がσ(1,n-1)である正規分布N(μ(1,n-1），σ(1,n-1))に従うものと仮定する。これはすなわち、なす角θiの平均値
【００７５】
【数２４】
0006259058.tif 000025
標準偏差
【００７６】
【数２５】
0006259058.tif 000026
であることを仮定している。元データがほぼ直線的であれば平均値
【００７７】
【数２６】
0006259058.tif 000027
は成り立つ。標準偏差が所定の値以上である場合には（ステップ１０８,Yes）、ステップ１０３に移行し、ステップ１０４において前述の事前処理を行う。
【００７８】
以下の説明では、２つのベクトルのなす各θiは平均がμ（1,n-1）、標準偏差がσ(1,n-1)である正規分布N(μ(1,n-1)，σ(1,n-1))に従っており、早期のデータも定常状態になっているとして説明する。
【００７９】
変化点は、外れ値が高い頻度で現れ始めた点とみなすことができる。外れ値は変化点の候補である。そのためまずは外れ値を検出する方法を説明する。
【００８０】
データ蓄積部１５０からθi（i=1,2,…,n-1）を得る。２つのベクトルのなす角θiは正規分布に従うと仮定しているため、信頼区間判定部１８０において、θm（ここでm<n-1）が信頼区間
【００８１】
【数２７】
0006259058.tif 000028
に含まれないときのθmを外れ値とする。ここでZはパラメータ入力部１７０から入力されるパラメータであり、95%信頼区間の場合、正規分布表からZ=1.96、99%信頼区間の場合Z=2,58となる。信頼区間の計算では、θmのデータは使用せず、その１つ前のデータまでを用いて計算してある。外れ値でなければステップ１０３に戻る（ステップ１１０、No）。
【００８２】
外れ値である場合には（ステップ１１０,Yes）、統計値計算部１６０にて平均値を計算し（ステップ１１１）、信頼区間判定部１８０で平均値に対する信頼区間を求め、平均値が信頼区間に入っているかどうかの判定を行う。当該処理について以下に詳細に説明する。
【００８３】
θmが変化点でない外れ値か変化点であるかどうかの判定を行う（ステップ１１０，１１２）。変化点ではなく、外れ値である場合（ステップ１１０,Yes、ステップ１１２,No）、外れ値を出力する。N≧3として、
【００８４】
【数２８】
0006259058.tif 000029
である。なぜならば、θmを外れ値であるとは、元データ（t m+1,x m+1）が外れ値であることが原因であり、式(11)から元データ（tm+1,x m+1）が外れ値であるとθm，θm+1，θm+2の値に影響を与えることがわかる。しかし、θmが外れ値であれば
【００８５】
【数２９】
0006259058.tif 000030
である。一方、θmが変化点であれば、m以降のθi，i>mについても式(15)を満たさないことが多いため、|μ(m,m+N-1)|>0となり、θmが変化点であるときの平均の絶対値は、θmが外れ値であるときの平均の絶対値よりも大きいことが考えられる。ここで次のような定理が知られている。
【００８６】
定理：Xが平均μ、標準偏差σの正規分布に従うならば、大きさNの無作為標本に基づく平均
【００８７】
【数３０】
0006259058.tif 000031
は、平均μ、標準偏差
【００８８】
【数３１】
0006259058.tif 000032
の正規分布に従う。
【００８９】
θmが変化点であればN≧3に対してｍ以降のN点の平均μ（m,m+N-1）は式(17)を満たさず、θmが変化点でない外れ値であれば式(17)を満たす。これにより変化点か外れ値かの判定を行う。式(17)内のパラメータZは式(15)のそれと同じである。このZはパラメータ入力部１７０より入力される。
【００９０】
【数３２】
0006259058.tif 000033
より早く変化点を検出したい場合には、式(15)において信頼区間を連続するデータでプラス側あるいはマイナス側で同じ側にはみ出したときには変化点とみなしてもよい。
【００９１】
変化点ではなく、外れ値であった場合には（ステップ１１０,Yes、ステップ１１２,No）、結果出力部１９０で外れ値のデータを出力する（ステップ１１３）。
【００９２】
外れ値であり（ステップ１１０,Yes）、変化点であった場合（ステップ１１２,Yes）は、結果出力部１９０において、変化点までのデータあるいは変化点の次のデータまでを分析対象から外す。すなわち、式(15)における平均や分散の計算に用いるデータは変化点の次あるいは変化点の２つ先のデータからを新たな分析対象とし、データ蓄積部１５０のデータを一括更新する（ステップ１１４）。
【００９３】
結果出力部１９０は、変化点のデータを出力する（ステップ１１５）。新たなデータが入力されればステップ１０２に移行し、上記の処理を繰り返す。
【００９４】
本実施の形態によれば、データの外れ値及び変化点候補を検出するために、隣接するデータをベクトルとして扱い、そのベクトルの外積を求め、そのなす角の平均と、なす角の標準偏差を求めるだけであり計算量が少ない。また、必要なパラメータは平均に必要なデータ数と何パーセントの信頼区間を設定するかであり容易である。
【００９５】
［第２の実施の形態］
本実施の形態では、コンピュータグラフィックスにおける２次元上のデータを対象として、変化点、直線領域、曲線領域、外れ値を検出する。
【００９６】
図４は、本発明の第２の実施の形態におけるデータ分析装置の構成例を示す。
【００９７】
同図に示すデータ分析装置２００は、データ入力部２１０、管理図データ作成部２２０、データ蓄積部２３０、計算部２４０、閉曲線分割部２５０、結果出力部２６０、制御部２７０を有し、管理データ作成部２２０は、ベクトル作成部２２１、なす角の和作成部２２２、群作成部２２３を有し、計算部２４０は、群の平均値と範囲R(レンジ：最大値と最小値の差)を管理するR管理図を計算するR管理図計算部２４１と、測定値を時系列に管理する
【００９８】
【数３３】
0006259058.tif 000034
管理図（以下では、X−管理図と記す）を計算するX−管理図計算部２４２を有する。
【００９９】
データ入力部２１０は、２次元データを取得して制御部２７０を介してデータ蓄積部２３０に格納する。データの取得方法は、端末から入力する、データベース等の記憶されたデータを読み込む等があるが、特に入力方法については限定しない。
【０１００】
データ蓄積部２３０は、データ入力部２１０から入力されたデータおよび、管理図データ作成部２２０、計算部２４０、閉曲線分割部２５０で求められた結果を格納する。
【０１０１】
結果出力部２６０は、管理図データ作成部２２０、計算部２４０、閉曲線分割部２５０で求められた結果を出力する。
【０１０２】
[1]コンピュータグラフィックス特有処理：
コンピュータグラフィックスへの応用の場合、描く図形が閉曲線のように同じtkに対して複数のdkを持つある場合がある。この場合、閉曲線分割部２５０にて以下の処理を行う。なお、データ分析においては同じtkに対して１つのdkを持つため、閉曲線分割部２５０及び以下に説明する内容は不要である。
【０１０３】
閉曲線、つまりデータ（tk,dk）において同じtkに対して複数のdkを持つ場合には、同じtkに対して一つのdkを持つようにデータを複数の組に分ける必要がある。その分ける方法について説明する。
【０１０４】
図５は、本発明の第２の実施の形態における閉曲線の分割の例を示す。図５において、縦軸はdkであり、横軸はtkを示す。図５のような同じtkに対してdkが連続していない場合の閉曲線の場合、tkごとにdkの数（但し、連続している場合は１つと数える）を計数する。図５においてdk軸と平行な線の上に書かれている数字はその線上におけるdkの数であり、それらの平行な線の間に書かれている数字はその領域でのdkの数である。
【０１０５】
今、この平行な線の間に書かれている数字による分類を行う。結果として中央の「６」が３つ連続している領域は１つの領域となる。最もdkの数が多い領域（図５の場合は「６」）において組ごとに図６のように番号付けを行う。図６においては、L1,L2,…,L6である。これらの組をdkの数が「４」や「２」の領域に拡張する。拡張の仕方は各組のdkの値に対して領域（dk−ε，dk＋ε）をとり、その領域内に含まれる組は同じ組と認識する。図６では、dkの数が「４」の領域の例を示しており、L1,L3,L5,L6が該当する。このようにしてtk対してdkが１つになるよう組を分ける。
【０１０６】
次に、図７のような同じtkに対してdkが連続している場合の閉曲線の場合について考える。
【０１０７】
図７のように、dkが連続している辺の端点以外を削除し、組に分ける。組の分け方は、同じtkに対してdkが連続していない場合の閉曲線の場合と同様である。削除した部分については、以下に説明する処理が終了した後に再度直線で結ぶ。
【０１０８】
ここまでがコンピュータグラフィックス特有の処理である。
【０１０９】
以後、データ分析における処理及び上記の処理を終えた後のコンピュータグラフィックスでの処理について説明する。
【０１１０】
[2]データ分析処理
[2-1]事前処理
図８は、本発明の第２の実施の形態における事前処理のフローチャートである。
【０１１１】
まずは、データ入力からベクトルの作成、２つのベクトルのなす角の和の作成、シューハートの管理図（例えば、非特許文献４参照）における群の作成までの事前処理を説明する。
【０１１２】
事前処理は主に図４に示す管理図データ作成部２２０で実施される。
【０１１３】
今、データ入力部２１０から制御部２７０を介して時系列データ（ti,di）,i=1,2,…,nが得られており、データ蓄積部２３０に時々刻々新たなデータが加わっている状況を想定する（ステップ２０１）。ここで、tiは時刻データ、diは時刻tiで観測された値である。
【０１１４】
ベクトル作成部２２１では、データ蓄積部２３０からデータ（ti,di）を読み出し、隣接する２つのデータから次のようなベクトルvi (i=1,2,3,…,n)を作成する（ステップ２０２）。
【０１１５】
【数３４】
0006259058.tif 000035
ベクトル作成部２２１は、得られたベクトルをなす角の和作成部２２２に送り、なす角の和作成部２２２は、ベクトルの外積
【０１１６】
【数３５】
0006259058.tif 000036
を計算し（ステップ２０３）、その２つのベクトルのなす角θi (i=3,4,…,n)を求める（ステップ２０４）。なす角を求めるには、次のようにして行う。ベクトルの外積の定義から、
【０１１７】
【数３６】
0006259058.tif 000037
が成り立つ。結果、
【０１１８】
【数３７】
0006259058.tif 000038
が得られる。隣接するデータからベクトルを作成し、隣接するベクトルのなす角を作成するイメージ図を図３に示す。ベクトル外積はベクトルであるためなす角についても方向があることも図３に示している。
【０１１９】
よって２つのベクトルのなす角は、
【０１２０】
【数３８】
0006259058.tif 000039
と求められる。但し、
【０１２１】
【数３９】
0006259058.tif 000040
である。なす角の和
【０１２２】
【数４０】
0006259058.tif 000041
は、
【０１２３】
【数４１】
0006259058.tif 000042
として求める（ステップ１０５）。
【０１２４】
群作成部２２３は、X−−R管理図で用いる群を作成する（ステップ２０６）。作成の方法を説明する。群の大きさ（１つの群の中のデータの数）を「２」として説明する。
【０１２５】
群をg4,g5,…,gnとすると、
【０１２６】
【数４２】
0006259058.tif 000043
となる。以後、一つ一つの群を「点」と表現する。得られた群の点は、データ蓄積部２３０に記憶される。このg4,g5,…,gnは、分析前においては曲線領域、変化点、外れ点、直線領域いずれにも該当していないので、未分類点とする（ステップ２０７）。
【０１２７】
ここで、元データdk、ベクトルrk、なす角の和
【０１２８】
【数４３】
0006259058.tif 000044
群gkの番号付けの対応の例を図９に示す。元データdk,dk+1からベクトルrkが作成される。ベクトルrk、rk+1からなす角の和
【０１２９】
【数４４】
0006259058.tif 000045
が作成される。
【０１３０】
【数４５】
0006259058.tif 000046
から群gkが作成され、データ蓄積部２３０に格納する。
【０１３１】
[3]曲線領域、変化点、外れ値、直線領域の検出
次に、計算部２４０で曲線領域、変化点、外れ値、直線領域を検出する方法を説明する。
【０１３２】
検出する順序として、初めに曲線領域を検出し、次に変化点を検出し、外れ値を検出し、最後に直線領域を検出する。
【０１３３】
[3-1]曲線領域の検出
曲線領域の検出について説明する。
【０１３４】
計算部２４０のX−管理図計算部２４２は、X−管理図を使用し、群の各点から群内部での平均
【０１３５】
【数４６】
0006259058.tif 000047
を求める。群の大きさが「２」である場合には、
【０１３６】
【数４７】
0006259058.tif 000048
となる。X−管理図計算部２４２は、これに対して、X−管理図を作成し、データ蓄積部２３０に格納する。X−管理図の作成方法は、例えば、前述の非特許文献４に記載の方法を利用することが可能である。
【０１３７】
図１０は、本発明の第２の実施の形態における曲線領域検出のフローチャートである。
【０１３８】
X−管理図計算部２４２は、
【０１３９】
【数４８】
0006259058.tif 000049
の値が６点（シューハートの管理図による）以上連続して増加（減少）している区間があるかを判定する（ステップ３０１）。ここでなければ（ステップ３０１、No）、「曲線領域は無し」として変化点の検出の処理（ステップ４０１）に移行する。ある場合（ステップ３０１、Yes）は、それらの点を曲線構成点とする。また、この領域を曲線領域とし、データ蓄積部２３０に格納する（ステップ３０２）。
【０１４０】
なす角の和が増加しているということは徐々に方向が変わっていることを示しており、元データは曲線になっている。曲線領域と隣接する未分類点領域で連続しない単独の点を除くことで曲線領域と合わせて増加（減少）となっている点（拡張曲線構成点）があるかどうか判定する（ステップ３０３）。無ければ（ステップ３０３、No）、曲線領域は既に検出された曲線領域のみとなり、ステップ４０１に移行する。もしあれば（ステップ３０３、Yes）、拡張曲線構成点を含めて曲線領域としてデータ蓄積部２３０に格納し、ステップ４０１に移行する（ステップ３０４）。なお、データの性質により６点以上の連続の数値を他の数値にしてもよい。当該数値の変更は、値が小さいと、わずかな連続増加または減少があるとそれらを曲線領域として検出してしまい、逆に大きすぎると、増加または減少領域がある程度長期に亘らないと検出できなくなってしまうため、６点を基本としてデータと変化点抽出の目的に合わせて変更する。
【０１４１】
[3-2]変化点の検出
次に変化点の検出について説明する。
【０１４２】
図１１は、本発明の第２の実施の形態における変化点検出のフローチャートである。
【０１４３】
変化点の検出は、R管理図計算部２４１によって行われる。
【０１４４】
R管理図計算部２４１は、データ蓄積部２３０から読み込んだ群の各点から群内部での最大値から最小値を引いたレンジRkを求める。群の大きさが「２」の場合には、
【０１４５】
【数４９】
0006259058.tif 000050
となる。連続する未分類点を各未分類点領域としてR管理図を作成し、データ蓄積部２３０に格納する(ステップ４０１）。R管理図の作成方法は、例えば、X−管理図と同様に、非特許文献４の技術を利用することが可能である。各R管理図において、R管理限界外の点があるかを判定する（ステップ４０２）。無い場合（ステップ４０２、No）は変化点が存在しないため、ステップ５０１に移行する。ある場合（ステップ４０２、Yes）は、このR管理限界外の点をR変化点とする（ステップ４０３）。
【０１４６】
次に、R変化点に挟まれている単独のR管理限界内の点はあるかを判定する（ステップ４０４）。無い場合（ステップ４０４、No）には、データ蓄積部２３０から再度連続する未分類の各領域を読み出して、当該各領域に対して群の大きさ「２」のR管理図を作成し、上記の処理を繰り返す。ある場合（ステップ４０４、Yes）にはその挟まれたR管理限界内の点をR変化点として再度連続する未分類点の各領域に対して群の大きさ「２」のR管理図を作成し、上記の処理を繰り返す（ステップ４０５）。
【０１４７】
[3-3]外れ点の検出
次に、外れ点の検出について説明する。
【０１４８】
外れ点の検出は、R管理図計算部２４１によって行われる。
【０１４９】
図１２は、本発明の第２の実施の形態における外れ点検出のフローチャートである。
【０１５０】
R管理図計算部２４１は、データ蓄積部２３０から読み出したR管理図において２つの連続したR変化点を外れ候補点とする（ステップ５０１）。外れ候補点があるかを判定する（ステップ５０２）。無ければ（ステップ５０２、No)、ステップ６０１に移行する。あれば（ステップ５０２、Yes）、時間的に最も早い外れ候補点を選ぶ（ステップ５０３）。選択されたその外れ候補点を挟む２つの未分類点領域を仮に１つの未分類点領域と見做し、R管理図（未分類点領域の仮連結）を作成する（ステップ５０４）。但し、その外れ候補点はこのR管理図作成時には使用しない。連結された未分類点領域は全てR管理限界内かを判定（未分類点領域の連結確認）する（ステップ５０５）。少なくとも１つ以上のR管理限界外の点があり、未分類点領域の連結が不可能な場合（ステップ５０５、No）、２つの未分類点領域は連結せずに外れ候補点はR変化点とする（ステップ５０６）。すべてR管理限界内であり、未分類点領域が連結可能の場合（ステップ５０５、Yes）、２つの未分類点領域を連結し、外れ候補点を外れ点とする（ステップ５０７）。外れ候補点があるかどうかを判定しなければ（ステップ５０２、No)、ステップ６０１に移行し、あれば次に時間的に最も早い外れ候補点を選び（ステップ５０３）、同様のことを繰り返す。
【０１５１】
[3-4]直線領域の検出
最後に直線領域の検出について説明する。
【０１５２】
直線領域の検出は、X−管理図計算部２４２によって行われる。
【０１５３】
図１３は、本発明の第２の実施の形態における直線領域検出のフローチャートである。
【０１５４】
X−管理図計算部２４２は、データ蓄積部２３０から読み出した連続する未分類点を未分類点領域として各未分類点領域に対してX−管理図を作成し、データ蓄積部２３０に格納する（ステップ６０１）。データ蓄積部２３０から読み出した各X−管理図で管理限界外の点があるかを判定する（ステップ６０２）。管理限界外の点があれば（ステップ６０２、Yes）、X−管理限界外の点を
【０１５５】
【数５０】
0006259058.tif 000051
変化点（以下、X−変化点と記す）とする。X−変化点によって未分類領域が分割され、各未分類領域に対してX−管理図を作成し、データ蓄積部２３０に格納する（ステップ６０３）。各X−管理図で管理限界外の点がなくなるまで上記の処理を繰り返す。
【０１５６】
管理限界外の点がない場合（ステップ６０２、No）、未分類点を直線構成点としてみ分類点領域を直線領域とし（ステップ６０４）、各直線領域に対して直線を引く（ステップ６０５）。
【０１５７】
[4]元データ、ベクトル、なす角、なす角の和、群の関係
次に、元データ（tk,dk） (k=1,2,…,n)，ベクトルvk (k=2,3,…,n)、なす角θk(k=3,4,…,n)、なす角の和
【０１５８】
【数５１】
0006259058.tif 000052
群gk(k=4,5,…n)との関係を整理する。
【０１５９】
これらの関係を図９を用いて説明する。元データ(tk−3,dk−3)，（tk−2,dk−3）からベクトルvk-2が作られ、vk-2とvk-1からなす角θk-1が作られ、結果としてなす角の和
【０１６０】
【数５２】
0006259058.tif 000053
が作られ、なす角の和
【０１６１】
【数５３】
0006259058.tif 000054
と
【０１６２】
【数５４】
0006259058.tif 000055
から群gkが作られることを表現している。図１４は、幾何学的にこれらの関係を示したものである。
【０１６３】
これらの図を参考にある群gkまで、あるいはgkから曲線領域だった場合には元データではそれぞれdkまでが曲線領域、dk+1からが曲線領域であることがわかる。
【０１６４】
同様に、ある群gkまで、あるいはgkからが直線領域だった場合には元データではそれぞれdkまでが直線領域、dk+1からが直線領域であることがわかる。
【０１６５】
変化点についても同様にある群gkまで、あるいはgkから変化点が複数連続した場合には元データではそれぞれdkまでが変化点領域、dk+1からが変化点領域である。
【０１６６】
変化点を1つのデータで構成したい場合（折れ線状になる）を以下に説明する。
【０１６７】
変化点を1つのデータで構成させるための手順を説明するには、直線領域及び曲線領域でどのように線を引くかが必要なため、まずそれらを説明する。
【０１６８】
直線領域での直線を引く方法は、
dk=btk+c                                (25)
として、例えば最小二乗法でパラメータb，cを求める。
【０１６９】
曲線領域での線の引き方は、
【０１７０】
【数５５】
0006259058.tif 000056
というように、例えば2次式で近似し、最小二乗法等によりパラメータa，b，cを求める。
【０１７１】
まず、２つの直線領域に挟まれている変化点を1つのデータで構成させるための手順を説明する。２つの直線領域の直線の交点が複数の変化点tkの最小値と最大値の間にある場合は、その交点を変化点とする。2つの直線領域の直線の交点が複数の変化点のtkの最小値と最大値の間にない場合は、複数の変化点の左側にある直線領域で引いた直線上で直線領域でも最も大きなtkのときの直線の値と複数の変化点の右側にある直線領域で引いた直線上で直線領域でも最も小さいtkのときの直線の値を直線で結ぶ。
【０１７２】
複数の変化点を挟んでいる領域が直線領域ではなく曲線領域である場合には、複数の変化点と隣接している曲線領域の点を（tk,dk）とすると、次の直線
【０１７３】
【数５６】
0006259058.tif 000057
を引く。直線領域で複数の変化点が挟まれる場合と同様に交点が複数の変化点のtkの最小値と最大値の間にある場合は、その交点を変化点とする。最小値と最大値の間にない場合には、複数の変化点の左側になる曲線領域で引いた曲線上で曲線領域でも最も大きいtkの時の曲線の値と複数の変化点の右側にある直線領域で引いた曲線上で曲線領域でも最も小さいtkの時の曲線の値とを直線で結ぶ。
【０１７４】
複数の変化点が直線領域と曲線領域で挟まれる場合には、各領域において今まで説明してきた手順で線を引き、交点の扱いについても今まで説明してきたとおりとする。
【０１７５】
データ分析においては、特に時系列データの場合にはデータが逐次入力されていく状況がある。新たにデータが入手される度に今まで説明してきた手順をすべて実施してもよいが、いくつかの場合では計算量を軽減することが可能である。
【０１７６】
直近の点がX−管理領域内である場合やR管理領域内である場合にはその領域に新たな点を加えて判定すればよく、全ての点について再度判定する必要はない。
【０１７７】
しかし、直近の点がそれ以外の場合には、全ての点について再度判定を実施する。
【０１７８】
上記のように本実施の形態によれば、判定に品質管理で使われているシューハートX−−R管理図自体にパラメータ設定が既になされているため、従来技術のようにパラメータを設定する必要がない。計算量は隣接するデータをベクトルとして扱いそのベクトル外積を求め、そのなす角の和を求め、X−−R管理図における群（なす角の和のデータをいくつかまとめたもの）の平均、範囲（レンジ）、及びそれらの平均を求めるだけであるので、計算量が少ない。また、新たなデータを入手したときには新たなデータがX−−R管理図の管理限界内か外かを判断するだけであるため、新たな計算無しでも直線領域内の点かどうかの判定は可能である。
【０１７９】
上記の処理で求められた、変化点、曲線領域、直線領域、外れ点を結果出力部２６０から出力する。
【０１８０】
なお、上記の図１に示すデータ分析装置１００及び図４に示すデータ分析装置２００の動作をプログラムとして構築し、外れ値、変化点、曲線領域、直線領域を検出する装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１８１】
本発明は、上記の実施の形態に限定されることなく特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１８２】
１００  データ分析装置
１１０  データ入力部
１２０  事前処理部
１３０  ベクトル作成部
１４０  なす角作成部
１５０  データ蓄積部
１６０  統計値計算部
１７０  パラメータ入力部
１８０  信頼区間判定部
１９０  結果出力部
２００  データ分析装置
２１０  データ入力部
２２０  管理図データ作成部
２２１  ベクトル作成部
２２２  なす角の和作成部
２２３  群作成部
２３０  データ蓄積部
２４０  計算部
２４１  R管理図計算部
２４２  X−管理図計算部
２５０  閉曲線分割部
２６０  結果出力部
【図１】
0006259058.tif 000058
【図２】
0006259058.tif 000059
【図３】
0006259058.tif 000060
【図４】
0006259058.tif 000061
【図５】
0006259058.tif 000062
【図６】
0006259058.tif 000063
【図７】
0006259058.tif 000064
【図８】
0006259058.tif 000065
【図９】
0006259058.tif 000066
【図１０】
0006259058.tif 000067
【図１１】
0006259058.tif 000068
【図１２】
0006259058.tif 000069
【図１３】
0006259058.tif 000070
【図１４】
0006259058.tif 000071