(57)【要約】【課題】生データにおける変数毎の値の分布状態を維持しつつ、異常値の除去ができるようにする。【解決手段】削除前後で変数毎の分布状態の類似性があると判定されるまで、異常値データ数決定部３４が、異常値を含む解析データであると判定するデータ数を決定し、異常値判定部３６が、変数毎に、前記変数の値が異常値である解析データを、決定されたデータ数だけ判定し、データ削除部３８が、変数毎の判定結果を集約して、異常値を含む解析データを削除し、比較部４０が、変数毎に、削除前の変数の値の分布状態と、削除後の変数の値の分布状態とを比較することを繰り返す。異常値データ数決定部３４が、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定する。【選択図】図２
2019185170.tif 000002
【特許請求の範囲】
【請求項１】
複数の変数を含む解析データの集合から、異常値を含む解析データを削除するデータ解析装置であって、
異常値を含む解析データであると判定するデータ数を決定する異常値データ数決定部と、
前記解析データに含まれる変数毎に、前記変数の値が異常値である解析データを前記異常値データ数決定部によって決定されたデータ数だけ判定する異常値判定部と、
前記異常値判定部による変数毎の判定結果を集約して、前記解析データの集合から、異常値を含む解析データを削除するデータ削除部と、
前記変数毎に、前記データ削除部による削除前の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態と、前記データ削除部による削除後の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態とを、変数毎の前記分布状態の類似性を判定するために比較する比較部とを含み、
前記変数毎の前記分布状態の類似性があると判定されるまで、前記異常値データ数決定部による決定、前記異常値判定部による判定、前記データ削除部による削除、及び前記比較部による判定を繰り返し、
前記異常値データ数決定部は、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定する、
データ解析装置。
【請求項２】
前記比較部は、前記分布状態としての散布図やヒストグラムを比較する請求項１記載のデータ解析装置。
【請求項３】
前記変数毎に、異常値判定のための基準位置を決定する基準位置決定部を更に含み、
前記異常値判定部は、前記変数毎に、前記基準位置決定部によって決定された前記基準位置から遠い前記変数の値を有する前記解析データから順に、前記変数の値が異常値である解析データとして判定することにより、前記変数の値が異常値である解析データを前記異常値データ数決定部によって決定されたデータ数だけ判定する請求項１又は２記載のデータ解析装置。
【請求項４】
複数の変数を含む解析データの集合から、異常値を含む解析データを削除するためのプログラムであって、
コンピュータを、
異常値を含む解析データであると判定するデータ数を決定する異常値データ数決定部、
前記解析データに含まれる変数毎に、前記変数の値が異常値である解析データを前記異常値データ数決定部によって決定されたデータ数だけ判定する異常値判定部、
前記異常値判定部による変数毎の判定結果を集約して、前記解析データの集合から、異常値を含む解析データを削除するデータ削除部、及び
前記変数毎に、前記データ削除部による削除前の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態と、前記データ削除部による削除後の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態とを、変数毎の前記分布状態の類似性を判定するために比較する比較部として機能させるためのプログラムであって、
前記変数毎の前記分布状態の類似性があると判定されるまで、前記異常値データ数決定部による決定、前記異常値判定部による判定、前記データ削除部による削除、及び前記比較部による判定を繰り返し、
前記異常値データ数決定部は、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ解析装置及びプログラムに係り、特に、解析データの集合から、異常値を含む解析データを削除するデータ解析装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、特異度数という指標を導入して、多変数における異常値判定、および除去を行う技術が知られている（特許文献１）。特許文献１の技術では、異常値の判定、除去に用いる閾値として箱ひげ、あるいは四分位を用いている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2013-210759号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の技術では、異常値除去前後のデータ分布の評価を実施していないため、生データと異常値除去後のデータの類似性を失う可能性がある．
【０００５】
本発明は、上記の事情を鑑みてなされたもので、生データにおける変数毎の値の分布状態を維持しつつ、異常値の除去ができるデータ解析装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために本発明に係るデータ解析装置は、複数の変数を含む解析データの集合から、異常値を含む解析データを削除するデータ解析装置であって、異常値を含む解析データであると判定するデータ数を決定する異常値データ数決定部と、前記解析データに含まれる変数毎に、前記変数の値が異常値である解析データを前記異常値データ数決定部によって決定されたデータ数だけ判定する異常値判定部と、前記異常値判定部による変数毎の判定結果を集約して、前記解析データの集合から、異常値を含む解析データを削除するデータ削除部と、前記変数毎に、前記データ削除部による削除前の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態と、前記データ削除部による削除後の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態とを、変数毎の前記分布状態の類似性を判定するために比較する比較部とを含み、前記変数毎の前記分布状態の類似性があると判定されるまで、前記異常値データ数決定部による決定、前記異常値判定部による判定、前記データ削除部による削除、及び前記比較部による判定を繰り返し、前記異常値データ数決定部は、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定する。
【０００７】
本発明に係るプログラムは、複数の変数を含む解析データの集合から、異常値を含む解析データを削除するためのプログラムであって、コンピュータを、異常値を含む解析データであると判定するデータ数を決定する異常値データ数決定部、前記解析データに含まれる変数毎に、前記変数の値が異常値である解析データを前記異常値データ数決定部によって決定されたデータ数だけ判定する異常値判定部、前記異常値判定部による変数毎の判定結果を集約して、前記解析データの集合から、異常値を含む解析データを削除するデータ削除部、及び前記変数毎に、前記データ削除部による削除前の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態と、前記データ削除部による削除後の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態とを、変数毎の前記分布状態の類似性を判定するために比較する比較部として機能させるためのプログラムであって、前記変数毎の前記分布状態の類似性があると判定されるまで、前記異常値データ数決定部による決定、前記異常値判定部による判定、前記データ削除部による削除、及び前記比較部による判定を繰り返し、前記異常値データ数決定部は、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定する、プログラムである。
【０００８】
本発明によれば、異常値データ数決定部によって、異常値を含む解析データであると判定するデータ数を決定する。異常値判定部によって、前記解析データに含まれる変数毎に、前記変数の値が異常値である解析データを前記異常値データ数決定部によって決定されたデータ数だけ判定する。
【０００９】
そして、データ削除部によって、前記異常値判定部による変数毎の判定結果を集約して、前記解析データの集合から、異常値を含む解析データを削除する。比較部によって、前記変数毎に、前記データ削除部による削除前の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態と、前記データ削除部による削除後の前記解析データの集合に含まれる解析データの前記変数の値から得られる前記変数の値の分布状態とを、変数毎の前記分布状態の類似性を判定するために比較する。
【００１０】
前記変数毎の前記分布状態の類似性があると判定されるまで、前記異常値データ数決定部による決定、前記異常値判定部による判定、前記データ削除部による削除、及び前記比較部による判定を繰り返す。このとき、異常値データ数決定部は、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定する。
【００１１】
このように、前記変数毎の前記分布状態の類似性があると判定されるまで、異常値を含む解析データであると判定するデータ数を決定し、変数毎に、前記変数の値が異常値である解析データを、決定されたデータ数だけ判定し、変数毎の判定結果を集約して、異常値を含む解析データを削除し、前記変数毎に、削除前の前記変数の値の分布状態と、削除後の前記変数の値の分布状態とを比較し、少なくとも１つの前記変数の前記分布状態の類似性がないと前回判定された場合に、前記データ数を前回より減らして決定することを繰り返すことにより、生データにおける変数毎の値の分布状態を維持しつつ、異常値の除去ができる。
【発明の効果】
【００１２】
以上説明したように、本発明のデータ解析装置及びプログラムによれば、生データにおける変数毎の値の分布状態を維持しつつ、異常値の除去ができる、という効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係るデータ解析装置を示すブロック図である。
【図２】本発明の実施の形態に係るデータ解析装置を示す機能ブロック図である。
【図３】本発明の実施の形態に係るデータ解析装置の異常値データ削除処理ルーチンの内容を示すフローチャートである。
【図４】本発明の実施の形態に係るデータ解析装置の異常値データ削除処理ルーチンの内容を示すフローチャートである。
【図５】（ａ）変数Ａの生データのヒストグラムの一例を示す図、（ｂ）一変数での異常値除去後のヒストグラムの一例を示す図、（ｃ）全変数での異常値除去後のヒストグラムの一例を示す図、及び（ｄ）本発明の実施の形態を適用した場合の異常値除去後のヒストグラムの一例を示す図である。
【図６】（ａ）変数Ｂの生データのヒストグラムの一例を示す図、（ｂ）一変数での異常値除去後のヒストグラムの一例を示す図、（ｃ）全変数での異常値除去後のヒストグラムの一例を示す図、及び（ｄ）本発明の実施の形態を適用した場合の異常値除去後のヒストグラムの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１５】
＜本発明の実施の形態の概要＞
ビッグデータから異常値を含むデータを判定して削除する際に、異常値として判定するデータ数を少なく決定した場合は、ビッグデータ中に異常値を含んだ状態で解析を実施することとなり、その異常値に引きずられて解析精度が悪化する。
【００１６】
一方、異常値として判定するデータ数を多く決定した場合、全変数での異常値有無を評価した結果、非常に多くの個体が除去されることで、生データにおけるデータの分布状態を維持できないことがある。
【００１７】
本発明の実施の形態では、生データと異常値除去後の類似性維持という制約下で異常値除去を行うため、ビッグデータ解析を行うための前処理としての異常値除去と類似性維持を両立できるようにする。
【００１８】
＜本発明の実施の形態のデータ解析装置の構成＞
図１に示すように、本発明の実施の形態に係るデータ解析装置１０は、ＣＰＵ１２、ＲＯＭ１４、ＲＡＭ１６、ＨＤＤ１８、通信インタフェース２１、及びこれらを相互に接続するためのバス２２を備えている。
【００１９】
ＣＰＵ１２は、各種プログラムを実行する。ＲＯＭ１４には、各種プログラムやパラメータ等が記憶されている。ＲＡＭ１６は、ＣＰＵ１２による各種プログラムの実行時におけるワークエリア等として用いられる。記録媒体としてのＨＤＤ１８には、後述する異常値データ削除処理ルーチンを実行するためのプログラムを含む各種プログラムや各種データが記憶されている。
【００２０】
本実施の形態におけるデータ解析装置１０を、異常値データ削除処理ルーチンを実行するためのプログラムに沿って、機能ブロックで表すと、図２に示すようになる。データ解析装置１０は、入力部２０、演算部３０、及び出力部５０を備えている。
【００２１】
入力部２０は、複数の変数を含む解析データの集合を入力として受け付ける。
【００２２】
例えば、ビッグデータと通称される、多変数（測定項目、評価項目）、多個体数（製品数または人数等、個別に名称、IDが付けられるもの）の解析データを受け付ける。
【００２３】
演算部３０は、基準位置決定部３２、異常値データ数決定部３４、異常値判定部３６、データ削除部３８、及び比較部４０を備えている。
【００２４】
基準位置決定部３２は、変数毎に、異常値判定のための基準位置を決定する。
【００２５】
具体的には、一変数毎に、当該変数の値の分布状態を示す散布図又はヒストグラムを描画し、生データにおけるデータの分布状態を確認し、データ中に測定異常等の理由により生じた異常値の有無を確認する。例えば、変数毎に、ヒストグラムを描画して確認し、主たる分布からの外れにより異常値の有無を確認すると良い。
【００２６】
そして、ある変数において、異常値が有ると確認された場合は、当該変数について、異常値除去のための基準位置を決定する。基準位置には例えば中央値や平均値を用いると良い。
【００２７】
異常値データ数決定部３４は、異常値を含む解析データであると判定するデータ数を決定する。例えば、100点、5000点の様に絶対値で決定しても良いし、全データ数の1%、5%の様に割合で決定しても良い。本実施の形態では、全変数で共通のデータ数を決定するが、変数毎に、異なるデータ数を決定するようにしてもよい。
【００２８】
異常値データ数決定部３４は、後述する比較部４０により削除前後で少なくとも１つの変数の分布状態の類似性がないと前回判定された場合に、データ数を前回より所定数だけ減らして決定する。なお、データ数として割合で決定する場合には、所定割合だけ減らして決定するようにすればよい。
【００２９】
異常値判定部３６は、解析データに含まれる変数毎に、変数の値が異常値である解析データを異常値データ数決定部３４によって決定されたデータ数だけ判定する。
【００３０】
具体的には、異常値判定部３６は、変数毎に、基準位置決定部３２によって決定された基準位置から遠い当該変数の値を有する解析データから順に、当該変数の値が異常値である解析データとして判定し、異常値データ数決定部３４によって決定されたデータ数に達したところで、当該変数の値が異常値である解析データの判定を停止する。
【００３１】
この方法として、例えば箱ひげ図を書き、基準位置（中央値）から遠いデータ点から基準位置に向けて順にデータを異常値と判定していき、データがひげの内側に来たら正常値である（異常値ではない）と判断する方法がある。
【００３２】
ここで箱ひげ図のひげは、例えば、「第一四分位数 − 1.5*四分位範囲」〜「第三四分位数 ＋ 1.5*四分位範囲」で定義される。
【００３３】
また、異常値データ数決定部３４で決定した異常値と判定するデータ点数に達する前に、ひげの内側に入った場合は、そこで異常値判定を停止する。
【００３４】
異常値データ数決定部３４で決定した異常値と判定するデータ点数に達してもひげの内側に入らない場合は、ひげの範囲を徐々に拡大してもよく、具体的にはひげを定義する 「1.5*四分位範囲」の係数（1.5）を徐々に大きくしていくことが考えられる。係数を徐々に大きくしていき、異常値データ数決定部３４で決定した異常値と判定するデータ点数に達する前に、ひげの内側に入った段階で、異常値判定を停止する。
【００３５】
データ削除部３８は、異常値判定部３６による全変数に対する判定結果を集約して、解析データの集合から、異常値を含む解析データを削除する。
【００３６】
具体的には、解析データ個体の各々に対して、一変数でも異常値判定されたデータを含む場合は、当該解析データを削除する。
【００３７】
比較部４０は、変数毎に、データ削除部３８による削除前の解析データの集合（生データ）に含まれる解析データの当該変数の値から得られる当該変数の値の分布状態と、データ削除部３８による削除後の解析データの集合に含まれる解析データの当該変数の値から得られる当該変数の値の分布状態とを比較して、当該変数毎の分布状態の類似性を判定する。
【００３８】
具体的には、一変数毎に、削除前のデータ分布状態（散布図、ヒストグラム）と削除後のデータ分布状態を描画して比較し、類似性を確認する。類似性の確認は作業者の感応評価により行っても良いし、歪度、尖度、分散、ピークの数などにより自動的に類似性を評価しても良い。
【００３９】
削除前後で少なくとも１つの変数についてデータ分布状態に類似性が失われている場合、異常値データ数決定部３４、異常値判定部３６、データ削除部３８、及び比較部４０の各処理を再度行う。この際に、異常値データ数決定部３４において、前回よりデータ数を減らして決定する。
【００４０】
削除前後で全変数に対して分布状態の類似性があると判定されると、今回のデータ削除部３８による削除後の解析データの集合を、ビッグデータ解析の前処理結果として、出力部５０により出力する。
【００４１】
＜データ解析装置の動作＞
次に、本発明の実施の形態に係るデータ解析装置１０の動作について説明する。
【００４２】
入力部２０によって、複数の変数を含む解析データの集合（生データ）を入力として受け付けると、データ解析装置１０によって、図３、図４に示す異常値データ削除処理ルーチンが実行される。
【００４３】
まず、ステップＳ１００において、解析データの多変数のうち、何れか１つの変数を選択する。
【００４４】
ステップＳ１０２において、選択された変数について、生データにおける当該変数の値の分布状態を生成し描画する。
【００４５】
ステップＳ１０４では、選択された変数について、上記ステップＳ１０２により描画された当該変数の値の分布状態に基づいて、異常値があるか否かを判定する。選択された変数について異常値がないと判定された場合には、ステップＳ１０８へ移行する。一方、選択された変数について異常値があると判定された場合には、ステップＳ１０６へ移行する。
【００４６】
ステップＳ１０６では、選択された変数について、異常値判定のための基準位置を決定する。
【００４７】
ステップＳ１０８では、解析データの多変数の全てについて、上記ステップＳ１００〜Ｓ１０６の処理を実行したか否かを判定する。上記ステップＳ１００〜Ｓ１０６の処理を実行していない変数が存在する場合には、上記ステップＳ１００へ戻り、当該変数を選択する。解析データの多変数の全てについて、上記ステップＳ１００〜Ｓ１０６の処理を実行した場合には、ステップＳ１１０へ移行する。
【００４８】
ステップＳ１１０では、異常値を含む解析データであると判定するデータ数を決定する。
【００４９】
ステップＳ１１２では、解析データの多変数のうち、何れか１つの変数を選択する。ステップＳ１１４では、選択された変数について、上記ステップＳ１０４で異常値があると判定されたか否かを判定する。選択された変数について、上記ステップＳ１０４で異常値がないと判定された場合には、ステップＳ１１２へ戻る。一方、選択された変数について、上記ステップＳ１０４で異常値があると判定された場合には、ステップＳ１１６へ移行する。
【００５０】
ステップＳ１１６では、選択された変数について、上記ステップＳ１０６で決定された基準位置から遠い当該変数の値を有する解析データから順に、当該変数の値が異常値である解析データとして判定し、上記ステップＳ１１０で決定されたデータ数に達したところで、当該変数の値が異常値である解析データの判定を停止する。
【００５１】
ステップＳ１１８では、選択された変数について、上記ステップＳ１１６により異常値として判定されたデータを除いた、当該変数の値の分布状態を生成して描画する。
【００５２】
ステップＳ１２０では、解析データの多変数の全てについて、上記ステップＳ１１２〜Ｓ１１８の処理を実行したか否かを判定する。上記ステップＳ１１２〜Ｓ１１８の処理を実行していない変数が存在する場合には、上記ステップＳ１１２へ戻り、当該変数を選択する。解析データの多変数の全てについて、上記ステップＳ１１２〜Ｓ１１８の処理を実行した場合には、ステップＳ１２２へ移行する。
【００５３】
ステップＳ１２２では、上記ステップＳ１１６での全変数に対する判定結果を集約し、ステップＳ１２４において、上記ステップＳ１２２で集約した結果に基づいて、生データである解析データの集合から、異常値を含む解析データを削除する。
【００５４】
ステップＳ１２６では、変数毎に、上記ステップＳ１２４での削除後の解析データの集合に含まれる解析データの当該変数の値から得られる当該変数の値の分布状態を生成する。
【００５５】
ステップＳ１２８では、変数毎に、上記ステップＳ１０２で生成された、解析データの集合（生データ）に含まれる解析データの当該変数の値から得られる当該変数の値の分布状態と、上記ステップＳ１２６で生成された、削除後の解析データの集合に含まれる解析データの当該変数の値から得られる当該変数の値の分布状態とを描画して比較する。
【００５６】
ステップＳ１３０では、削除前後で全変数において分布状態の類似性があるか否かを判定する。
【００５７】
削除前後で少なくとも１つの変数についてデータ分布状態に類似性が失われている場合、上記ステップＳ１３２において、異常値を含む解析データであると判定するデータ数を前回より減らして決定し、上記ステップＳ１１２へ戻る。一方、全変数において分布状態の類似性がある場合には、上記ステップＳ１２４で得られた削除後の解析データの集合を、ビッグデータ解析の前処理結果のデータとして出力部５０により出力し、異常値データ削除処理ルーチンを終了する。
【００５８】
＜実施例＞
700変数、15万個体のビッグデータに対して前処理として異常値除去を実施した。
【００５９】
（従来手法の適用）
一変数毎の異常値判定には、上記特許文献１と同様に箱ひげを用いた。図５(ａ)に、生データでの変数Ａのヒストグラムを示し、図５(ｂ)に、従来手法を用いた一変数での異常値除去後の、変数Ａのヒストグラムで示す。また、図６(ａ)に、生データでの変数Ｂのヒストグラムを示し、図６(ｂ)に、従来手法を用いた一変数での異常値除去後の、変数Ｂのヒストグラムで示す。
【００６０】
また、一変数毎の異常値判定を全700変数について実施し、その結果を集約し、異常値を含む個体データを除去した後の変数Ａ、Ｂのヒストグラムを図５（ｃ）、図６（ｃ）に示す。
【００６１】
図５（ｂ）、（ｃ）の比較、図６（ｂ）、（ｃ）の比較により、全変数での異常値除去後に各変数の値の分布状態の特徴が失われているのが確認できる。
【００６２】
（本発明の実施の形態の適用）
上記の実施の形態で説明した手法に従い、一変数毎の異常値判定データ数を調整し、異常値として判定するデータの最大数を5000として、全変数について処理したところ、図５（ｄ）、図６（ｄ）の結果を得た。
【００６３】
図５（ｂ）、（ｄ）の比較、図６（ｂ）、（ｄ）の比較により、一変数毎の値の分布状態の特徴を、全変数での異常値除去後にも維持できていることが確認できた。
【００６４】
以上説明したように、本発明の実施の形態に係るデータ解析装置によれば、削除前後での変数毎の値の分布状態の類似性があると判定されるまで、異常値を含む解析データであると判定するデータ数を決定し、変数毎に、変数の値が異常値である解析データを、決定されたデータ数だけ判定し、変数毎の判定結果を集約して、異常値を含む解析データを削除し、変数毎に、削除前の変数の値の分布状態と、削除後の変数の値の分布状態とを比較し、少なくとも１つの変数の前記分布状態の類似性がないと前回判定された場合に、データ数を前回より減らして決定することを繰り返すことにより、生データにおける変数毎の値の分布状態を維持しつつ、異常値の除去ができる。
【００６５】
また、一変数での異常値判定と、全変数での異常値判定を繰り返しながら、異常値として判定する個体数を調整することで、生データにおけるデータの分布状態を維持しつつ、異常値の除去が出来る。これにより、異常値による解析精度低下を抑制しつつ、ビッグデータ解析を実施できる。また、生データにおけるデータ分布の特徴を評価する解析が可能となる。
【００６６】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００６７】
例えば、本発明のプログラムは、記憶媒体に格納して提供するようにしてもよい。
【符号の説明】
【００６８】
１０   データ解析装置
２０   入力部
３０   演算部
３２   基準位置決定部
３４   異常値データ数決定部
３６   異常値判定部
３８   データ削除部
４０   比較部
５０   出力部
【図１】
2019185170.tif 000003
【図２】
2019185170.tif 000004
【図３】
2019185170.tif 000005
【図４】
2019185170.tif 000006
【図５】
2019185170.tif 000007
【図６】
2019185170.tif 000008