(57)【要約】    【課題】  クラスタの要素数の下限値を用いて適切なクラスタの数及び中心初期位置を決定できるｋ−ｍｅａｎｓ法を用いるクラスタ分析装置を提供すること。    【解決手段】  データを昇順若しくは降順に並べ替える手段（１）と、並び替え後のデータについて要素間距離を計算する手段（２）と、要素間距離から分割幅を決定する手段（３）と、分割幅を使用して解析空間を小格子空間に分割する手段（４）と、最大要素数の最大小格子空間及びその周囲の小格子空間を使用してクラスタ中心初期位置を計算する手段（６）と、クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法を行う手段（７）とを備え、分割する手段（４）が、要素間距離が閾値よりも大きい仮分節点データを選択し、隣接する仮分節点データの間に所定個数以上のデータが存在する仮分節点データを分節点データとして選択し、隣接する分節点データの差の最小値を分割幅として決定することを特徴とする。【選択図】    図１
2005222138.tif 000002
【特許請求の範囲】
【請求項１】
所定のパラメータに関する複数のデータをｋ−ｍｅａｎｓ法を用いてクラスタ分析するクラスタ分析装置であって、
前記データを昇順若しくは降順に並べ替える並べ替え手段と、
並び替えられた前記データについて、隣接するデータとの差である要素間距離を計算する距離算出手段と、
前記要素間距離から分割幅を決定する分割幅算出手段と、
前記パラメータに対応する軸を有する解析空間を、前記分割幅を使用して前記軸に関して等間隔の小格子空間に分割する空間分割手段と、
前記小格子空間の中から最大個数の前記データを含む最大小格子空間を検出し、該最大小格子空間及び該最大小格子空間の周囲の小格子空間を使用してクラスタ中心初期位置を計算する中心算出手段と、
前記クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する分析実行手段とを備え、
前記分割幅算出手段が、
並べ替えられた前記データの中から、前記要素間距離が所定の閾値よりも大きいデータを仮分節点データとして選択し、
前記仮分節点データの中から、各々の前記仮分節点データと隣接する前記仮分節点データとの間に所定個数以上の前記データが存在する仮分節点データを分節点データとして選択し、
隣接する前記分節点データの差の中の最小値を前記分割幅として決定し、
前記中心算出手段が、
前記最大小格子空間の検出において、既に検出された前記最大小格子空間から所定範囲内に含まれる前記小格子空間を除いた前記解析空間を検出の対象とし、
前記最大小格子空間の検出及び前記クラスタ中心初期位置の計算を繰り返し実行することを特徴とするｋ−ｍｅａｎｓ法を用いるクラスタ分析装置。
【請求項２】
前記閾値が、前記要素間距離の平均値及び標準偏差の和であることを特徴とする請求項１に記載のｋ−ｍｅａｎｓ法を用いるクラスタ分析装置。
【請求項３】
前記クラスタ中心初期位置が、前記小格子空間に含まれる前記データの個数を重みとし、前記小格子空間の代表ベクトルから計算される重心位置であることを特徴とする請求項１又は２に記載のｋ−ｍｅａｎｓ法を用いるクラスタ分析装置。
【請求項４】
所定のパラメータに関する複数のデータをｋ−ｍｅａｎｓ法を用いてクラスタ分析する方法であって、
前記データを昇順若しくは降順に並べ替える並べ替えステップと、
並び替えられた前記データについて、隣接するデータとの差である要素間距離を計算する距離算出ステップと、
並べ替えられた前記データの中から、前記要素間距離が所定の閾値よりも大きいデータを仮分節点データとして選択し、前記仮分節点データの中から、各々の前記仮分節点データと隣接する前記仮分節点データとの間に所定個数以上の前記データが存在する仮分節点データを分節点データとして選択し、隣接する前記分節点データの差の中の最小値を分割幅として決定する分割幅算出ステップと、
前記パラメータに対応する軸を有する解析空間を、前記分割幅を使用して前記軸に関して等間隔の小格子空間に分割する空間分割ステップと、
前記小格子空間の中から最大個数の前記データを含む最大小格子空間を検出し、該最大小格子空間及び該最大小格子空間の周囲の小格子空間を使用してクラスタ中心初期位置を計算する中心算出ステップと、
前記クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する分析実行ステップとを含み、
前記最大小格子空間の検出において、既に検出された前記最大小格子空間から所定範囲内に含まれる前記小格子空間を除いた前記解析空間を検出の対象とし、前記中心算出ステップを繰り返し実行することを特徴とするｋ−ｍｅａｎｓ法を用いるクラスタ分析方法。
【請求項５】
前記閾値が、前記要素間距離の平均値及び標準偏差の和であることを特徴とする請求項４に記載のｋ−ｍｅａｎｓ法を用いるクラスタ分析方法。
【請求項６】
前記クラスタ中心初期位置が、前記小格子空間に含まれる前記データの個数を重みとし、前記小格子空間の代表ベクトルから計算される重心位置であることを特徴とする請求項４又は５に記載のｋ−ｍｅａｎｓ法を用いるクラスタ分析方法。
【請求項７】
入力手段及び記録手段を備えたコンピュータに、
前記入力手段を介して所定数値の入力を受け付ける機能と、
所定のパラメータに関する複数のデータを前記記録手段から読み出して昇順若しくは降順に並べ替える機能と、
並び替えられた前記データについて、隣接するデータとの差である要素間距離を計算する機能と、
並べ替えられた前記データの中から、前記要素間距離が所定の閾値よりも大きいデータを仮分節点データとして選択し、前記仮分節点データの中から、各々の前記仮分節点データと隣接する前記仮分節点データとの間に前記所定数値以上の個数の前記データが存在する仮分節点データを分節点データとして選択し、隣接する前記分節点データの差の中の最小値を分割幅として決定する機能と、
前記パラメータに対応する軸を有する解析空間を、前記分割幅を使用して前記軸に関して等間隔の小格子空間に分割する機能と、
前記小格子空間の中から最大個数の前記データを含む最大小格子空間を検出し、該最大小格子空間及び該最大小格子空間の周囲の小格子空間を使用してクラスタ中心初期位置を計算する機能と、
前記クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する機能とを実現させるためのクラスタ分析プログラムであって、
前記最大小格子空間の検出において、既に検出された前記最大小格子空間から所定範囲内に含まれる前記小格子空間を除いた前記解析空間を検出の対象とし、前記クラスタ中心初期位置の計算を繰り返し実行させることを特徴とするｋ−ｍｅａｎｓ法を用いるクラスタ分析プログラム。
【請求項８】
前記閾値が、前記要素間距離の平均値及び標準偏差の和であることを特徴とする請求項７に記載のｋ−ｍｅａｎｓ法を用いるクラスタ分析プログラム。
【請求項９】
前記クラスタ中心初期位置が、前記小格子空間に含まれる前記データの個数を重みとし、前記小格子空間の代表ベクトルから計算される重心位置であることを特徴とする請求項７又は８に記載のｋ−ｍｅａｎｓ法を用いるクラスタ分析プログラム。
【請求項１０】
請求項７〜９の何れかの項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータをクラスタに分類するｋ−ｍｅａｎｓ法を用いるクラスタ分析装置、クラスタ分析方法、クラスタ分析プログラム、及びそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
ｋ−ｍｅａｎｓ法は、比較的実行速度が速く、明確なクラスタを得ることが出来るクラスタ分析法として知られている。通常、ｋ−ｍｅａｎｓ法では、複数のデータを分類するクラスタの数、及び各クラスタ中心の初期位置を予め指定した後に処理が実行される。
【０００３】
一方、下記特許文献１には、ｋ−ｍｅａｎｓ法を使用し、花と葉の画像データから草花を自動的に認識する方法が開示されており、その中で、クラスタ中心の初期位置を自動的に決定し、これを用いてｋ−ｍｅａｎｓ法を実行することが開示されている。
【特許文献１】特開２０００−２０３２４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のｋ−ｍｅａｎｓ法では、処理の前にクラスタ数及びクラスタ中心の初期位置を指定することが必要であり、従って、必ず人の仲介が必要であり、自動的実行が困難であった。
【０００５】
また、クラスタ数及びクラスタ中心の初期位置は主観で設定され、それによってクラスタ分析の結果が異なるという問題があった。例えば、図１５は、神経細胞の神経活動電位を測定した同じ波形データについて、異なるクラスタ数及び異なるクラスタ中心の初期位置を指定し、ｋ−ｍｅａｎｓ法でクラスタ分析した結果を示す。図１５では、所定の時間幅の神経活動電位波形を折れ線グラフで重畳して表示しており、同じクラスタに属する折れ線グラフを同じ輝度で表示している。このように、クラスタ数及びクラスタ中心の初期位置の設定によって、分析結果が大きく影響を受ける。
【０００６】
また、上記した特許文献１に開示された方法では、クラスタ中心の初期位置を自動的に計算することはできるが、解析空間を格子状に分割する分割数を予め指定しなければならず、分析結果が指定者の主観、経験に依存する問題がある。例えば、図１６には、同じデータに対して、異なる分割数を指定してクラスタ中心の初期位置を求めた結果を示す。（ａ）は縦軸及び横軸の分割数を共に１０に指定した場合、（ｂ）は縦軸及び横軸の分割数を共に２５に指定した場合の結果である。その結果、クラスタ中心の数が、（ａ）では１０個であるが、（ｂ）では２個と大きく異なる。このように、解析空間の分割数を予め指定してクラスタ中心の初期位置を自動生成する方法においては、分割数により結果が大きく異なる。
【０００７】
本発明の目的は、上記の課題を解決すべく、事前にクラスタ数や初期クラスタ中心位置を設定することなく、クラスタを構成するデータ数の下限値のみを初期条件として指定すれば、分析対象のデータから適切なクラスタ数及びクラスタ中心の初期位置を決定することができるｋ−ｍｅａｎｓ法を用いるクラスタ分析装置、クラスタ分析方法、クラスタ分析プログラム、及びそのプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の目的は、以下の手段によって達成される。
【０００９】
即ち、本発明に係るクラスタ分析装置（１）は、所定のパラメータに関する複数のデータをｋ−ｍｅａｎｓ法を用いてクラスタ分析するクラスタ分析装置であって、前記データを昇順若しくは降順に並べ替える並べ替え手段と、並び替えられた前記データについて、隣接するデータとの差である要素間距離を計算する距離算出手段と、前記要素間距離から分割幅を決定する分割幅算出手段と、前記パラメータに対応する軸を有する解析空間を、前記分割幅を使用して前記軸に関して等間隔の小格子空間に分割する空間分割手段と、前記小格子空間の中から最大個数の前記データを含む最大小格子空間を検出し、該最大小格子空間及び該最大小格子空間の周囲の小格子空間を使用してクラスタ中心初期位置を計算する中心算出手段と、前記クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する分析実行手段とを備え、前記分割幅算出手段が、並べ替えられた前記データの中から、前記要素間距離が所定の閾値よりも大きいデータを仮分節点データとして選択し、前記仮分節点データの中から、各々の前記仮分節点データと隣接する前記仮分節点データとの間に所定個数以上の前記データが存在する仮分節点データを分節点データとして選択し、隣接する前記分節点データの差の中の最小値を前記分割幅として決定し、前記中心算出手段が、前記最大小格子空間の検出において、既に検出された前記最大小格子空間から所定範囲内に含まれる前記小格子空間を除いた前記解析空間を検出の対象とし、前記最大小格子空間の検出及び前記クラスタ中心初期位置の計算を繰り返し実行することを特徴としている。
【００１０】
本発明に係るクラスタ分析装置（２）は、上記のクラスタ分析装置（１）において、前記閾値が、前記要素間距離の平均値及び標準偏差の和であることを特徴としている。
【００１１】
本発明に係るクラスタ分析装置（３）は、上記のクラスタ分析装置（１）又は（２）において、前記クラスタ中心初期位置が、前記小格子空間に含まれる前記データの個数を重みとし、前記小格子空間の代表ベクトルから計算される重心位置であることを特徴としている。
【００１２】
本発明に係るクラスタ分析方法（１）は、所定のパラメータに関する複数のデータをｋ−ｍｅａｎｓ法を用いてクラスタ分析する方法であって、前記データを昇順若しくは降順に並べ替える並べ替えステップと、並び替えられた前記データについて、隣接するデータとの差である要素間距離を計算する距離算出ステップと、並べ替えられた前記データの中から、前記要素間距離が所定の閾値よりも大きいデータを仮分節点データとして選択し、前記仮分節点データの中から、各々の前記仮分節点データと隣接する前記仮分節点データとの間に所定個数以上の前記データが存在する仮分節点データを分節点データとして選択し、隣接する前記分節点データの差の中の最小値を分割幅として決定する分割幅算出ステップと、前記パラメータに対応する軸を有する解析空間を、前記分割幅を使用して前記軸に関して等間隔の小格子空間に分割する空間分割ステップと、前記小格子空間の中から最大個数の前記データを含む最大小格子空間を検出し、該最大小格子空間及び該最大小格子空間の周囲の小格子空間を使用してクラスタ中心初期位置を計算する中心算出ステップと、前記クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する分析実行ステップとを含み、前記最大小格子空間の検出において、既に検出された前記最大小格子空間から所定範囲内に含まれる前記小格子空間を除いた前記解析空間を検出の対象とし、前記中心算出ステップを繰り返し実行することを特徴としている。
【００１３】
本発明に係るクラスタ分析方法（２）は、上記のクラスタ分析方法（１）において、前記閾値が、前記要素間距離の平均値及び標準偏差の和であることを特徴としている。
【００１４】
本発明に係るクラスタ分析方法（３）は、上記のクラスタ分析方法（１）又は（２）に
おいて、前記クラスタ中心初期位置が、前記小格子空間に含まれる前記データの個数を重みとし、前記小格子空間の代表ベクトルから計算される重心位置であることを特徴としている。
【００１５】
本発明に係るクラスタ分析プログラム（１）は、入力手段及び記録手段を備えたコンピュータに、前記入力手段を介して所定数値の入力を受け付ける機能と、所定のパラメータに関する複数のデータを前記記録手段から読み出して昇順若しくは降順に並べ替える機能と、並び替えられた前記データについて、隣接するデータとの差である要素間距離を計算する機能と、並べ替えられた前記データの中から、前記要素間距離が所定の閾値よりも大きいデータを仮分節点データとして選択し、前記仮分節点データの中から、各々の前記仮分節点データと隣接する前記仮分節点データとの間に前記所定数値以上の個数の前記データが存在する仮分節点データを分節点データとして選択し、隣接する前記分節点データの差の中の最小値を分割幅として決定する機能と、前記パラメータに対応する軸を有する解析空間を、前記分割幅を使用して前記軸に関して等間隔の小格子空間に分割する機能と、前記小格子空間の中から最大個数の前記データを含む最大小格子空間を検出し、該最大小格子空間及び該最大小格子空間の周囲の小格子空間を使用してクラスタ中心初期位置を計算する機能と、前記クラスタ中心初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する機能とを実現させるためのクラスタ分析プログラムであって、前記最大小格子空間の検出において、既に検出された前記最大小格子空間から所定範囲内に含まれる前記小格子空間を除いた前記解析空間を検出の対象とし、前記クラスタ中心初期位置の計算を繰り返し実行させることを特徴としている。
【００１６】
本発明に係るクラスタ分析プログラム（２）は、上記のクラスタ分析プログラム（１）において、前記閾値が、前記要素間距離の平均値及び標準偏差の和であることを特徴としている。
【００１７】
本発明に係るクラスタ分析プログラム（３）は、上記のクラスタ分析プログラム（１）又は（２）において、前記クラスタ中心初期位置が、前記小格子空間に含まれる前記データの個数を重みとし、前記小格子空間の代表ベクトルから計算される重心位置であることを特徴としている。
【００１８】
本発明に係るコンピュータ読み取り可能な記録媒体は、上記のクラスタ分析プログラム（１）〜（３）の何れかを記録していることを特徴としている。
【発明の効果】
【００１９】
本発明に係るｋ−ｍｅａｎｓ法を用いるクラスタ分析装置、クラスタ分析方法、クラスタ分析プログラム、及びそのプログラムを記録した記録媒体によれば、クラスタを構成するデータ数の下限値のみを指定すれば、クラスタ中心の初期位置の算出及びこれを用いたｋ−ｍｅａｎｓ法によるクラスタ分析を自動的に実行することができる。従って、クラスタ数、クラスタ中心の初期位置、解析空間の分割数を予め指定する必要がなく、クラスタ分析の結果がこれらの影響を受けることがない。
【００２０】
また、仮の分節点を選択する閾値として、要素間距離の平均値及び標準偏差の和を使用することによって、より適切な仮の分節点を決定することができ、従って、より適切な分節点、分割幅、及びクラスタ中心の初期位置を決定することができるので、ｋ−ｍｅａｎｓ法によるクラスタ分析を効率的に行うことができる。
【００２１】
また、クラスタ中心の初期位置の計算に使用する小格子空間に含まれるデータの個数を重みとし、小格子空間の代表ベクトルを使用して重心位置を計算することによって、小格子空間に含まれる各々のデータを使用して重心位置を計算する場合よりも高速にクラスタ
中心の初期位置を計算することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に係る実施の形態を、添付した図面に基づいて説明する。
【００２３】
図１は、本発明の実施の形態に係るｋ−ｍｅａｎｓ法を用いるクラスタ分析装置の概略構成を示すブロック図である。本クラスタ分析装置は、複数の分析対象データの順序を並べ替える並べ替え部１と、並べ替えたデータの隣接するデータ値の差を計算する距離算出部２と、パラメータを軸としてデータをプロットした解析空間を複数の領域に分割する分割幅を計算する分割幅算出部３と、分割幅を使用して解析空間を小格子空間に分割する空間分割部４と、ｋ−ｍｅｎａｓ法で使用するクラスタ中心の初期位置を計算する中心算出部５と、決定されたクラスタ中心の初期位置を使用してｋ−ｍｅａｎｓ法によるクラスタ分析を実行する分析実行部６と、分析対象データを記録する記録部７とを備えている。
【００２４】
図２は、図１に示したクラスタ分析装置の動作を説明するフローチャートである。以下、図１を参照しながら、図２のフローチャートに従って本クラスタ分析装置の動作に関して説明する。ここで、図１に示した並べ替え部１、距離算出部２、分割幅算出部３、空間分割部４、及び中心算出部５は、内部メモリ（図示せず）を備えており、演算処理を行うためのワークエリア及び処理結果の一時記録手段として使用する。内部メモリに一時記録した処理結果のデータが次のブロックに伝送されることによって、次のブロックでの処理が実行される。また、これらのブロックは、必要に応じて記録部７から分析対象データを読み出して使用する。また、分析対象データＸ（ｉ）は、ｎ次元パラメータ（パラメータがｎ種類）を成分とする座標で表現される、即ちＸ（ｉ）＝（Ｐ1（ｉ），・・，Ｐj（ｉ），・・）（ｉ＝１〜Ｎp、ｊ＝１〜ｎ、Ｎpは全データ数）であるとする。一例として、図３に、２次元パラメータの場合に、各パラメータを横軸（Ｐ1軸）、縦軸（Ｐ2軸）として分析対象データを２次元の解析空間にプロットした散布図を示す。
【００２５】
まず、ステップＳ１において、初期設定として、入力手段（図１において図示せず）を介して、初期値Ｎｃの入力を受け付ける。初期値Ｎｃは、後述するように解析後のクラスタに含まれる要素（データ）数の下限値であり、通常、分析対象データの総数や、分析対象データを測定した実験の位置付け（例えば、予備的実験、初期的実験、または最終的実験など）に応じて決定される。
【００２６】
ステップＳ２において、並べ替え部１が、繰り返し処理のカウンタｋ１を“１”にセットする。
【００２７】
ステップＳ３において、並べ替え部１が、カウンタｋ１に対応するパラメータのデータＰk1（ｉ）（ｉ＝１〜Ｎp）を記録部７から読み出し、昇順に、即ち値の小さい順に１か
ら新たな番号を付与する。順番が変更されたデータをｐk1（ｉ）（ｉ＝１〜Ｎp）とする
。
【００２８】
ステップＳ４において、距離算出部２が、順番変更後のデータｐk1（ｉ）（ｉ＝１〜Ｎp）に関して、番号が隣接するデータｐk1（ｉ）の差（以下、要素間距離と記す）ｄk1（
ｉ）＝ｐk1（ｉ＋１）−ｐk1（ｉ）を算出する。ここで、ｄk1（ｉ）≧０である。図４は、図３に示した２次元パラメータの場合に、横軸に対応するパラメータＰ1について要素
間距離ｄk1（ｉ）とデータｐk1（ｉ）との関係を示す図である。
【００２９】
ステップＳ５において、分割幅算出部３が、ステップＳ４で計算された要素間距離ｄk1（ｉ）（ｉ＝１〜ｎ−１）の平均Ａ（ｋ１）、標準偏差Ｓ（ｋ１）、及び閾値Ｔ（ｋ１）を次式で求める。
【００３０】
【数１】
2005222138.tif 000003
Ｔ（ｋ１）＝Ａ（ｋ１）＋Ｓ（ｋ１）
ステップＳ６において、データの集合を異なるクラスタに分類する境界である分節点の候補である仮の分節点を求める。即ち、分割幅算出部３が、全てのデータｐk1（ｉ）（ｉ＝１〜Ｎp）の中から、ｄk1（ｍ）＞Ｔ（ｋ１）を満たすｍに対応するデータｐk1（ｍ）
を選択し、これを要素とする新たなデータ集合を生成する。このとき、上記の条件を満たさないデータｐk1（ｉ）は新たな集合には含まれない。従って、新たなデータ集合の要素をｐk1（ｉ）で表すとｉについて連続番号とならないので、連続番号となるように新たに番号を付け直したデータをｃｐk1（ｊ）で表す。データｐk1（ｍ）＝ｃｐk1（ｊ）が仮の分節点データである。
【００３１】
ステップＳ７において、分節点を求め、それらを用いて分割幅ｗk1を決定する。即ち、分割幅算出部３が、番号が隣接する要素ｃｐk1（ｊ）の差Δk1（ｊ）＝ｃｐk1（ｊ＋１）−ｃｐk1（ｊ）を計算し、ステップＳ６で番号ｊ、ｊ＋１を新たに付与した元のデータをそれぞれｐk1（ｉ1）、ｐk1（ｉ2）として、Δk1（ｊ）の内、ｉ2−ｉ1＞Ｎｃを満たす最小値を分割幅ｗk1として決定する。ｉ2−ｉ1＞Ｎｃの条件は、２つのデータｐk1（ｉ1）
＝ｃｐk1（ｊ）とｐk1（ｉ2）＝ｃｐk1（ｊ＋１）との間にＮｃ個以上のデータｐk1（ｉ
）が存在する条件であり、ここでは、この条件を満たすデータｐk1（ｉ1）＝ｃｐk1（ｊ
）を分節点データとする。図５は、図４に示したデータに対して、Ｐ1軸に対応するパラ
メータについて分割幅ｗk1を求める処理を説明する図である。図５は、折れ線グラフ（ｄk1（ｉ））の内、水平の破線（閾値Ｔ（ｋ１））を超えるｄk1（ｉ）が選択され、それらに対応する元のデータの差から分割幅ｗk1が決定されることを表している（ここで、ｋ１＝１である）。
【００３２】
ステップＳ８において、分割幅算出部３が、別のパラメータに関する分析対象データの有無を判断し、分析対象データがあれば、ステップＳ９に移行してカウンタｋ１を１増加させ、ステップＳ３に戻る。以上によって、各パラメータに対する分割幅ｗk1（ｋ１＝１〜ｎ）が決定される。
【００３３】
ステップＳ１０において、空間分割部４が、ｎ個のパラメータを軸として形成されるｎ次元解析空間を格子状に区切り、各小格子空間の代表ベクトルＧを決定し、各小格子空間に含まれる要素数Ｎcs（Ｇ）を計算する。このとき、分割幅ｗk1（ｋ１＝１〜ｎ）を格子間隔としてパラメータＰk1（ｋ１＝１〜ｎ）に対応する軸を等分割する（図６参照）。また、各小格子空間の代表ベクトルＧを、格子点の位置を用いて、Ｇ＝（ａ1×ｗ1，ａ2×
ｗ2，・・，ａn×ｗn）とする。ａk1（ｋ１＝１〜ｎ）は、パラメータＰk1に対応する座
標成分を、分割幅ｗk1を単位として整数値で表したものである。
【００３４】
ステップＳ１１において、中心算出部５が、繰り返し処理のカウンタｋ２に“１”をセットし、各々の小格子空間に対応する走査フラグを“１”にセットする。
【００３５】
ステップＳ１２において、中心算出部５が、走査フラグが“１”である小格子空間を対象として、ステップＳ１０で求めた要素数Ｎcs（Ｇ）の中の最大の要素数Ｎcs（Ｇmax）
を持つ格子空間を決定する。ここで、Ｇmaxは、最大の要素数を持つ小格子空間の代表ベ
クトルである。最大の要素数を持つ複数の小格子空間が存在する場合には、その中の最初
に検出した小格子空間を最大の要素数を持つ小格子空間として決定する。
【００３６】
ステップＳ１３において、中心算出部５が、最大の要素数を持つ小格子空間とそれに隣接する小格子空間とを使用して、各々の要素数Ｎcs（Ｇ）を重さとして重心の座標を求める。即ち、重心ベクトルＣdef（ｋ２）を、
【００３７】
【数２】
2005222138.tif 000004
によって求める。ここで、演算記号Σは、最大の要素数Ｎcs（Ｇmax）に対応する小格子
空間及びそれに隣接する小格子空間の代表ベクトルＧｊについて加算することを表し、Ｎ0はそれら小格子空間の総数である。例えば、２次元の場合Ｎ0＝３2＝９であり、ｎ次元
の場合Ｎ0＝３nである。ここで、重心ベクトルの計算では、走査フラグの値の如何に依らず、最大の要素数を持つ小格子空間の周囲の小格子空間を全て使用する。一例として、図７に、２次元解析空間に関して、小格子空間及び重心ベクトルの位置関係について示す。図７では、各小格子空間の中央に、その中に含まれる要素数を記載しており、９個の小格子空間の内、中央の小格子空間の要素数が２０で最大である。白丸で表したＣdef（ｋ２
）は、周囲の小格子空間を含んだ９個の小格子空間の代表ベクトルから計算された重心位置（重心ベクトルの終点）を表している。
【００３８】
ステップＳ１４において、中心算出部５が、ステップＳ１３で重心計算の中心として使用した最大の要素数を持つ小格子空間から、所定距離の範囲内にある小格子空間に対応する走査フラグを“０”にセットする。所定距離は、各軸方向について分割幅ｗk1の整数倍で指定する。例えば、所定距離を“１”に設定すれば、最大の要素数を持つ小格子空間の周囲２格子以内にある（２×１＋１）n＝３n個の小格子空間に対応する走査フラグを“０”にセットする。例えば、図８において、図７に示した９個の小格子空間に対応する走査フラグに“０”をセットする。
【００３９】
ステップＳ１５において、中心算出部５が、走査フラグが“１”であり、且つ要素数Ｎcs（Ｇ）が“０”以外の小格子空間が存在するか否かを判断し、存在すると判断した場合、ステップＳ１６に移行してｋ２を１増加させ、ステップＳ１２に戻る。例えば、図８において、図７に示した９個の小格子空間を除いた領域における要素数を比較し、要素数が１６の小格子空間を最大要素数の小格子空間として決定する。
【００４０】
以上によって、分析対象データに関する重心ベクトルＣdef（ｋ２）（ｋ２は１以上の
整数）が全て求められる。
【００４１】
最後に、ステップＳ１７において、分析実行部６が、記録部７から分析対象データを読み出し、ステップＳ１５で決定された重心ベクトルＣdef（ｋ２）（ｋ２は１以上の整数
）をクラスタ中心の初期位置として使用して、通常のｋ−ｍｅａｎｓ法によるクラスタ分析を行う。まず、分析対象の全てのデータについて、各々のクラスタ中心の初期位置Ｃdef（ｋ２）との距離（非類似度）を計算し、各々のデータを最短距離の初期クラスタ中心
に分類、即ち各クラスタの要素とする。ここで、距離に関しては、様々な定義が使用でき、例えばユークリッド平方距離を用いる。次に、各々のクラスタの要素を用いて各々のクラスタ中心を計算し、この中心を新しいクラスタ中心とする。再び、新しく生成されたクラスタ中心と全ての要素とのユークリッド平方距離を計算し、最短距離のクラスタ中心に各データを再分類する。以降同様の処理を、クラスタ中心位置が収束するまで繰り返す。例えば、ｊ回目に計算されたクラスタ中心（Ｃk2,j）の座標と、これを用いてデータを分
類し、再計算して得られるクラスタ中心（Ｃk2,j+1）の座標との距離が、全てのクラスタ（全てのｋ２）について所定値以下になるまで繰り返す。クラスタ中心位置が収束した後、分析実行部６は、外部の解析結果出力ユニット（例えば、表示装置、印刷装置など）に、分析結果を出力する。
【００４２】
以上によって、分析対処データに対するｋ−ｍｅａｎｓ法によるクラスタ分析が終了する。即ち、クラスタを構成する要素の下限値Ｎｃのみを初期条件として指定すれば、分析対象データに対する適切なクラスタ数及びクラスタ中心の初期位置を自動的に決定し、ｋ−ｍｅａｎｓ法によるクラスタ分析が自動的に実行される。
【００４３】
以上において、図１は、本発明に係るクラスタ分析装置の機能を各ブロックに分割して持たせて構成した一例であるが、これに限定されず、複数の機能ブロックを一つのブロックで構成するなど、種々の構成が可能である。また、各ブロックが処理結果を記録する内部メモリを備え、処理結果を次のブロックが内部メモリから読み出す構成としたが、これに限定されず、共通のメモリを備えてもよく、記録部７を一時記録に使用してもよい。また、中央演算処理装置（ＣＰＵ）を備え、ＣＰＵが各ブロックを集中的に制御する構成としてもよい。
【００４４】
また、上記では、並べ替え部１、距離算出部２、及び分割幅算出部３を各々１つ備え、繰り返し処理（ステップＳ３〜Ｓ９）によって複数のパラメータに関して分割幅を決定する場合を説明したが、これに限定されない。並べ替え部１、距離算出部２、及び分割幅算出部３を各々複数備え、複数のパラメータに関して、分割幅を決定する一連の処理（ステップＳ３〜Ｓ７）を同時に並行して行ってもよい。
【００４５】
また、上記では、閾値Ｔ（ｋ１）を平均値Ａ（ｋ１）と標準偏差Ｓ（ｋ１）の和としたが、これに限定されない。例えば、適切な正の数αを用いてＴ（ｋ１）＝Ａ（ｋ１）＋α×Ｓ（ｋ１）、又はＴ（ｋ１）＝（１＋α）×Ａ（ｋ１）などを使用してもよい。
【００４６】
また、上記では、並べ替え部１がデータを昇順に並べ替える場合を説明したが、これに限定されず、データを降順に並べ替えてもよい。その場合、要素間距離ｄk1（ｉ）は、ｄk1（ｉ）＝ｐk1（ｉ）−ｐk1（ｉ＋１）で計算すればよい（ｄk1（ｉ）≧０）。また、上記と同じｄk1（ｉ）＝ｐk1（ｉ＋１）−ｐk1（ｉ）を使用する場合には、ｄk1（ｉ）≦０であることを考慮して、データの選別に使用する閾値Ｔ（ｋ１）の決定、及び閾値Ｔ（ｋ１）との比較を行えばよい。その場合、平均値Ａ（ｋ１）≦０、標準偏差Ｓ（ｋ１）≧０であるので、例えば、Ｔ（ｋ１）＝Ａ（ｋ１）−Ｓ（ｋ１）とし、判定条件をｄk1（ｉ）＜Ｔ（ｋ１）とすればよい。
【００４７】
また、上記では、各小格子空間の代表ベクトルを使用し、各小格子空間に含まれるデータの個数を重みとして重心位置を計算する場合を説明したが、これに限定されず、重心位置の計算に使用される小格子空間に含まれる各々のデータを表すベクトルを使用して重心位置を計算してもよい。
【００４８】
また、上記では、最大個数の要素を含む小格子空間の周囲の小格子空間を全て重心位置の計算に使用する場合を説明したが、これに限定されず、周囲の小格子空間の一部を使用してもよい。例えば、周囲の小格子空間の内、含まれる要素の個数が多いものから順に所定個数の小格子空間を使用する、又は、最大個数の要素を含んでいる小格子空間の要素個数の所定割合以上の要素を含む小格子空間を使用するなどであってもよい。
【００４９】
また、上記では、各小格子空間の代表ベクトルとして原点と格子点とを結ぶベクトルを使用する場合を説明したが、これに限定されない。小格子空間の代表ベクトルとして、格
子点から所定のオフセットベクトル分だけずれたベクトルを使用してもよい。その場合、オフセットベクトルをベクトル（ｇ1，ｇ2，・・，ｇn）とすると、各小格子空間の代表
ベクトルＧは、Ｇ＝（ａ1×ｗ1＋ｇ1，ａ2×ｗ2＋ｇ2，・・，ａn×ｗn＋ｇn）で表され
、これを使用してステップＳ１３での重心ベクトルの計算を行えばよい。
【実施例】
【００５０】
以下に実施例を示し、本発明の特徴とするところをより一層明確にする。
【００５１】
以下では、本発明を、細胞外電極から記録された神経細胞活動電位のクラスタ分析に適用した例を示す。本実施例では、活動電位の振幅と減衰時間とをパラメータとした２次元のクラスタ分析を行った。
【００５２】
分析対象のデータは、振幅に関して、図９、１０に示すような分布であった。図９は、２分間の神経細胞活動電位波形に関して、横軸を振幅とし、振幅が各範囲内の値になった頻度をヒストグラムとして表示した図である。また、図１０は、横軸を振幅とし、各振幅値をひし形（◆）で直線上にプロットした図である。図１０には参考のために、図の一部を拡大して、要素間距離の一部ｄ１〜ｄ８を付記している。また、減衰時間に関しても同様の分布が作成できるが、ここでは省略する。
【００５３】
図９、１０のデータに対して、図２のステップＳ３及びＳ４の処理を実施した結果を図１１に示す。図１１では、横軸を振幅とし、各要素間距離ｄｎをひし形（◆）でプロットした折れ線グラフとして表示している。ここで、正方形（■）の系列のグラフは、要素間距離との比較のために、図９に示したヒストグラムを折れ線グラフで表示したものである。図１１から、要素間距離が大きいポイントでは度数分布の山が低く、データを異なるクラスタに振り分ける境界である分節点の候補として有望であることが確認できる。
【００５４】
図１１の結果に対して、要素間距離の中から明確に長い距離の要素間距離を算出する処理、即ち図２のステップＳ５及びＳ６の処理を実施した結果を図１２に示す。図１２では、図１０で示したデータ分布（ひし形（◆））の内、要素間距離の差Δ1（ｊ）が所定の
閾値を越えるデータを白色の正方形（□）で表示している。ここで、白色の正方形（□）には、図２のステップＳ６の説明で使用した符合ｃｐ1〜ｃｐ8を付している。
【００５５】
図１２に示したデータ分布を見れば、データ分布（ひし形（◆））における仮の分節点（□）が適切に検出されていることが分かる。しかし、図１２において矢印で示した点（ｃｐ6〜ｃｐ8）は、データ密度が非常に低く、独立したクラスタが形成されるには不十分なデータ領域に位置しており、必要以上に分割されていると言える。実施の形態で説明したように、図２のステップＳ１で初期条件として設定される解析後クラスタに含まれる要素の数の下限値Ｎｃを基準として用いれば、これらｃｐ6〜ｃｐ8を排除することができる。即ち、Ｎｃ＝３としてステップＳ７の処理を実行した結果、仮の分節点ｃｐ6〜ｃｐ8を排除してｃｐ1〜ｃｐ5を分節点として決定できた。さらに、決定された分節点ｃｐ1〜ｃ
ｐ5を使用して分節点間の距離を求め、その中の最小値をこのパラメータに対する分割幅
ｗ1として決定した。
【００５６】
もう一方のパラメータである減衰時間のデータについても同様の処理を実行し、減衰時間に関する分割幅ｗ2を決定した。決定された分割幅ｗ1、ｗ2を使用して、図２に示した
ステップＳ１０の処理を行った。その結果、振幅及び減衰時間を軸として形成される２次元空間の８．５〜３８．７μＶ×０．０５〜１．６ミリ秒の領域を、２５×３０の小格子空間に分割した。さらに、ステップＳ１１〜Ｓ１６の処理を行うことによって、クラスタ中心の初期位置を決定した。続いて、クラスタ中心の初期位置を用いてｋ−ｍｅａｎｓ法によるクラスタ分析を実行した。
【００５７】
以上の結果得られたクラスタ中心の初期位置と、これを使用したｋ−ｍｅａｎｓ法によるクラスタ分析の結果得られた最終的なクラスタ中心の位置を図１３に示す。これは解析結果出力ユニットによる出力結果の一例である。図１３において、１を付した白丸（○）がクラスタ中心の初期位置を表し、１’を付した黒丸（●）が対応する最終結果のクラスタ中心の位置を表す。同様に、２を付した白丸（○）が別のクラスタ中心の初期位置を表し、２’を付した黒丸（●）が対応する最終結果のクラスタ中心の位置を表す。
【００５８】
同様に、異なるデータに対して本発明を適用した結果を図１４に示す。この場合、大きい分割幅が得られたので、クラスタ中心の計算を非常に高速に行うことができた。
【００５９】
以上では、神経細胞活動電位のデータに本発明を適用した実施例を説明したが、これに限定されず、本発明は種々のデータに対して適用することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態に係るｋ−ｍｅａｎｓ法を用いるクラスタ分析装置の概略構成を示すブロック図である。
【図２】本実施の形態に係るクラスタ分析装置の動作を説明するフローチャートである。
【図３】各パラメータを軸として分析対象データをプロットした散布図である。
【図４】図３に示したデータに関して、横軸に対応するパラメータＰ1について要素間距離とデータとの関係を示す図である。
【図５】図４に示したデータに関して、横軸に対応するパラメータＰ1について分割幅ｗ1を求める処理を説明する図である。
【図６】各小格子空間の代表ベクトルの一例を示す図である。
【図７】小格子空間の代表ベクトルを使用して重心位置を求める処理を説明する図である。
【図８】最大要素数の小格子空間を検出する処理を説明する図である。
【図９】神経細胞活動電位波形の振幅値が各範囲内の値になった頻度をヒストグラムとして表示した図である。
【図１０】神経細胞活動電位波形の振幅値を直線上にプロットした図である。
【図１１】図１０に示したデータに関してステップＳ３及びＳ４の処理を行った結果の要素間距離を示す図である。
【図１２】図１１に示したデータに関して図２のステップＳ５及びＳ６の処理を行った結果を示す図である。
【図１３】クラスタ中心の初期位置と、ｋ−ｍｅａｎｓ法によるクラスタ分析で得られた最終的なクラスタ中心の位置とを解析空間にプロットした図である。
【図１４】別の分析対象データに関して、クラスタ中心の初期位置と、ｋ−ｍｅａｎｓ法によるクラスタ分析で得られた最終的なクラスタ中心の位置とを解析空間にプロットした図である。
【図１５】従来のｋ−ｍｅａｎｓ法でクラスタ分析した結果を示す図であり、（ａ）、（ｂ）は同じデータに対して異なるクラスタ数及び異なるクラスタ中心の初期位置を指定した場合の結果を示す。
【図１６】従来のｋ−ｍｅａｎｓ法でクラスタ分析した結果を示す図であり、（ａ）、（ｂ）は同じデータに対して異なる分割数を指定した場合の結果を示す。
【符号の説明】
【００６１】
１    並べ替え部
２    距離算出部
３    分割幅算出部
４    空間分割部
５    中心算出部
６    分析実行部
７    記録部
【図１】
2005222138.tif 000005
【図２】
2005222138.tif 000006
【図７】
2005222138.tif 000007
【図８】
2005222138.tif 000008
【図９】
2005222138.tif 000009
【図１０】
2005222138.tif 000010
【図１２】
2005222138.tif 000011
【図３】
2005222138.tif 000012
【図４】
2005222138.tif 000013
【図５】
2005222138.tif 000014
【図６】
2005222138.tif 000015
【図１１】
2005222138.tif 000016
【図１３】
2005222138.tif 000017
【図１４】
2005222138.tif 000018
【図１５】
2005222138.tif 000019
【図１６】
2005222138.tif 000020