特許第6771314号(P6771314)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立システムズの特許一覧

特許6771314予測不可データ判定システム及び予測不可データ判定方法
<>
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000002
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000003
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000004
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000005
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000006
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000007
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000008
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000009
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000010
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000011
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000012
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000013
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000014
  • 特許6771314-予測不可データ判定システム及び予測不可データ判定方法 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6771314
(24)【登録日】2020年10月1日
(45)【発行日】2020年10月21日
(54)【発明の名称】予測不可データ判定システム及び予測不可データ判定方法
(51)【国際特許分類】
   G06Q 10/04 20120101AFI20201012BHJP
   G06F 17/18 20060101ALI20201012BHJP
【FI】
   G06Q10/04
   G06F17/18
【請求項の数】14
【全頁数】18
(21)【出願番号】特願2016-103312(P2016-103312)
(22)【出願日】2016年5月24日
(65)【公開番号】特開2017-211756(P2017-211756A)
(43)【公開日】2017年11月30日
【審査請求日】2019年4月2日
(73)【特許権者】
【識別番号】000233491
【氏名又は名称】株式会社日立システムズ
(74)【代理人】
【識別番号】110002066
【氏名又は名称】特許業務法人筒井国際特許事務所
(72)【発明者】
【氏名】森田 豊久
【審査官】 永野 一郎
(56)【参考文献】
【文献】 特開2004−287874(JP,A)
【文献】 特開平08−077010(JP,A)
【文献】 特開2004−326641(JP,A)
【文献】 米国特許第05724573(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00−99/00
G06F 17/18
(57)【特許請求の範囲】
【請求項1】
複数項目の値を含む複数のレコードから成る元データを入力とし、該複数の項目から選択した複数項目を説明変数として設定すると共に該説明変数を除く他の項目から選択した項目を目的変数として設定し、前記説明変数の組み合わせに対する目的変数への予測が可能か否かを判定するコンピュータを含む予測不可データ判定システムであって、
前記コンピュータが、
前記説明変数の項目値の組み合わせと同一の組合せを持つレコードの数を目的変数の項目値ごとにレコード数として計数する第1工程と、
該計数したレコード数を用いて、説明変数の値の組合せごとに目的変数の値への集中度を算出する第2工程と、
該第2工程により算出した説明変数の値の組合せ及び集中度を出力する第3工程と、
を実行する予測不可データ判定システム。
【請求項2】
前記コンピュータが、
前記元データに含まれる複数項目の値が連続した連続値のとき、該連続値を所定の値範囲により離散した離散値に変更し、該離散値を説明変数及び又は目的変数の項目値として設定する第4工程を、
実行する請求項1に記載の予測不可データ判定システム。
【請求項3】
前記コンピュータが、
予め前記集中度の下限値を設定する閾値を入力とし、
前記第3工程において、算出した集中度のうち、前記閾値以上の集中度を含む前記第2工程による説明変数の値の組合せを出力する請求項1又は2に記載の予測不可データ判定システム。
【請求項4】
前記コンピュータが、前記第3工程により算出した集中度を出力した後、
前記説明変数の設定と該説明変数を除く目的変数として設定を再設定する指示が入力されたか否かを判定し、再設定の指示が入力されたと判定したとき、前記説明変数の設定と該説明変数を除く目的変数の再設定とを許可する第5工程を、
実行する請求項1から3の何れか1項に記載の予測不可データ判定システム。
【請求項5】
前記コンピュータが、
前記第2工程において、前記目的変数の値ごとのレコードの数をカウンタとして算出し、前記目的変数のすべての値のカウンタの合計を分母として、当該の目的変数のカウンタを分子とした値に基づいて集中度を算出する請求項1から4の何れか1項に記載の予測不可データ判定システム。
【請求項6】
前記コンピュータが、
前記第2工程において、前記説明変数の値の組合せごとに、前記同一の目的変数項目値になる割合を示す値である生起確率で重み付き平均した情報量を集中度として算出する請求項1から4の何れか1項に記載の予測不可データ判定システム。
【請求項7】
前記コンピュータが、
前記入力した元データに含まれる変数の全ての値の種類を予め抽出することで、項目値の値の組合せを生成する請求項1から6の何れか1項に記載の予測不可データ判定システム。
【請求項8】
複数項目の値を含む複数のレコードから成る元データを入力とし、該複数の項目から選択した複数項目を説明変数として設定すると共に該説明変数を除く他の項目から選択した項目を目的変数として設定し、前記説明変数の組み合わせに対する目的変数への予測が可能か否かをコンピュータに判定させる予測不可データ判定方法であって、
前記コンピュータに、
前記説明変数の項目値の組み合わせと同一の組合せを持つレコードの数を目的変数の項目値ごとにレコード数として計数する第1工程と、
該計数したレコード数を用いて、説明変数の値の組合せごとに目的変数の値への集中度を算出する第2工程と、
該第2工程により算出した説明変数の値の組合せ及び集中度を出力する第3工程と、
を実行させる予測不可データ判定方法。
【請求項9】
前記コンピュータに、
前記元データに含まれる複数項目の値が連続した連続値のとき、該連続値を所定の値範囲により離散した離散値に変更し、該離散値を説明変数及び又は目的変数の項目値として設定する第4工程を実行させる請求項8に記載の予測不可データ判定方法。
【請求項10】
前記コンピュータに、
予め前記集中度の下限値を設定する閾値を入力させ、
前記第3工程において、算出した集中度のうち、前記閾値以上の集中度を含む前記第2工程による説明変数の値の組合せを出力させる請求項8又は9に記載の予測不可データ判定方法。
【請求項11】
前記コンピュータに、前記第3工程により算出した集中度を出力した後、
前記説明変数の設定と該説明変数を除く目的変数として設定を再設定する指示が入力されたか否かを判定させ、再設定の指示が入力されたと判定したとき、前記説明変数の設定と該説明変数を除く目的変数の再設定とを許可させる第5工程を、
実行させる請求項8から10の何れか1項に記載の予測不可データ判定方法。
【請求項12】
前記コンピュータに、
前記第2工程において、前記目的変数の値ごとのレコードの数をカウンタとして算出し、前記目的変数のすべての値のカウンタの合計を分母として、当該の目的変数のカウンタを分子とした値に基づいて集中度を算出させる請求項8から11の何れか1項に記載の予測不可データ判定方法。
【請求項13】
前記コンピュータに、
前記第2工程において、前記説明変数の値の組合せごとに、前記同一の目的変数項目値になる割合を示す値である生起確率で重み付き平均した情報量を集中度として算出させる請求項8から11の何れか1項に記載の予測不可データ判定方法。
【請求項14】
前記コンピュータに、
前記入力した元データに含まれる変数の全ての値の種類を予め抽出することで、項目値の値の組合せを生成させる請求項8から13の何れか1項に記載の予測不可データ判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、膨大なデータに基づいて未知データや欠損データの予測や推定を行うコンピータシステムにおいて、予測や推定に不向きなデータを判定することができる予測不可データ判定システム及び予測不可データ判定方法に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)による情報処理技術が進展し、巨大で複雑なデータ集合の集積物であるビッグデータを解析し、新たな価値を生み出そうとする動きがあり、統計やデータマイニング等の数理技術が盛んに用いられてきている。
【0003】
このような多数のデータを解析して有用な情報を抽出する従来技術は、統計やデータマイニングに採用され、例えば、回帰分析や判別分析のようないくつかの分析モデルを挙げることができる。
【0004】
この多数データを解析して有用情報を抽出する技術を記載した文献としては下記の非特許文献及び特許文献が挙げられる。この非特許文献1には「訓練データを使って判別ルールを作り、テストデータにもとづきルールの良さを評価する」という記載がある。特許文献1には「予測または分析の対象となる現象を、前記現象に寄与する因子に対応する説明変数を用いた回帰方程式の目的変数として表したデータであるモデルを使って前記現象の予測または分析を行う」という記載がある。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】吉田 亮、多変量データ解析と時系列解析、PP.32−34http://daweb.ism.ac.jp/〜yoshidar/kouza201110/Lecture_ISM_MV−TS_20111021.pptx
【特許文献】
【0006】
【特許文献1】特開2009−86706号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述の非特許文献1に記載された技術は、判別ルールの良さを評価することができる効果に留まり、特許文献1に記載された技術は、モデルの因子に関する情報を蓄積し、モデルの予測精度を向上する効果に留まる。
【0008】
そこで、本発明では、予測や推定の分析モデルを作成することなく、元データが予測や推定に不向きなデータか否かを判定することができる予測不可データ判定システム及び予測不可データ判定方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明による予測不可データ判定システム及び予測不可データ判定方法は、コンピュータが、複数項目の値を含む複数のレコードから成る元データを入力とし、該複数の項目から選択した複数項目を説明変数として設定すると共に該説明変数を除く他の項目から選択した項目を目的変数として設定し、前記説明変数の項目値の組み合わせと同一の組合せを持つレコードの数を目的変数の項目値ごとにレコード数として計数し、該計数したレコード数を用いて、説明変数の値の組合せごとに目的変数の値への集中度を算出し、該算出した集中度を出力する。
【発明の効果】
【0010】
本発明による予測不可データ判定システム及び予測不可データ判定方法は、予測や推定の分析モデルを作成することなく、元データが予測や推定に不向きなデータか否かを判定することができる。
【図面の簡単な説明】
【0011】
図1】本発明の第1実施例による予測不可データ判定システムの構成を示す図である。
図2】第1実施例による入力データの例を示す図である。
図3】第1実施例による入力空間のイメージを示す図である。
図4】第1実施例による出力データの例を示す図である。
図5】第1実施例による処理のフローチャートである。
図6】第1実施例による初期設定操作を説明するための図である。
図7】第1実施例による空間分割操作を説明するための図である。
図8】第1実施例による対応表の例を示す図である。
図9】第1実施例による入力データのうちの1レコードの例を示す図である。
図10】第1実施例による出力を示す図である。
図11】本発明の第2実施例による離散化設定を示す図である。
図12】本発明の第4実施例による処理のフローチャートである。
図13】本発明の第5実施例による集中度算出式を示す図である。
図14】第1実施例による空間データを二次元テーブルとして示す図である。
【発明を実施するための形態】
【0012】
以下、本発明による実施例を説明する。
【実施例1】
【0013】
[構成]
本発明の第1の実施例による予測不可データ判定システム101は、図1に示す如く、次に述べる入力装置102と空間分割装置103とレコード計数装置104と集中度検出装置105と出力装置106と記憶装置107と処理装置108とがバス119を介して相互接続して構成される。
【0014】
入力装置102:
この入力装置102は、複数の項目を含む元データや処理パラメータを外部から入力するための機器であって、例えば、キーボード・マウス等の入力機器やネットワーク接続機器である。
【0015】
記憶装置107:
この記憶装置107は、記憶(メモリ)領域毎に少なくとも、入力データ109と、出力データ110と、フラグ111と、カウンタ112と、対応表113とを記憶する。前記入力データ109は入力装置102を介して記憶装置107に取り込まれて格納され、例えば、図2に示す如く、入手した各データに一意に付与されたID(識別子)ごとに、データの属性(項目)として、性別と、住所と、年代と、結婚有無と、子供有無と、商品A購買有無の各項目情報を1個人毎間に1レコードとして格納する。前記出力データ110とフラグ111とカウンタ112と対応表113は後述する。
【0016】
空間分割装置103:
この空間分割装置103は、データ属性を空間内の軸として表す説明変数を用いて張る多次元空間を有限の空間に排他的かつ網羅的に分割するためのものであり、この多次元空間を図3を用いて説明する。なお、本説明では、図示可能な関係上、説明変数を「性別」と「年代」と「結婚有無」の3軸としている。
【0017】
この多次元空間は、説明変数に複数種類の値が含まれるため、図3に示す如く、年代をY軸、性別をX軸、結婚をZ軸とした三次元空間として表され、各データを組み合わせた数だけの小さな立方体に分割することができることを示している。
【0018】
本図における三次元空間は、図3に示す小立方体の一つが、例えば、「性別=男」and「年代=20代」and「結婚=未婚」という値の組合せを示している。この小さな立方体一つに対応して、フラグ111と、カウンタ112が目的変数の値の数だけ記憶装置107に格納される。
【0019】
理解を容易にするために前記立方体を形成するための空間データの二次元テーブルとして表した場合、図14に示す如く、多次元空間アドレス毎にフラグとデータ(例えば、年代・性別・結婚有無の3種)と集中度の3項目を設定すると表すことができる。なお、図中の集中度は、フラグが1のみのものにつけられ、フラグが0のものは分母が0になるため、「−」として描いている。
【0020】
レコード計数装置104:
このレコード計数装置104は、入力データ109を読み込み、各レコードに対応するフラグとカウンタを更新する機能を有する。
【0021】
集中度検出装置105:
この集中度検出装置105は、レコード計数装置104にて全レコードを読み終わって更新がなされたフラグ111とカウンタ112を読み込み、入力データの目的変数を予測可能か否かに関する情報を生成して出力データ110に書き込む機能を有する。
【0022】
この出力データ110は、例えば、図4に示す如き表形式のデータであり、図示の例では、性別、年代、結婚有無、集中度、商品A購買有、商品B購買無の各項目情報が設定され、各データは、1レコード毎に性別と年代と結婚の各項目の組合せに対応する、集中度と購買有と購買無が格納されており、レコード単位で集中度の高い降順にソートされている。
【0023】
この出力データ110は、性別と年代と結婚がキーとなっており、これらの組合せが異なれば、別データとなる。本実施例においては、性別・年代・結婚有無の3つのデータ属性が、入力データ109の項目から説明変数として選ばれた項目であり、集中度は処理の中で生成される項目であり、商品A購買有及び商品A購買無は目的変数である。すなわち、本例においては、データに含まれる複数のデータ属性(項目)の中からデータ解析の条件として任意に選択されたデータ属性(項目)を本実施例においては説明変数と呼ぶ。また、本例においては、データに含まれる複数のデータ属性(項目)の中からデータ解析の目的として任意に選択されたデータ属性(項目)を目的変数と呼ぶ。
【0024】
出力装置106:
この出力装置106は、出力データ110を外部に出力する一般的な装置であって、例えば、コンピュータのディスプレイ・プリンタ・ネットワーク接続機器等である。
【0025】
処理装置108:
この処理装置108は、本実施例による予測不可データ判定システム101の処理を制御する制御装置であって、例えば、コンピュータのCPU、メモリ、OSなどで構成される。
【0026】
バス119:
このは、バス119は、前述した複数の装置間を接続してデータ転送を行うためのバスまたはネットワーク機器である。
【0027】
[動作]
さて、このように構成された予測不可データ判定システムは、図5に示す各ステップを処理装置108が実行することによって、入力データが予測や推定に不向か否かを判定する。
【0028】
ステップs501:
処理装置108が、分析対象となる元データを入力装置102を用いて入力し、記憶装置107に図2に示した入力データ109として格納するステップ。
【0029】
ステップs502:
処理装置108が、入力データ109の初期設定を行うステップ。この初期設定とは、本実施例の場合、入力データ109から複数の項目(図2に示した性別と年代と結婚と商品A購入)を取出し、この中から1個以上の説明変数(例えば、性別と年代と結婚のデータ属性)及び1個の目的変数(予測したいデータ属性。例えば、商品Aを購入した顧客の性別・年代・結婚有無の組み合わせの場合、商品Aの購入)を決定し、さらに、目的変数の値の数と種類を設定し、出力の際の項目名を設定して記憶装置107に格納する。
【0030】
[説明変数及び目的変数の設定詳細]
この説明変数と目的変数の設定は、ユーザが任意に設定することができ、この説明変数及び目的変数の設定処理を図6を用いて説明する。図6に示したディスプレイ601は出力装置106の一部であり、キーボード602とマウス603は入力装置102の一部であり、他の画面でも同様である。
【0031】
この処理は、図6に示す如く、ディスプレイ601に初期設定画面604を表示する。この初期設定画面604は、読み込んだ元データに含まれる複数の属性データを列挙したデータ属性列挙欄605と、この複数のデータ属性の中から判定の目的とするデータ属性である目的変数をマウスカーソル612等によりラジオボタンを用いて選択させるための目的データ属性選択欄606と、該目的変数に対して判定対象とする複数のデータ属性である説明変数をチェックボックスを用いて選択させるための説明データ属性選択欄607とを上段に表示している。
【0032】
図6上段に示した例は、読み込んだ元データに含まれるデータ属性がデータ属性列挙欄605に「ID、性別、住所、年代、結婚、子供有無、商品A購買有無」として表示され、目的データ属性選択欄606から目的変数として「商品A購入有無」がラジオボタンにより選択され、説明データ属性選択欄607から説明変数としてチェックボックスにより「性別・年代・結婚」が入力空間として選択されている。すなわち、図6に示した例においては、元データにおけるデータ属性(説明変数)として「性別・年代・結婚」を選択し、このデータ属性(説明変数)の組み合わせによりどの組み合わせの消費者が「商品A」を購入したかを判定するように設定している。
【0033】
図6の下段の初期設定画面は、目的変数の値(本例では、購入有無の2)の個数入力欄608と、該目的変数の値だけ目的変数の値と変数名の入力行がその下に表示され入力できる変数名欄609及び610(本例では購入有・購入無)が表示されている。この変数名は、後に出力データ110を作成するときに用いられる。さらに初期設定画面の最下段には、上述の入力条件をユーザが承認するためのOKボタン611が表示されている。
【0034】
これら図6に示した目的変数値及びインデクスは、記憶装置107の対応表113に図8(d)に示す如く記憶される。この図8(d)の例では、「有」の値はインデクス「1」に、「無」の値がインデクス「2」に紐づけられている。このインデクスの値は、後述する計数処理のステップs505においてカウンタ112の更新の際にインデクスとして用いる。
【0035】
また、本ステップにおいては、判定条件として設定した説明変数及び目的変数を本システム内で扱うときのインデクスをここで項目名とインデクスの対応表として記憶装置に格納する。その例を図8(e)に示す。最終行が目的変数を表し、その前の行が説明変数を表す。ここでは、性別と年代と結婚が説明変数であり、商品A購買有無が目的変数であり、それぞれにインデクスが付与されていることがわかる。この対応表113も記憶装置107に格納される。
【0036】
ステップs503:
このステップs503は、ステップs502にて設定した全ての説明変数を用いて張る空間を有限の小空間に分割するためのステップであり、複数の説明変数を有限の値に分割し、すべての説明変数での組合せを作成する。
【0037】
この空間分割処理は、例えば、説明変数が、説明変数A、説明変数B、説明変数Cの全部で3個であり、それぞれの値が、説明変数AがNA個、説明変数BがNB個、説明変数CがNC個に分割された場合、全部でNA×NB×NC個の小空間に分割するものであって、分割数等の条件はユーザによって設定される。
【0038】
[空間分割処理の詳細]
この説明変数を有限の値に分割するための設定は、ユーザが任意に設定することができ、この空間分割設定画面701を図7を用いて説明する。
【0039】
この空間分割設定画面701は、前記ステップs502により指定された説明変数について一つずつ分割方法を設定するものであって、説明変数「性別」の値の個数入力欄702と、該個数入力欄702により入力された値の数だけ複数の値を入力するための説明変数値入力欄703及び説明変数値入力欄704とを表示する。
【0040】
図7の例では、説明変数「性別」の値の個数が男と女の2つであるため、説明変数「性別」の値の個数に2が入力される。その後、その下に、説明変数「性別」の値(1)の説明変数値入力欄703と、説明変数「性別」の値(2)の説明変数値入力欄704が表示される。この説明変数「性別」の値(1)に男を、説明変数「性別」の値(2)に女を入力し、OKボタン705をキーボード602やマウス603を用いて押下することにより説明変数「性別」の分割設定条件の入力を終了する。この分割設定条件の入力は、全ての説明変数について順に行う。これらの入力を容易にするために、入力待ちの現在位置をマウスカーソル706として空間分割設定画面701上に重畳表示する。
【0041】
すべての説明変数での分割が終わったら、それらの説明変数の値のすべての組合せが確定する。この説明変数の値のすべての組み合わせを表現するのに、本実施例では、多次元配列のデータ構造を利用する。記憶装置107に、フラグ111及びカウンタ112を持ち、フラグ111はそれぞれの組合せに対応して一つ設定し、カウンタ112はそれぞれの組合せに対応して目的変数の値の数だけ設定する。
【0042】
これは、例えば、説明変数が全部で3個であり、それぞれ説明変数A・説明変数B・説明変数Cであり、目的変数がDである場合で、それぞれの値が、説明変数AがNA個、説明変数BがNB個、説明変数CがNC個、目的変数DがN0個に分割されたとき、フラグは、NA×NB×NC個作られ、カウンタは、NA×NB×NC×N0個作られる。これらをデータの多次元配列で表現される。
【0043】
ここで、一般のコンピュータプログラム言語で使用される配列構造の記法を用いて表現する場合、例えば、フラグはflag[a][b][c]のような配列で表され、カウンタはcounter[a][b][c][d]のような配列で表される。このような形で、それぞれ、フラグ111及びカウンタ112が記憶装置107に初期化されて生成される。ここで初期値は0である。ここで、a、b、c、dは、それぞれ、1番目の説明変数、2番目の説明変数、3番目の説明変数、目的変数の値を示すインデクスである。インデクスは値の種類を設定するステップs502やステップs503で何番目に指定した値かという順番が使われる。
【0044】
この対応表113の例を図8に示す。図8(a)(b)(c)は、それぞれ、説明変数「性別」、説明変数「年代」、説明変数「結婚」の値とインデクスの対応表である。この対応表113は記憶装置107に格納される。
【0045】
このような空間分割処理によって、本実施例による処理装置108は、設定された説明変数を分割し、説明変数全てにより張る空間を有限個の小空間に分割し、それぞれに対応するデータを記憶領域に割当て、インデクスをつけることができる。
【0046】
ステップs504:
このステップs504は、計数処理が全レコードを終了したか否かを判定し、終了したと判定したときに後述のステップs506に移行し、全レコードを終了していないと判定したとき次のステップs505に移行する。
【0047】
ステップs505:
このステップs505は、入力データ109の中で、まだ計数処理をしていないレコードを一つ抽出し、そのレコードの値からフラグ111の値を必要に応じて修正し、カウンタ112の値を更新するステップである。
【0048】
フラグは、説明変数の組み合わせで一つある値であり、その組み合わせのレコードがあれば「1」、組み合わせのレコードがなければ「0」となる値である。カウンタは、説明変数の組み合わせに対して、目的変数の値ごとにある値であり、それぞれに対して、対応するレコードの個数が入る。
【0049】
したがって、本計数処理の中で、フラグの方の処理は、入力データのレコードを一つ読み、説明変数で表されるフラグの値が「0」であれば「1」に、「1」であれば何もしない。カウンタの方の処理は、説明変数及び目的変数の値で表されるカウンタの値を1だけカウントアップする。
【0050】
ここで、読み込んだレコードから対応するフラグを定めるために、図8(a)(b)(c)の対応表113を用いる。レコードにある値を対応表に探し、値に対応するインデクスが指し示すフラグやカウンタを読み書きすれば良い。
【0051】
説明変数が、「性別」「年代」「結婚」の3つで、目的変数が商品A購買有無である場合の入力データ109の一つのレコードの例を図9に示す。図9に示す例は、1レコードにおいて、性別が「男」、年代が「20代」、結婚が「未婚」、商品A購買有無が「無」であることがわかる。また、図8に示した対応表113により、男はインデクスが「1」、20代はインデクスが「3」、未婚はインデクスが「1」、商品A購買有無が無なのはインデクス「2」とわかる。
【0052】
このように多次元配列においては、インデクスの順番は、図8(e)に示した変数のインデクスを用いる。すなわち、ここでは、1番目のインデクスが「性別」、2番目のインデクスが「年代」、3番目のインデクスが「結婚」、4番目のインデクスが「商品A購買有無」を表す。以上より、インデクスを用いて、フラグに関してはflag[1][3][1]を読んでこれが0であれば1に修正し、1であれば何もしない。カウンタに関してはcounter[1][3][1][2]を1だけカウントアップすることになる。
【0053】
ステップs506:
このステップs506は、フラグ111、カウンタ112から、目的変数の値の集中度に関する情報を作成して、出力データ110を作成するステップである。
【0054】
このステップs506により出力される出力データ110は、例えば、図4に示す如く、「性別」「年代」「結婚」「集中度」「商品A購入有」「商品B購入無」の各項目から成り、前記集中度は、小空間ごとに同じ小空間を指すカウンタのうち最も大きいものの比率である。
【0055】
この集中度は、例えば、有のカウンタの値が「23」、無のカウンタの値が「10」であるとき、23/(23+10)=0.70をその小空間の集中度とする。フラグが1の小空間全てについて集中度をキーとして降順にソートして出力したものが図4の出力データである。図4に示した「商品A購買有」や「商品A購買無」という変数名は、初期設定のステップs502で入力されたものを使用し、説明変数の欄には、インデクスを値に変換したものが格納されている。
【0056】
このように本ステップは、それぞれの説明変数の値の組合せにおいて、目的変数の値の集中度の大きいものから順にすべての小空間がリストアップされる。全ての行で集中度が「1」となっていれば、この説明変数だけによって目的変数を識別することができ、集中度が「1」になっていない行があれば、少なくともこの説明変数だけによって目的変数を100%正確には識別できないことを判定することができる。
【0057】
ステップs507:
このステップs507は、出力データ110を出力装置106に出力するステップである。この出力データ110を出力装置106に出力する離散化設定画面1001を図10を参照して説明する。
【0058】
この離散化設定画面1001は、図10に示す如く、データの属性である説明変数「性別」「年代」「結婚」と、各説明変数の組み合わせによる「集中度」と、該集中度に対する商品購入数である「商品A購入有」及び「商品B購入無」の複数項目に対する「性別」「年代」「結婚」「集中度」「商品A購入有」「商品B購入有」が一覧として表示される。
【0059】
図示の例では、「性別」が「女」、「年代」が「20代」、「結婚」が「既婚」の説明変数(データ属性)の組み合わせの「集中度」が「0.70」、「商品A購入有」が「23」、「商品B購入無」が「10」として表示される。すなわち、この出力データ110は、「性別:女」且つ「年代:20代」且つ「結婚:既婚」の消費者が、「商品A購入有」が数「23」、「商品B購入無」が数「10」、集中度が最も高い「0.70」であり、集中度が「1」未満のため、ユーザが設定した複数の説明変数(データ属性)では目的変数(データ属性)を100%正確には識別できないが、70%の確率で識別可能であることを表している。
【0060】
なお、前述の実施形態においては、図1に示したコンピータシステムの構成を説明したが、一般的なCPU・メモリ・バードィスク等の記憶手段を含むパーソナルコンピュータ及び入出力機器を用いて本発明の実施例を実行するように構成しても良い。また、入力機器としてキーボードとマウスを例示したが、同様の入力機能を実現するような、例えば、携帯電話やスマートフォンのソフトウェアキーボードやハードェアキーボードやタッチディスプレイなド、別の入力機器であっても良い。
【0061】
このように本実施例による予測不可データ判定システム101は、予測や推定の分析モデルを予め用意することなく、元データを解析するためのデータ属性である複数の説明変数及び解析の目的とするデータ属性である目的変数を設定し、該複数の説明変数の組み合わせによる目的変数の集中度を判定することによって予測不可データを検出することができる。
【実施例2】
【0062】
前述の実施形態においては、例えば顧客年齢を何々代とする連続する数値ではない離散的なデータ属性(説明変数)を含む元データを対象とする例を説明したが、本発明は、年齢のような連続する数値をデータ属性(説明変数)を含む元データを対象とすることもでき、この実施例を次に説明する。
【0063】
本実施例による予測不可データ判定システムは、数値のような連続値を持つ説明変数に対して閾値を導入することにより、値域を少ない有限の個数のカテゴリに分割するものである。本システムは、図5に示したステップs502の開始直後に、入力データを処理装置が記憶装置に別名でバックアップし、連続値データを離散値データに変更する処理を行う。この連続値データの離散値変更処理は、連続値を離散値に変更する変数を指定し、その変数に対して、分割するカテゴリの個数、値の名称、閾値を入力する。それによって連続値をすべて離散値に変更できる。以降、離散値のデータを使うことで、実施例1をそのまま実施することができる。
【0064】
この連続値データの離散値変更処理は、離散化設定画面1101を図11に示す如く表示して実行する。この離散化設定画面1101は、次の表示欄が表示される。
【0065】
説明変数一覧欄1102:
元データに含まれるデータ属性である複数の説明変数の一覧を列挙した欄。
【0066】
離散化指定欄1103:
該説明変数一覧欄1102に表示したどの説明変数を離散化するかを指定するための複数のチェックボックスを列挙した欄。
【0067】
値個数・カテゴリ名称・閾値入力欄1104:
該離散化指定欄1103のチェックボックスにより指定した離散化データ(図示の例では年齢)の個数(本例では10歳未満[0代]、10代・・100歳以上の10種)と、該離散化データの個数毎の複数のカテゴリ(例えば、10歳未満[0代]、10代、20代・・)を入力するための欄。
【0068】
本例における離散化設定画面1101は、チェックボックスは説明変数「年齢」のみにチェックが入り、このチェックボックスにチェックが入ったすべての項目について、値の個数と、カテゴリの名称と閾値の入力画面が生成され表示される。
【0069】
値の個数は、N個であればN個のカテゴリについて名称の入力欄が生成され、N−1個分の閾値の入力欄がカテゴリとカテゴリとの間に生成される。図11にあるように、閾値は、以上または未満の意味で使われる。N−1個であるため、最初のカテゴリはある閾値未満という条件となり、最後のカテゴリはある閾値以上という条件となる。これらの入力が終わったら、OKボタン1105をキーボード602やマウス603を用いて押下することでこの離散化設定が終了する。
【0070】
本実施例による予測不可データ判定システムは、例えば連続する数値である年齢を0代、10代、20代・・の如く離散化して予測不可データを検出することができる。従って、本実施例によれば、元データが、温度・湿度等の数値であっても、記号値であっても、数値と記号値の混在であっても、予測や推定の分析モデルを決めることなく、分析モデルを作ることなく、予測不可データを判定することができる。
【実施例3】
【0071】
前述の実施形態においては、図5に示したステップs507において、集中度を昇順ソートキーとして複数の説明変数の組み合わせによる集中度及び該集中度に対する目的変数の値を一覧列挙する例を説明したが、本発明は、この算出した全ての集中度に対する目的変数の値を表示することなく、予め設定した閾値以上の集中度の複数の説明変数の組み合わせを表示することもできる。
【0072】
本実施例による予測不可データ判定システムは、前述の実施例で説明したステップs507においてステップs506で作成された出力データを出力装置に出力したが、それを以下のように変更して実施することも可能である。
【0073】
すなわち、本予測不可データ判定システムは、ステップs502の初期設定において、入力装置102より下限値となる閾値を入力し、それを記憶装置107に格納しておき、ステップs507で集中度の最小値が閾値より大きいか否かを判定し、集中度が閾値以上であれば、ステップs507において「予測可能」と出力するように動作する。なお、最大の集中度が閾値より小さければ「予測不可能」と出力し、あわせて、閾値以下の集中度になる出力データのレコードをすべて出力することもできる。
【0074】
本実施例によれば、予め集中度の閾値を設定しておくことによって、ある説明変数の組み合わせで目的変数の予測が可能かどうかの結論を直接知ることができる。また、予測が不可能である場合、どのような入力空間のデータであれば予測が難しいかを知ることもできる。
【実施例4】
【0075】
前述の実施例においては、初期設定を行うステップs502において説明変数を一度選ぶと、それ以外の試行ができないものであったが、ユーザが説明変数を変更しながら元データから目的変数を判定するためにどの説明変数が有効かをステップs502からステップs507までの処理を必要なだけ繰り返すことにより試行することもできる。
【0076】
この実施例による予測不可データ判定システムは、図12に示す各ステップを実行することによって、目的変数を判定するためにどの説明変数が有効か否かを説明変数を再設定(許可)することにより試行することができる。
【0077】
図12に示すフローチャートは、第1実施例のフローチャートに対して、ステップs507の後にユーザが終了を入力したか否かを判定するステップs1201の分岐を追加し、ステップs1201において終了しないと判定したときにステップs502に戻り、終了であると判定したときに処理を終了する。また、このフローチャートは、ステップs502の初期設定及びステップs503の空間分割においてデフォルト値を前回の計算の設定値にし、ユーザに新たな条件(説明変数又は目的変数)を入力させることによって、目的変数を判定するためにどの説明変数が有効かを試行することができる。
【0078】
本実施例による予測不可データ判定システムによれば、データ入力を複数回繰り返すことなく、初期設定以降の設定変更を行うことができる。また、その際に説明変数の組み合わせを変えることにより、説明変数の増減によって予測不可能性の検出を試行することができ、予測可能な説明変数の組み合わせを容易に見つけ出すことができる。これにより、分析モデル非依存で予測システムやその前提となるデータベースの設計を実現できる。
【0079】
特に本実施例においては、特定の目的変数に対して、どの説明変数の組み合わせが最も集中度が高いかをユーザが試行錯誤することができ、集中度の低い説明変数の組み合わせを用いた無駄な分析モデルの作成を防止し、最も集中度が高い説明変数の組み合わせを用いた分析モデルの効率的な作成を支援することができる。
【実施例5】
【0080】
前述の実施例においては、集中度として、小空間毎に同じ小空間を指すカウンタのうち最も大きいものの比率を集中度とする例を説明したが、本発明はこれに限られるものではなく、生起確率で重み付き平均(加重平均)した情報量を集中度として適用することもできる。
【0081】
この加重平均による集中度は、piをi番目の事象の生起確率とした場合、図13に示す数式によって算出する。生起確率とは、説明変数の値の組合せごとに、当該の目的変数の値になる割合を示す値であり、目的変数のすべての値のカウンタの合計を分母として、当該の目的変数の値のカウンタを分子とした値である。すなわち、本実施例においては、説明変数の値の組合せごとに、同一の目的変数項目値になる割合を示す値である生起確率で重み付き平均した情報量(log2 Pi)を集中度として算出する。
【0082】
この生起確率で重み付き平均(加重平均)した情報量は、情報エントロピーが生起確率で重み付き平均した情報量のことであり、事象が決まってしまう場合に0となり、何が起きるかわからない場合に大きくなる。したがってここでは情報エントロピーを「−1」倍することにより、事象が決まってしまう場合に最大となるように設定している。
【0083】
本実施例による予測不可データ判定システムによれば、情報量尺度にしたがった予測不可データの判定を行うことができる。
【実施例6】
【0084】
前述の実施例においては説明変数の値の種類及び目的変数の値の種類を入力装置102から入力する例を説明したが、本発明の元データの入力手法はこれに限られるものではない。
【0085】
例えば、本実施例による予測不可データ判定システムは、入力データ109をステップs502の初期設定時に一度、全レコードをコンピュータのメモリに読み込んでおき、説明変数の値の種類及び目的変数の値の種類を自動的に取得し、変更することもできる。すなわち、元データに含まれる変数の全ての値の種類を予め抽出することにより、項目値の値(変数の値)の組合せを生成して説明変数の値の種類及び目的変数の値の種類を自動的に取得し、変更することもできる。具体的には、全レコードのデータを抽出することにより、説明変数として「性別」があり、説明変数の値として「男」と「女」があるということを予め抽出することができ、これらを説明変数の値の種類及び目的変数の値の種類を自動的に取得し、変更することもできる。
【0086】
この予測不可データ判定システムは、初期値が空の集合をメモリ上に用意しておき、1レコードを読み込むごとに、新規の値があればその集合にその値を要素として追記することにより実現することができる。全レコードを読み込んだ時点でその集合に含まれる要素が値の種類の集合である。また、この値を、辞書順序で並べてインデクスを対応させることもできる。
【0087】
また、ステップs502の初期設定において、図6にあるように、目的変数と説明変数の指定をした直後に全レコードを読めば良く、図8と同等な値とインデクスの対応表を項目ごとに自動で作成できる。以降、この対応表を必要に応じて参照する。ステップs502の初期設定(図6)や、ステップs503の空間分割(図7)において、変数の値の個数の入力と、値の入力が不要となる。
【0088】
本実施例によれば、初期値が空の集合をメモリ上に用意しておき、元データを1レコードを読み込むごとに、新規の値があればその集合にその値を要素として追記することにより予測不可能性検出のための設定作業が容易となる。
【0089】
以上述べた如く本実施例によるこの予測不可データ判定システムは、従来技術においては予測や推定の分析モデルを決定し、この分析モデルを作成して元データを解析しなければ元データがそもそも予測可能なデータか否かを知ることができなかった課題を有するのに対し、予測や推定の分析モデルを決めることなく、分析モデルを作ることなく、元のデータの予測不可なデータを判定することができる。
【符号の説明】
【0090】
101 予測不可データ判定システム、102 入力装置、
103 空間分割装置、104 レコード計数装置、105 集中度検出装置、
106 出力装置、107 記憶装置、108 処理装置、109 入力データ、
110 出力データ、111 フラグ、112 カウンタ、113 対応表、
119 バス、601 ディスプレイ、602 キーボード、603 マウス、
604 初期設定画面、605 データ属性列挙欄、
606 目的データ属性選択欄、607 説明データ属性選択欄、
608 個数入力欄、609 変数名欄、612 マウスカーソル、
701 空間分割設定画面、702 個数入力欄、705 OKボタン、
703及び704 説明変数値入力欄、706 マウスカーソル、
1101 離散化設定画面、1102 説明変数一覧欄、1103 離散化指定欄、
1104 値個数・カテゴリ名称・閾値入力欄、1105 ボタン
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14