(57)【要約】【課題】複数のテーブルを対象とし、データ知識の無い人、分野知識のない人でも、テーブル定義情報を用いずに容易に分析対象項目を選択して分析できるデータ分析支援装置を提供すること。【解決手段】データ分析支援装置は、各業務システム間の関係、各業務データテーブル間の関係、各業務データテーブルが保有する各データ項目間の関係、各業務データテーブルの各レコードが保有する各データ値間の関係を解析して関係ネットワークとして記憶する関係ネットワーク生成部と、データ分析対象となるデータ項目を実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別に分類するデータ項目分類部と、データ分析に用いるデータ分析用テーブルを生成し蓄積する分析用データテーブル生成部と、組合せてデータ分析が可能なデータ項目群をデータモデルとして生成するデータモデル生成部と、分析対象となるデータ項目を推薦する分析対象項目提示部と、を備える。【選択図】図１
2018072960.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つ以上の各業務システムにおける各業務データテーブルの各業務データを対象とした分析を支援するデータ分析支援装置であって、
前記各業務データが保有する各データ項目を、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別と、に分類するデータ項目分類部と、
前記各業務システム間の関係、前記各業務データテーブル間の関係、前記各業務データテーブルが保有する前記各データ項目間の関係、前記各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして生成する関係ネットワーク生成部と、
前記関係ネットワークに基づいて、前記第１のデータ種別に含まれるデータ項目を少なくとも１つ含む分析用データテーブルを生成する分析用データテーブル生成部と、
前記各データ項目の組み合わせから成る分析対象候補について、前記分析用データテーブルに基づいて分析推奨度となるスコアを求めるデータモデル生成部と、
前記データモデル生成部によって求められた前記スコアに基づく前記分析推奨度とともに前記分析対象候補を出力する分析対象項目提示部と、
を備えることを特徴とする、データ分析支援装置。
【請求項２】
前記分析用データテーブル生成部は、
前記各データ項目のうち組み合せて分析可能な各データ項目を複数まとめた形で分析に用いられる前記分析用データテーブルを生成し、
外部からの要求に応じて前記分析用データテーブルを出力して送信する
ことを特徴とする請求項１に記載のデータ分析支援装置。
【請求項３】
前記関係ネットワーク生成部は、
前記各業務システムを有する各サイト間、前記各業務システム間、前記各データテーブル間、前記各データ項目間、及び前記各データ値間のうち少なくとも１つの関係を保持する前記関係ネットワークを生成し、互いに関連のあるデータ群をまとめ、前記各関係とともに出力する
ことを特徴とする請求項２に記載のデータ分析支援装置。
【請求項４】
外部から入力されたキーワードに対して該当する特定のデータ項目を抽出するデータ項目検索部と、
前記分析用データテーブルを前記特定のデータ項目のうちの特定のデータで絞り込んで算出したスコアがより大きいものがある場合には当該大きなスコアを抽出し蓄積するフィルタリング情報生成部と、
を備えることを特徴とする請求項１に記載のデータ分析支援装置。
【請求項５】
前記データ項目検索部によって抽出された１つ以上の前記特定のデータ項目において相関関係が高い特定のデータ項目が存在する場合、前記相関関係があるデータ値以外のデータ値を対象に、その他のどの項目と前記相関関係が高いかを判定し、順次原因となるデータ項目の候補を抽出し、外部から入力されたキーワードに関連するデータ項目の値の原因と成るデータ項目を表示する
ことを特徴とする請求項１または請求項４に記載のデータ分析支援装置。
【請求項６】
前記各分析用データテーブルについて、実績値に基づくデータ項目の定常状態を定める定常状態解析部を備え、
前記定常状態解析部は、
前記分析用データテーブル生成部によって生成された前記各分析用データテーブルの実績値に基づくデータ項目について、互いに同じ分布であるものを群としてまとめ、最も多い分布を定常状態として定める
ことを特徴とする請求項５に記載のデータ分析支援装置。
【請求項７】
前記分析対象候補とともに前記分析用データテーブルの履歴情報を格納する履歴情報テーブルと、
前記履歴情報テーブルに格納されている前記履歴情報に基づいて学習することにより履歴解析を実施する履歴解析部と、
を備えることを特徴とする、請求項１に記載のデータ分析支援装置。
【請求項８】
少なくとも１つ以上の各業務システムにおける各業務データテーブルの各業務データを対象とした分析を支援するデータ分析支援装置を含むデータ分析支援システムであって、
前記各業務データが保有する各データ項目を、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別と、に分類するデータ項目分類部と、前記各業務システム間の関係、前記各業務データテーブル間の関係、前記各業務データテーブルが保有する前記各データ項目間の関係、前記各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして生成する関係ネットワーク生成部と、前記関係ネットワークに基づいて、前記第１のデータ種別に含まれるデータ項目を少なくとも１つ含む分析用データテーブルを生成する分析用データテーブル生成部と、前記各データ項目の組み合わせから成る分析対象候補について、前記分析用データテーブルに基づいて分析推奨度となるスコアを求めるデータモデル生成部と、前記データモデル生成部によって求められた前記スコアに基づく前記分析推奨度とともに前記分析対象候補を出力する分析対象項目提示部と、を有するデータ分析支援装置と、
前記データ分析支援装置によって出力された前記分析対象候補に基づいて分析対象項目を決定する分析装置と、
を備えることを特徴とするデータ分析支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析支援装置及びデータ分析支援システムに関し、特に、複数のシステムのデータを対象として分析する際の分析対象とするデータ項目の候補を推薦する技術に関するデータ分析支援装置及びデータ分析支援システムに適用して好適なものである。
【背景技術】
【０００２】
鉄道、産業、その他の分野では、ベテラン世代の引退に伴い、これまで現場で培われてきたノウハウのＩＴ化による蓄積・継承や、さらなる業務効率化の施策立案に向けての、データ利活用のニーズが拡大している。一方、特に鉄道分野では、各鉄道会社の運行、営業、保守、等の業務システムは個別に開発されてきており、横断的なデータ活用が困難である。
【０００３】
データを分析する際には、データ項目を様々に組合せながら所望の分析を実施できるデータ項目の組を見つけるが、一般にデータ項目が増えるほどこの作業は重要性や負担が増大する。分析対象項目を取捨選択するためには、データの内容を理解する必要がある。
【０００４】
ＥＲ図及びテーブル定義が記載された各業務システムのデータ仕様書が存在すれば、データ仕様書を読むことでデータ理解が可能であるが、古くからあるシステムにおいては度重なるシステム改修にデータ仕様書が対応していないこともある。また、規模が大きいシステムの場合は、全ての仕様書を読むことは難しい。他社製のシステムのデータを扱う場合はデータ仕様書を入手不可能なこともある。
【０００５】
これに関し、従来は、分析担当者の知識や経験で候補数を削減して分析対象項目を選定している。そのため、分析結果が分析担当者の能力に依存してしまうという問題がある。
【０００６】
従来技術においては、多次元データのデータ項目間のデータの関連度を算出し、この関連度に基づいて分析対象に適するデータ項目の組を抽出し、ユーザに対して推薦する分析対象項目として提示している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１０３８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術（特許文献１）では、同じデータテーブル内のデータ項目に対して分析対象のデータ項目を推薦するため、複数のテーブルを対象とした分析対象項目を推薦できない。また、複数のテーブルをまたがって分析する場合は、主キー情報及び参照情報等のテーブル定義情報をＤＢ等から抽出して用いる必要がある。
【０００９】
本発明は以上の点を考慮してなされたもので、複数のテーブルを対象とし、データ知識の無い人や分野知識のない人でも、テーブル定義情報を用いずに容易に分析対象項目を選択して分析することができるデータ分析支援装置及びデータ分析支援システムを提案しようとするものである。例えば、鉄道分野においては、鉄道事業者の多種多様な業務システムのデータを、データ分析専門家が時間をかけてデータを理解した後に分析するのではなく、鉄道事業者の担当者自身がデータ分析システムを用いて複数の業務情報を組合せて分析する際に、時間をかけずにデータを理解し、分析対象項目を選択して分析することができる。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため、本発明においては、少なくとも１つ以上の各業務システムにおける各業務データテーブルの各業務データを対象とした分析を支援するデータ分析支援装置であって、前記各業務データが保有する各データ項目を、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別と、に分類するデータ項目分類部と、前記各業務システム間の関係、前記各業務データテーブル間の関係、前記各業務データテーブルが保有する前記各データ項目間の関係、前記各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして生成する関係ネットワーク生成部と、前記関係ネットワークに基づいて、前記第１のデータ種別に含まれるデータ項目を少なくとも１つ含む分析用データテーブルを生成する分析用データテーブル生成部と、前記各データ項目の組み合わせから成る分析対象候補について、前記分析用データテーブルに基づいて分析推奨度となるスコアを求めるデータモデル生成部と、前記データモデル生成部によって求められた前記スコアに基づく前記分析推奨度とともに前記分析対象候補を出力する分析対象項目提示部と、を備えることを特徴とする。
【００１１】
また、本発明においては、少なくとも１つ以上の各業務システムにおける各業務データテーブルの各業務データを対象とした分析を支援するデータ分析支援装置を含むデータ分析支援システムであって、前記各業務データが保有する各データ項目を、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別と、に分類するデータ項目分類部と、前記各業務システム間の関係、前記各業務データテーブル間の関係、前記各業務データテーブルが保有する前記各データ項目間の関係、前記各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして生成する関係ネットワーク生成部と、前記関係ネットワークに基づいて、前記第１のデータ種別に含まれるデータ項目を少なくとも１つ含む分析用データテーブルを生成する分析用データテーブル生成部と、前記各データ項目の組み合わせから成る分析対象候補について、前記分析用データテーブルに基づいて分析推奨度となるスコアを求めるデータモデル生成部と、前記データモデル生成部によって求められた前記スコアに基づく前記分析推奨度とともに前記分析対象候補を出力する分析対象項目提示部と、を有するデータ分析支援装置と、前記データ分析支援装置によって出力された前記分析対象候補に基づいて分析対象項目を決定する分析装置と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数のテーブルを対象とし、データ知識の無い人や分野知識のない人でも、テーブル定義情報を用いずに容易に分析対象項目を選択して分析することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態に係るデータ分析支援装置を含むデータ分析支援システムのシステム構成例を示す図である。
【図２】第１の実施の形態に係る関係ネットワークの一例を示す図である。
【図３】関係ネットワーク情報のテーブル構成例を示す図（その１）である。
【図４】関係ネットワーク情報のテーブル構成例を示す図（その２）である。
【図５】関係ネットワーク情報のテーブル構成例を示す図（その３）である。
【図６】関係ネットワーク情報のテーブル構成例を示す図（その４）である。
【図７】業務システムの保有する業務情報の一例を示す図である。
【図８】分析用データテーブル情報テーブルのテーブル構成例を示す図である。
【図９】データモデル情報テーブルのテーブル構成例を示す図である。
【図１０】第１の実施の形態に係るデータ分析支援処理の一例を示すフローチャートである。
【図１１】第１の実施の形態に係る関係ネットワーク生成・更新処理の一例を示すフローチャート（その１）である。
【図１２】第１の実施の形態に係る関係ネットワーク生成・更新処理の一例を示すフローチャート（その２）である。
【図１３】第１の実施の形態に係るデータ項目分類処理の一例を示すフローチャートである。
【図１４】第１の実施の形態に係る分析用データテーブル生成・蓄積処理の一例を示すフローチャートである。
【図１５】第１の実施の形態に係るデータモデル生成処理の一例を示すフローチャートである。
【図１６】第１の実施の形態における第１の画面例を示す図である。
【図１７】第１の実施の形態における第２の画面例を示す図である。
【図１８】第２の実施の形態に係るデータ分析支援装置を含むデータ分析支援システムのシステム構成例を示す図である。
【図１９】第２の実施の形態に係るデータ分析支援処理を示すフローチャートである。
【図２０】第２の実施の形態に係るフィルタリング情報生成処理を示すフローチャートである。
【図２１】第２の実施の形態における第１の画面例を示す図である。
【図２２】第３の実施の形態に係るデータ分析支援装置を含むデータ分析支援システムのシステム構成例を示すブロック図である。
【図２３】第３の実施の形態に係る原因情報生成処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面について、本発明の一実施の形態について詳述する。なお、本実施の形態では、その適用対象例として、鉄道に関するデータを分析する際のデータ分析支援装置及びデータ分析支援システムを挙げつつ説明する。
【００１５】
（１）第１の実施の形態
（１−１）システム構成例
図１は、第１の実施の形態に係るデータ分析支援装置のシステム構成例を示す図である。データ分析支援装置１０１は、データ分析対象となる業務情報をそれぞれ保有する第１の業務システム１０２及び第２の業務システム１０３並びにデータ分析を実行するデータ分析システム１０４と、通信網１２２を介して通信可能に接続されている。
【００１６】
データ分析支援装置１０１は、第１の業務システム１０２及び第２の業務システム１０３との間において分析対象とする業務情報を送受信する一方、データ分析システム１０４との間において分析用データテーブル及びデータモデルを送受信する。
【００１７】
データ分析支援装置１０１では、記憶装置１１０、演算処理装置１０５、メモリ１０６、通信装置１０７、入力装置１０８及び表示装置１０９がデータバス１２３に接続された構成となっている。
【００１８】
記憶装置１１０は、不揮発性記憶装置で構成されており、例えばハードディスクドライブである。記憶装置１１０は、データベース１１１及びプログラム１１２が記憶されている。データベース１１１は、後述する各種テーブルが格納されており、プログラム１１２は、データベース１１１の各種テーブルとの間でデータを検索、更新、新規登録及び削除する。
【００１９】
入力装置１０８は、ユーザによるキー入力または音声入力を受け付ける機能を有する。本実施の形態では、データ分析支援装置１０１が入力装置１０８を備えているが、その代わりに、データ分析システム１０４が入力装置１０８を備えており、ユーザがデータ分析システム１０４から通信網１２２を介してデータ分析支援装置１０１に対して入力操作を行う構成としても良い。
【００２０】
表示装置１０９は、処理データを表示するディスプレイ等の表示機能を有する。本実施の形態では、データ分析支援装置１０１が表示装置１０９を備えているが、その代わりに、データ分析システム１０４が表示装置１０９を備えており、データ分析支援装置１０１が通信網１２２を介してデータ分析システム上に処理データを表示させる構成としても良い。
【００２１】
演算処理装置１０５は、記憶装置１１０に保持されるプログラム１１２を読み出してメモリ１０６の記憶領域に格納し実行することにより、装置自体を統括制御する一方、各種判定、演算及び制御処理を実行する。
【００２２】
メモリ１０６は、揮発性記憶装置の一例であり、例えばＲＡＭである。データベース１１１は各種テーブルを管理する。データベース１１１は、元データ格納部１１３、関係ネットワークテーブル１１４、分析用データテーブル情報テーブル１１５及びデータモデル情報テーブル１１６を備えている。
【００２３】
本実施の形態では、第１の業務システム１０２及び第２の業務システム１０３が保有する全業務情報を、更新のある度に通信網１２２を介して通信装置１０７が通信して取得し、元データ格納部１１３に格納することとして説明するが、分析対象データである業務情報は、業務情報であるテーブルが保有する全てのデータ項目と、一部分のデータ値（例えば、数日分のレコードのみ）を元データ格納部に格納し、必要に応じて業務システム１０２や１０３から通信網１２２を介して取得する構造としても良い。
【００２４】
プログラム１１２には、演算処理装置１０５によって実行される処理が記述されている。このプログラム１１２は、関係ネットワーク生成部１１７、データ項目分類部１１８、分析用データテーブル生成部１１９、データモデル生成部１２０及び分析対象項目提示部１２１を備えている。
【００２５】
関係ネットワーク生成部１１７は、元データ格納部１１３に格納されている業務情報であるデータテーブルを解析し、各業務システム間の関係、各データテーブル間の関係、各業務データテーブルが保有する各データ項目間の関係、各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして構築して関係ネットワークテーブル１１４に格納する。この関係ネットワークテーブル１１４に格納する関係ネットワーク情報の属性情報及び構成については図３〜図６を用いて後述する。関係ネットワークの詳細についても図２を用いて後述する。
【００２６】
データ項目分類部１１８は、データ分析対象である業務情報を表すテーブル及びデータ項目をマスタまたはトランザクション、すなわち、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別と、に分類し、関係ネットワークテーブル１１４におけるテーブル情報及びデータ項目情報の種別情報として格納する。
【００２７】
分析用データテーブル生成部１１９は、元データである業務情報のデータテーブルを、関係ネットワーク情報を利用して統合し、データ分析に用いるデータ分析用テーブルとして分析用データテーブル情報テーブル１１５に業務情報を格納することで、分析対象となるデータ項目の組合せを蓄積する。この分析用データテーブル情報テーブル１１５に業務情報が格納されることで、データ分析システム１０４は、データ分析を実行する際に通信網１２２を介して分析用データテーブル情報テーブル１１５を容易に取得可能となる。
【００２８】
データモデル生成部１２０は、組合せてデータ分析が可能なデータ項目の集合を、キー項目、分析の際のフィルタリング項目となるデータ項目、データ項目の組合せごとに算出したスコアとともにデータモデルとして生成し、データモデル情報テーブル１１６に蓄積する。
【００２９】
分析対象項目提示部１２１は、分析対象となるデータ項目をデータモデル毎に表示し、分析対象となるデータ項目の組合せをスコアとともに強調表示することでユーザに対して推薦する。
【００３０】
（１−２）関係ネットワーク
図２は、関係ネットワークの一例の全体像を示す図である。本実施の形態において「関係ネットワーク」とは、複数の異なる業務システムが保有する多種多様な業務情報についてデータ間の関係情報を生成するため、複数のシステムを跨いだデータ間の関係を含むデータの関連性を表している。
【００３１】
このような関係ネットワークは、後述するように表示装置１０９に表示されることで（図１６参照）、多種多様な業務情報の内容及び関係を、ユーザに、テーブル仕様書等を読むことなしに理解させることを支援することができる。
【００３２】
関係ネットワークは、多種多様なデータの構造が自動で取り込まれ、当該取り込まれたデータを検索し、利用可能とするために、動的に、各システム間、各データテーブル間、各データ項目間、各データ値間の関係を構築するデータモデルを表している。図２に示すように、関係ネットワークは、システム層、テーブル層、データ項目層、データ値層の４層から構成される。
【００３３】
システム層では、対象とする業務情報の各元（ソース）業務システムをノードとし、異なるシステムに共通するデータがあれば、システムを表す各ノード間のリンク８０３にて表現する。システム層は、各システム間で横断的なデータ分析が可能であるか否かを表す。
【００３４】
テーブル層では、業務情報を示す各データテーブルをノードとし、異なるデータテーブルに共通するデータ項目があれば、データテーブルを表すノード間のリンクにて表現する。テーブル層は、データテーブル間のつながりを表すＥＲ図としての役割を担う。
【００３５】
データ項目層では、各データテーブルが保有する各データ項目をノードとし、データ項目間に関係があればノード間のリンクにて表現する。このデータ項目を用いて分析用データテーブルを作成することで、分析対象項目の選択支援を行う。
【００３６】
データ値層では、各データテーブルの各レコードの各データ項目のデータ値をノードとし、同じレコード内に存在することをノード間のリンクにて表現する。データ値層は、例えば「Ａ駅に関係するものは何か？」のように個々のデータ値に関して関係するものを調査する際に用いることが可能である。
【００３７】
図２は、次のような構成を前提として構築した関係ネットワークの一例を示す。すなわち、第１の業務システム１０２が運行管理システムである一方、第２の業務システム１０３が車両管理システムである。運行管理システムは、列車走行実績テーブル（図７（Ｂ）の列車走行実績テーブル）及び遅延情報テーブル（図７（Ｃ）の遅延情報テーブル）を保有する一方、車両管理システムは、車内状態テーブル（図７（Ｄ）の車内状態テーブル）を保有する。本実施の形態では、このような関係ネットワークを構築するデータを「関係ネットワーク情報」と呼んでいる。この関係ネットワーク情報は、関係ネットワークテーブル１１４（図１参照）に格納されている。ここでは、一例として、以上のような関係ネットワークを例示している。
【００３８】
本実施の形態では、運行管理システムを表すノード８０１と車両管理システムを表すノード８０２とがシステム層に存在するとともに、これらのノード８０１，８０２間にリンク８０３が存在する。さらに列車走行実績テーブルを表すノード８０４と、遅延情報テーブルを表すノード８０５と、車内状態を表すノード８０６とがテーブル層に存在するとともに、各ノード８０４，８０５，８０６間にリンクが設定されている。
【００３９】
また、システム層のノード８０１と、テーブル層のノード８０５との間にリンク８０７が存在するが、このリンク８０７は、運用管理システムが保有するテーブルであることを表している。データ項目層のノード及びデータ値層のノードも、図７（Ａ）〜図７（Ｄ）に各々示すテーブルが保有するデータ項目及びレコードのデータ値となっている。すなわち、図２では各層間のリンクを用いて保有関係が表わされている。本例では省略のため、各テーブルの第一レコードのデータ値のみがデータ値層のノードとして示されているが、本来はすべてのレコードのデータ値が重複のないノードとして存在する。
【００４０】
図２においては、各層のデータを検索・利用可能とするため、システムが保有するテーブル、このテーブルが保有するデータ項目、このデータ項目が保有するデータ値といった関係を層間のノード間のリンクを用いて表現されている。
【００４１】
詳細は後述するが、新しいデータが入力される度に、この関係ネットワークが随時更新される。更新の際、追加情報をノード、リンクに変換して関係ネットワークの構造を更新する。ここで、追加するリンクが関係ネットワークに既に存在する場合は、リンクの重み（関連性の大きさ）を増加させることで、ノード間の関係の強さをリンクの重みとして表現する仕組みとなっている。
【００４２】
（１−３）関係ネットワーク情報
図３は、関係ネットワーク生成部１１７が関係ネットワークテーブル１１４に格納する関係ネットワーク情報を表すデータテーブルのうち、関係ネットワークのシステム層のノード及びリンクに関するデータのテーブル構成例である。
【００４３】
システム層のノードは、ノードＩＤ９０１及びシステム名９０２を属性として有する。システム層のリンクは、リンクＩＤ９０３、リンク元ノードＩＤであるｆｒｏｍ項目９０４、リンク先ノードＩＤであるｔｏ項目９０５、種別９０６、重み９０７を属性として有する。種別９０６及び重み９０７は、後述する図１２のステップＳ４０８にてリンクを設定する際に設定、算出する。
【００４４】
図４（Ａ）〜図４（Ｃ）は、関係ネットワーク生成部１１７が関係ネットワークテーブル１１４に格納する関係ネットワーク情報を表すデータテーブルのうち、関係ネットワークのテーブル層のノード、リンクに関するデータのテーブル構成例である。テーブル層のノードは、ノードＩＤ１００１、テーブル名１００２、テーブルの保有するデータ項目のＩＤである項目１００３、種別１００４、当該テーブルを保有するシステムのＩＤである元システムＩＤ１００５を属性として有する。元システムＩＤ１００５にて図２に示すシステム層とテーブル層の間のリンクを表している。種別１００４は、後述する図１３のステップＳ５０１の判定結果を格納する。テーブル層のリンクは、リンクＩＤ、リンク元ノードＩＤであるｆｒｏｍ項目、リンク先ノードＩＤであるｔｏ項目、種別、重みを属性として有する。種別及び重みは、後述する図１２のステップＳ４０７にてリンクを設定する際に設定、算出する。
【００４５】
図５（Ａ）〜図５（Ｃ）は、関係ネットワーク生成部１１７が関係ネットワークテーブル１１４に格納する関係ネットワーク情報を表すデータテーブルのうち、関係ネットワークのデータ項目層のノード、リンクに関するデータのテーブル構成例である。データ項目層のノードは、ノードＩＤ、項目名、重み、種別、当該データ項目を保有するテーブルのＩＤであるテーブルＩＤを属性として有する。種別１００４は、後述する図１３のステップＳ５０２及びステップ５０４の結果を格納する。また、テーブルＩＤにて、図２に示すテーブル層とデータ項目層の間のリンクを表している。データ項目層のリンクは、リンクＩＤ、リンク元ノードＩＤであるｆｒｏｍ項目、リンク先ノードＩＤであるｔｏ項目、種別、重み、リンクの示すテーブルＩＤを属性として有する。種別、重み及びテーブルＩＤは、後述する図１１のステップＳ３０８にてリンクを設定、更新する際に設定、算出する。
【００４６】
図６（Ａ）〜図６（Ｃ）は、関係ネットワーク生成部１１７が関係ネットワークテーブル１１４に格納する関係ネットワーク情報を表すデータテーブルのうち、関係ネットワークのデータ値層のノード、リンクに関するデータのテーブル構成例である。データ値層のノードは、ノードＩＤ、値、重み、当該データ値を保有するデータ項目ＩＤであるデータ項目ＩＤ、当該データ値を有するテーブルのテーブル層におけるノードＩＤと、テーブル内のレコードに１から順に設定する当該レコードのレコードＩＤとをセットにしたものを属性として有する。データ項目ＩＤにて、図２に示すデータ項目層とデータ値層の間のリンクを表している。データ値層のリンクは、リンクＩＤ、リンク元ノードＩＤであるｆｒｏｍ項目、リンク先ノードＩＤであるｔｏ項目、種別、重み、当該リンクの示すテーブルのテーブル層におけるノードＩＤと、テーブル内のレコードに１から順に設定する当該レコードのレコードＩＤとをセットにしたものを属性として有する。種別、重み及びテーブルＩＤとレコードＩＤの組は、後述する図１２のステップＳ４０５にてリンクを設定、更新する際に設定、算出する。
【００４７】
図７（Ａ）は駅マスタのデータテーブル例を表しており、図７（Ｂ）は列車走行実績テーブルのデータテーブル例を表しており、図７（Ｃ）は遅延情報テーブルのデータテーブル例を表しており、図７（Ｄ）は車内状態テーブルのデータテーブル例を表している。
【００４８】
図７（Ａ）に示す駅マスタは、そのカラムとして駅コード、駅名及び駅住所を有し、これらの情報を管理する。図７（Ｂ）に示す列車走行実績テーブルは、そのカラムとして列車番号、駅コード、出発時刻及び到着時刻を有し、これらの情報を管理する。図７（Ｃ）に示す遅延情報テーブルは、そのカラムとして列車番号、駅コード及び遅延時分を有し、これらの情報を管理する図７（Ｄ）に示す車内状態テーブルは、そのカラムとして列車番号、豪奢及び混雑度を有し、これらの情報を管理する。
【００４９】
図８（Ａ）〜図８（Ｄ）は、分析用データテーブル生成部１１９によって生成される分析用データテーブルを格納する分析用データテーブル情報テーブル１１５（図１参照）の構成例及び分析用データテーブルの一例を示す。分析用データテーブル情報テーブル１１５は、１つの分析用データテーブルを１レコードとして管理している。各レコードの項目は、分析用データテーブルの固有ＩＤを示す分析用テーブルＩＤ１４２１、及び、分析用データテーブルを格納する分析用テーブル１４２２を有する。
【００５０】
図８（Ｂ）〜図８（Ｄ）は分析用データテーブル１４２２に格納する分析用データテーブルの一例であり、図１６に示す関係ネットワークにおいて、図１４に示すノードＡとして遅延時分ノード１６０１、ノードＢとして降水量ノード１６０２、パスとしてリンク１６０３，１６０４，１６０５，１６０６，１６０７，１６０８，１６０９としたときに生成される分析用データテーブルを示す。なお、当該図１６は、図２に例示した運行管理システム及び車両管理システムの他に、気象情報というオープンデータを元データ格納部１１３に格納して取扱い対象とした際におけるデータ項目層の関係ネットワークを表している。
【００５１】
リンク１６０３が示すテーブルは、列車番号１４０１、駅コード１４０２、遅延時分１４０５をカラムとして有する遅延情報テーブル（図７（Ｃ）参照）である。リンク１６０４が示すテーブルは、列車番号１４０１、駅コード１４０２、出発時刻１４０３及び到着時刻１４０４からなる列車走行実績テーブル（図７（Ｂ）参照）である。
【００５２】
まず、この２つのテーブルを共通データ項目である列車番号１４０１及び駅コード１４０２をキーとして結合する。次に、リンク１６０５が示すテーブルは列車走行実績テーブルであるため、結合しても結合後テーブルに変更はない。
【００５３】
次のリンク１６０６が示すテーブルは、カラムとして駅コード１４０２、駅名１４０６、駅住所１４０７を有する駅マスタテーブル（図７（Ａ）参照）である。駅マスタテーブルとこれまで結合したテーブルとは、駅コードをキーとして結合される。
【００５４】
パス内の次のリンク１６０７は、テーブルＩＤを持たない１対多の種別のリンクであるため、次のリンク１６０８へ進む、リンク１６０８が示すテーブルは、オープンデータである気象観測地点の観測場所１４０９及び住所１４０８を含む観測場所マスタテーブルである。
【００５５】
本テーブルとの統合は、リンク１６０７にてつながる駅住所１４０７及び住所１４０８を用いる。住所については完全一致ではなく、地図情報等を用いて最も距離の近いものを突き合わせ、テーブルが統合される。
【００５６】
パス内の次のリンク１６０８が示すテーブルは、オープンデータである観測場所１４０９、時刻１４１０、降水量１４１１及び風速１４１２を含む気象情報テーブルである。これまで統合したテーブルと、気象情報テーブルとは、共通データ項目である観測場所１４０９、リンク１６１０にて対応付け可能な時刻１４１０、及び出発時刻１４０３をキーとして、統合される。時刻の対応付けについても、場所の対応付けと同様に、最も近い時刻を突き合わせることで、完全一致でない場合でも対応付けることができる。
【００５７】
図９は、データモデル情報テーブル１１６のテーブル構成例を示す。このデータモデル情報テーブル１１６には、データモデル生成部１２０によって生成されるデータモデルが格納される。
【００５８】
データモデル情報テーブル１１６では、１つのデータモデルを１レコードとして管理している。各レコードの項目は、データモデル固有のＩＤを示すモデルＩＤ１５０１、モデルが含むデータ項目テーブルを格納するデータ項目１５０２、モデル内のデータ項目間のスコアテーブルを格納するスコア１５０３、関係ネットワークのデータ項目層にて、モデルが含むデータ項目を示すノード間のリンクを示すテーブルを格納するリンク１５０４、及び、対応する分析用データテーブルＩＤを示す分析用テーブルＩＤ１４２１が格納される分析用テーブル１５０５を有する。
【００５９】
データ項目１５０２に格納するデータ項目テーブルは、１つのデータ項目が１レコードとして管理されている。各レコードの項目は、図９（Ｂ）に示すように項目ＩＤ１５０６及び項目名１５０７を有する。
【００６０】
スコア１５０３に格納されるスコアテーブルは、データ項目間１つを１レコードとして管理する。各レコードの項目は、スコアＩＤ１５１３、ステップＳ７０３にて算出する項目ＩＤ（１）１５１４、項目ＩＤ（２）１５１５、項目ＩＤ（１）１５１４が示すデータ項目及び項目ＩＤ（２）１５１５が示すデータ項目の値の相関係数を示す相関係数１５１６、及び、相関係数を算出する際に用いたサンプル数を示すサンプル数１５１７を有する。なお、このサンプル数１５１７は、後述する図１５のステップＳ７０３において算出される値に相当する。
【００６１】
リンク１５０４に格納するリンクテーブルは、図示しないが、１ノード間のリンクを１レコードとして管理しており、そのテーブル構成は、図５（Ｃ）に示すリンクテーブルと同様な構成である。
【００６２】
（１−４）データ分析支援システムの動作例
（１−４−１）基本的な処理手順（データ分析支援処理）
図１０は、第１の実施の形態に係るデータ分析支援装置１０１による基本的な処理手順を示す。具体的には、図１０は、データ分析支援装置１０１に新しく業務システムが接続された際、接続された業務システムの保有する業務情報が更新された際、または、データ分析システム１０４からの更新命令を受信した際等に実施する処理の流れの一例を示す。
【００６３】
ステップＳ２０１では、関係ネットワーク生成部１１７が、新しいデータがあるか否か、すなわち、本データ分析支援装置が対象とする業務情報であるデータテーブルに更新があったか否かを判定する。この判定の結果に基づいて、関係ネットワーク生成部１１７は、上記データテーブルに更新があった場合、すなわち、新しい業務システムが接続された場合、既に接続されている業務システム１０２，１０３が保有するデータテーブルにデータの追加若しくは変更があった場合、または、データ分析支援装置１０１を新規に導入した場合、次のようなステップＳ２０２を実行する。一方、上記データテーブルに更新がなかった場合、関係ネットワーク生成部１１７は本処理を終了する。
【００６４】
ステップＳ２０２では、関係ネットワーク生成部１１７が、元データ格納部１１３に格納されている業務情報であるデータテーブルを解析し、各業務システム間の関係、各データテーブル間の関係、各業務データテーブルが保有する各データ項目間の関係、各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして構築して関係ネットワークテーブル１１４に格納する。この詳細については、図１１及び図１２を参照しつつ後述する。
【００６５】
ステップＳ２０３では、データ項目分類部１１８が、データ分析対象である業務情報を表すデータテーブル及びデータ項目を実績値に基づく第１のデータ種別（トランザクション）と、計画値または事前定義に基づく第２のデータ種別（マスタ）に分類し、関係ネットワークテーブル１１４におけるテーブル情報やデータ項目情報の分類情報として格納する。この詳細については、図１３を参照しつつ後述する。
【００６６】
ステップＳ２０４では、分析用データテーブル生成部１１９が、元データである業務情報のデータテーブルについて関係ネットワーク情報を利用して統合し、データ分析に用いるデータ分析用テーブルとして分析用データテーブル情報テーブル１１５に格納する。これにより、分析対象となるデータ項目の組合せが蓄積される。この詳細については、図１４を参照しつつ後述する。
【００６７】
ステップＳ２０５では、分析用データテーブル生成部１１９が、新しいデータテーブルが存在するか否か、すなわち、分析用データテーブル情報テーブル１１５に格納した分析用データテーブルのうち、本処理実行前と比較して更新されたデータテーブルまたは新しいデータテーブルが存在するか否かについて判定する。分析用データテーブル生成部１１９は、そのようなデータテーブルが存在すればステップＳ２０６を実行する一方、そのようなデータテーブルが存在しなければ本処理を終了する。
【００６８】
ステップＳ２０６では、データモデル生成部１２０が、更新があった分析用データテーブルまたは新しいデータテーブル毎にデータモデルを生成する。本処理では、データモデル生成部１２０が、組合せてデータ分析が可能なデータ項目の集合を、キー項目、分析の際のフィルタリング項目となるデータ項目、データ項目の組合せごとに算出したスコアとともにデータモデルとして生成し、データモデル情報テーブル１１６に蓄積する。この詳細については、図１５を参照しつつ後述する。
【００６９】
各分析用テーブルに関してステップＳ２０６の処理が実施された後、ステップＳ２０７を実行する。このステップＳ２０７では、分析対象項目提示部１２１が、分析対象となるデータ項目をデータモデル毎に表示し、分析対象となるデータ項目の組合せをスコアとともに強調表示することにより、ユーザに対して推薦する。表示例については、図１７を参照しつつ後述する。その後、本処理を終了する。
【００７０】
（１−４−２）関係ネットワーク生成・更新処理
図１１及び図１２は、それぞれ、図１０に示す関係ネットワーク生成・更新処理（ステップＳ２０２）の詳細な手順例を示す。この関係ネットワーク生成・更新処理は、関係ネットワーク生成部１１７によって実行される。まず、本装置が分析対象として推薦する元データを保有する各業務システムに対し、以下の処理を実施する。
【００７１】
ステップＳ３０１では、関係ネットワーク生成部１１７が、当該業務システムを表すノードが関係ネットワークのシステム層にないか否かを判定する。当該システムのノードがシステム層に存在しなければステップＳ３０２が実行され、一方、当該システムのノードがシステム層に存在すればステップＳ３０３を実行する。
【００７２】
このステップＳ３０２では、関係ネットワーク生成部１１７が、当該システムを表すノードをシステム層に生成する。このノードは、システム層に生成した順に設定するノードＩＤ及びシステム名を属性として有する。
【００７３】
システム名は、例えば、元データ格納部１１３にて業務システム毎に分かれていれば、ディレクトリ名などから設定しても良いし、通信装置１０７から通信網１２２を介して各業務システム１０２，１０３に問い合わせても良い。
【００７４】
当該業務システム１０２，１０３の業務情報における各データテーブルに対し、以下の処理を実施する。まず、ステップＳ３０３では、関係ネットワーク生成部１１７が、当該データテーブルが関係ネットワークのテーブル層に存在するか否かを判定する。当該テーブルが関係ネットワークのテーブル層に存在しなければステップＳ３０４を実行する一方、当該テーブルが関係ネットワークのテーブル層に存在すればステップＳ４０１へ進む。
【００７５】
ステップＳ３０４では、関係ネットワーク生成部１１７が、当該データテーブルを表すノードをテーブル層に生成する。ノードは、テーブル層に生成した順に設定するノードＩＤと、テーブル名、テーブルが保有するデータ項目、種別、当該システムのシステム層におけるノードＩＤである元システムＩＤを属性として有する。種別は、当該テーブルがマスタテーブルであれば０とし、トランザクションテーブルであれば１とする。テーブル名は、ファイル名等から取得可能である。種別は、当該テーブルの更新頻度やレコード数の増減、テーブル名から判別可能である。
【００７６】
次に、当該テーブルが保有する各データ項目に対し、以下の処理を実施する。ステップＳ３０５は、関係ネットワーク生成部１１７が、当該データ項目を表すノードが関係ネットワークのデータ項目層にないか否かを判定する。
【００７７】
当該データ項目を表すノードが関係ネットワークのデータ項目層にあるか否かは、基本的にはデータ項目名とデータ値の比較により同じであるか否かを判定する。例えば、データ項目名が同じで、データ値も同じものが含まれている、あるいは数値が近い、類似している（類似度判定による類似度が一定以上）、フォーマットが同じといったものについては同じとする。
【００７８】
また、データ項目名が全く同じでなくても類似度判定を実施して類似度がある一定以上であり、かつデータ値も同じものが含まれる、あるいは数値が近いといったもの、類似している、フォーマットが同じといった際は同じとする。また、予め辞書情報を格納しておき、同じ項目判定を行うとしても良い。同じ項目を表すノードがなければステップＳ３０６が実行され、同じ項目を表すノードがあればステップＳ３０７を実行する。
【００７９】
ステップＳ３０６では、関係ネットワーク生成部１１７が、当該データ項目を表すノードをデータ項目層に生成する。ノードは、データ項目層に生成した順に設定するノードＩＤ、データ項目名、重み、当該データ項目を有するテーブルのテーブル層におけるノードＩＤであるテーブルＩＤを属性として有する。
【００８０】
重みについては、ステップＳ３０６では一例として１とし、ステップＳ３０５にて既にノードが存在すると判定された際に、ステップＳ３０５からステップＳ３０７へ進む前に１増加させる。また、テーブルＩＤについても同様に、ステップＳ３０５にて既にノードが存在すると判定された際には、ステップＳ３０５からステップＳ３０７へ進む前にその際のテーブルＩＤを追加で格納する。
【００８１】
ステップＳ３０７では、関係ネットワーク生成部１１７が、当該データ項目を表すデータ項目層のノードと、当該テーブルを表すテーブル層のノードとの間にリンクを設定する。本例にて、本リンクは、データ項目層のノードの属性であるテーブルＩＤとして管理しているが、関係ネットワークテーブル１１４において、テーブル層とデータ項目層の間のリンクを管理するテーブルを保有しても良い。以上の処理を、当該テーブルが保有する各データ項目に対して実施する。
【００８２】
次にステップＳ３０８では、関係ネットワーク生成部１１７が、当該テーブルが保有するデータ項目を表すデータ項目層の全ノード間にテーブルＩＤを属性、重み１、種別は「同テーブル」を示す値として有するリンクを設定し、既にリンクが存在する場合は属性にテーブルＩＤを追加し、重みに１を増す。
【００８３】
ステップＳ３０９では、関係ネットワーク生成部１１７が、当該テーブルを表すテーブル層のノードと、元システムを表すシステム層のノードとの間にリンクを設定する。リンクを設定する際、既にノード間にリンクが存在するときは重みに１を増し、テーブルＩＤに当該テーブルを表すＩＤを追加する。新規で設定する場合は重み１のリンクを設定する。本例にて、本リンクは、テーブル層のノードの属性である元システムＩＤとして管理しているが、関係ネットワークテーブル１１４において、システム層とテーブル層の間のリンクを管理するテーブルを保有しても良い。
【００８４】
続いて図１２に示すように当該テーブル内の各レコードに対して以下の処理を実施する。ステップＳ４０１では、関係ネットワーク生成部１１７が、当該レコードが関係ネットワークのデータ値層にないか否かを判定する。ここで、当該レコードが関係ネットワークのデータ値層にあるとは、当該レコードが保有するデータ値すべてについて、対応するノードが存在し、それらのノード間に当該テーブルのＩＤと当該レコードのＩＤを有するリンクが存在することである。そのようなリンクが存在しなければステップＳ４０２を実行する一方、そのようなリンクが存在すれば次のレコードに対する処理へ進む。
【００８５】
ステップＳ４０２〜ステップＳ４０４は、当該レコードが保有する各データ値に対して実施する処理である。ステップＳ４０２では、関係ネットワーク生成部１１７が、当該データ値を示すノードが関係ネットワークのデータ値層にないか否かを判定する。当該データ値を示すノードが関係ネットワークのデータ値層に存在しない場合には、後述するステップＳ４０３を実行する一方、当該データ値を示すノードが関係ネットワークのデータ値層に存在する場合には、当該データ値を表すデータ値層のノードと、当該データ値の属するデータ項目を表すデータ項目層のノードとの間にリンクを設定する（ステップＳ４０４）。
【００８６】
ステップＳ４０３では、関係ネットワーク生成部１１７が、当該データ値を表すノードをデータ値層に生成する。ノードは、データ値層に生成した順に設定するノードＩＤ、データ値、重み、当該データ値を有するテーブルのテーブル層におけるノードＩＤと、テーブル内のレコードに１から順に設定する当該レコードのレコードＩＤとをセットにしたものを属性として有する。
【００８７】
重みについては、ステップＳ４０３では一例として１とし、ステップＳ４０２にて既にノードが存在すると判定された際に、ステップＳ４０２からステップＳ４０４に進む前に１増加する。また、テーブルＩＤ及びレコードＩＤも同様に、ステップＳ４０２にて既にノードが存在すると判定された際には、ステップＳ４０２からステップＳ４０４に進む前に当該データ値を有する当該テーブルＩＤ及びレコードＩＤを追加で格納する。
【００８８】
ステップＳ４０４では、関係ネットワーク生成部１１７が、当該データ値を表すデータ値層のノードと、当該データ値の属するデータ項目を表すデータ項目層のノードとの間にリンクを設定する。
【００８９】
リンクを設定する際、関係ネットワーク生成部１１７は、既にノード間にリンクが存在するときは重みに１を増し、テーブルＩＤ及びレコードＩＤに、当該テーブルを表すＩＤを追加するとともに、当該レコードを表すレコードＩＤを追加する。新規で設定する場合は重み１のリンクを設定する。本例にて、本リンクは、データ値層のノードの属性であるテーブルＩＤとレコードＩＤの組として管理しているが、関係ネットワークテーブル１１４において、データ項目層とデータ値層の間のリンクを管理するテーブルを保有しても良い。
【００９０】
ステップＳ４０５では、関係ネットワーク生成部１１７が、当該レコードが保有するデータ値を表すデータ値層の全ノード間に、重み１、種別が「同レコード」を示す値、当該テーブルのテーブル層におけるノードＩＤと、テーブル内のレコードに１から順に設定する当該レコードのレコードＩＤとをセットにしたものを属性として有するリンクを設定する。既にリンクが存在する場合はリンクの重みを１増加させる。また、テーブルＩＤ及びレコードＩＤも同様に、当該データ値を有する当該テーブルＩＤ及びレコードＩＤを追加で格納する。
【００９１】
以上の処理を当該テーブル内の各レコードに対して実施する。以上の処理を当該システムの業務情報における各データテーブルに対して実施する。さらに以上の処理を、本装置が分析対象として推薦する元データを保有する各業務システムに対して実施する。
【００９２】
ステップＳ４０６では、関係ネットワーク生成部１１７が、データ項目間の関係性チェックを行い、データ項目層のノード間にリンクを設定する。例えば、データ値の関係を参照することにより、以下に示す（ａ）〜（ｄ）のようなデータ項目間の構造上の関係を抽出し、データ項目層のノード間にリンクを設定する。
【００９３】
（ａ）包含関係：データ項目名の包含関係とデータ値集合（連続値の場合は範囲）の包含関係をチェックすることにより抽出する。
（ｂ）１対多の関係：データ値にて１対多となっているかチェックすることで抽出する。
（ｃ）１対１の関係：データ値にて１対１となっているかチェックすることで抽出する。
（ｄ）同値：データ項目名の類似度分析及びデータ値集合比較により抽出する。
【００９４】
時刻及び場所を表す項目については、データ値が近い場合でも対応付け可能であるとして上記関係を設定しても良い。また、データ項目間の関係についてはここで示した関係に限らず、一般に知られている関係を計算してリンクを設定してもよい。
【００９５】
ステップＳ４０７では、関係ネットワーク生成部１１７がテーブル層のノード間にリンクを設定する。データテーブルが保有するデータ項目を表すデータ項目層のノード間にリンクが設定されている場合や、同じデータ項目を有する場合にリンクを設定する。リンクの重みは、前記データ項目層のノード間のリンクの重みと同じデータ項目の数の和であり、種別（複数でも良い）は、前記リンクの種別や、同じデータ項目を持つことを示す値とする。
【００９６】
ステップＳ４０８では、システム層のノード間にリンクを設定する。システムが保有するデータテーブルを表すテーブル層のノード間にリンクが設定されている場合や、同じデータテーブルを有する場合にリンクを設定する。その後、本処理を終了する。
【００９７】
ステップＳ４０８にて、システムが保有するデータテーブルを表すテーブル層のノード間にリンクが設定されていれば、関係ネットワーク生成部１１７は、そのテーブル層のリンクの種別を種別９０６に格納し（複数でも良い）、重みは合計したものを重み９０７に格納する。同じデータテーブルを有する場合は、そのことを示す種別を種別９０６に格納し、重み９０７は同じテーブル数だけ加算する。
【００９８】
（１−４−３）データ項目分類処理
図１３は、図１０に示すデータ項目分類処理（ステップＳ２０３）を示すフローチャートである。まず、関係ネットワークのテーブル層に存在する各ノードが示す各テーブルに対し、データ項目分類部１１８は、次に示すようなステップＳ５０１及びステップＳ５０２の処理を実施する。
【００９９】
ステップＳ５０１では、データ項目分類部１１８が、当該テーブルがマスタテーブルであるか否かについて判定する。例えば、一定期間更新がない、または、テーブル生成からレコードの追加がない場合、データ項目分類部１１８は、当該テーブルがマスタテーブルであると判定し、図４に示すテーブル層のノードの種別情報にマスタテーブルを示す０を格納し、ステップＳ５０２を実行する。
【０１００】
当該テーブルがマスタテーブルでない場合は、データ項目分類部１１８は、図４に示すテーブル層のノードの種別情報にトランザクションテーブルを示す１を格納し、次のテーブルに対する処理へ進む。全てのテーブルに対して処理が終了していれば、ステップＳ５０３へ進む。
【０１０１】
ステップＳ５０２では、データ項目分類部１１８が、マスタテ−ブルと判定されたテーブルが保有するデータ項目について、種別をマスタとする。すなわち、データ項目分類部１１８は、図５（Ａ）に示すデータ項目層のノードの種別情報に、図５（Ｂ）に示すようにマスタを示す０を格納する。
【０１０２】
次に、データ項目分類部１１８は、関係ネットワークのデータ項目層に存在する各ノードが示す各データ項目に対し、ステップＳ５０３及びステップＳ５０４の処理を実施する。ステップＳ５０３では、データ項目分類部１１８が、当該データ項目がマスタか否かを判定する。すなわち、データ項目分類部１１８は、図５に示すノードの種別が０か否かを判定する。データ項目分類部１１８は、このノードの種別が０であれば次のデータ項目に対する処理へ進む一方、全てのデータ項目に対して処理が終了していれば本処理を終了する。データ項目分類部１１８は、このノードの種別が０でなければ、ステップＳ５０４へ進む。
【０１０３】
ステップＳ５０４は、当該データ項目の種別をトランザクションとする処理である。すなわち、データ項目分類部１１８は、図５に示すデータ項目層のノードの種別情報にトランザクションを示す１を格納する。データ項目分類部１１８は、関係ネットワークのデータ項目層に存在する各ノードが示す各データ項目に対して以上の処理を実施し、本処理を終了する。
【０１０４】
（１−４−４）分析用データテーブル生成・蓄積処理
図１４は、図１０におけるステップＳ２０４の分析用データテーブル生成・蓄積処理を示すフローチャートである。この分析用データテーブル生成・蓄積処理は、分析用データテーブル生成部１１９によって実行される。
【０１０５】
ステップＳ６０１では、分析用データテーブル生成部１１９が、関係ネットワークのデータ項目層のノード、リンクから成るネットワークについて連結成分に分解する。本処理は、無向グラフに深さ優先探索を応用する一般的な連結成分分解のアルゴリズムを用いて実施される。
【０１０６】
次に、分析用データテーブル生成部１１９は、各連結成分に対して以下の処理を実施する。当該連結成分内のノードのうち、種別がトランザクションで、ステップＳ３０６にて新しく生成された各ノードについて、以下の処理を実施する。当該ノードをＡとする。また、当該連結成分内のＡ以外の各ノードについて、以下の処理を実施する。当該ノードをＢとし、以下説明する。
【０１０７】
ステップＳ６０２では、分析用データテーブル生成部１１９が、Ａ、Ｂにて表されるデータ項目をどちらも含む分析用データテーブルが分析用データテーブル情報テーブル１１５に存在するか否かを判定する。なお、本処理は省略し、全てのＡ,Ｂに対して本処理をするようにしても良い。
【０１０８】
分析用データテーブル生成部１１９は、上記分析用データテーブルが分析用データテーブル情報テーブル１１５に存在しなければステップＳ６０３へ進む一方、分析用データテーブルが分析用データテーブル情報テーブル１１５に存在すればＢに対する処理を終了する。
【０１０９】
ステップＳ６０３では、分析用データテーブル生成部１１９が、ノードＡとノードＢとがネットワーク内で隣接しているか否か、すなわち、Ａ、Ｂ間にテーブルＩＤを属性として有するリンクが存在しないか否かを判定する。分析用データテーブル生成部１１９は、当該リンクが存在すればステップＳ６０５へと進んで、リンクの表すテーブルＩＤを有するテーブルを、Ａ，Ｂを含むテーブルとして分析用データテーブル情報テーブル１１５に蓄積し、Ｂに対する処理を終了する。
【０１１０】
一方、分析用データテーブル生成部１１９は、ステップＳ６０３にてＡ，Ｂが隣接していなければステップＳ６０４へ進み、ＡからＢへのパスを算出する。
【０１１１】
以下、ＡからＢの各パスについて短いものから順に以下の処理を実施する。ステップＳ６０６は、当該パス内のＡから出るリンクから辿って最初にテーブルＩＤを有するリンクをＡ、次にテーブルＩＤを有するリンクをＢとし、ＡのテーブルＩＤ示すテーブルをテーブルｔａとする。テーブルｔａとして複数のテーブルが存在する場合は各テーブルに対して、以下の処理が実行される。
【０１１２】
ステップＳ６０７では、分析用データテーブル生成部１１９が、ＢのテーブルＩＤを有するテーブル層のノードが示すテーブルｔｂとし、テーブルｔａ及びテーブルｔｂを、共通データ項目をキーとしてテーブルｔａを基にテーブルｔｂを結合可能であるか否かを判定する。
【０１１３】
テーブルｔｂとして複数のテーブルが存在する場合、分析用データテーブル生成部１１９が各テーブルに対して処理を実行する。ここで、共通データ項目とは、テーブルｔａ及びテーブルｔｂが保有するデータ項目のうちデータ項目層のノードとして共通としているものを指す。
【０１１４】
共通項目について、テーブルｔａにおけるデータ値に対応するものがテーブルｔｂに一意に存在すれば突き合せて結合可能である。時刻や場所を表す項目については、近い場合も突合せ可能といった設定としても良い。また、表示装置１０９を介してユーザに問いかけ、ユーザが入力装置１０８を介して突き合わせるデータ値を決定しても良い。そのように結合し、新しいテーブルとなった場合はステップＳ６０８へ進む。そのように結合できない、または、結合した結果レコード数が０であった場合は本ステップで当該パスに対する処理を終了する。
【０１１５】
ステップＳ６０８では、分析用データテーブル生成部１１９が、テーブルｔａと結合可能であったテーブルｔｂのうち、結合したテーブルのレコード数が最もの多いものの１つと結合したテーブルをテーブルｔａとする。なお、結合したテーブルのレコード数が最もの多いもの１つを選ぶのではなく、各ｔｂに対して結合したテーブルをテーブルｔａとして、各ｔａに対して以下の処理を実行しても良い。ステップＳ６０９は、リンクｂが当該パスの最後のリンクであるか、すなわち、リンクｂの先端ノードがＢであるか判定する処理である。
【０１１６】
最後のリンクであればステップＳ６１１を実行する。すなわち、テーブルｔａを分析用データテーブル情報テーブル１１５に蓄積し、Ｂに対する処理を終了する。一方、最後のリンクでなければ、当該パスの次のリンク、すなわち、リンクｂの先端ノードを元ノードとするリンクから当該パスを辿って最初にテーブルＩＤを有するリンクを新たにリンクｂとし（ステップＳ６１０）、ステップＳ６０７へ戻る。
【０１１７】
以上の処理を各Ａ、Ｂに対して実行する。さらに以上の処理を各連結成分に対して実行し、本処理を終了する。
【０１１８】
（１−４−５）データモデル生成処理
図１５は、図１０に示すデータモデル生成処理（ステップＳ２０６）を示す。このデータモデル生成処理は、データモデル生成部１２０によって実行される。本処理は、分析用データテーブル情報テーブル１１５に格納されている各分析用データテーブルに対して実施される。
【０１１９】
ステップＳ７０１では、データモデル生成部１２０が、データ項目層の関係ネットワークから当該分析用データテーブル内のデータ項目について、ノードを、ノード間のリンクとともに抽出する。
【０１２０】
このように抽出したノードが示すデータ項目のうち種別がトランザクションを示している各ノードに対して、データモデル生成部１２０は、以下の処理を実施する。当該ノードをＡとする。また、抽出したノードのうち、Ａでない各ノードに対し、データモデル生成部１２０は、以下の処理を実施する。Ａでない当該ノードをＢとして以下説明する。
【０１２１】
ステップＳ７０２では、データモデル生成部１２０が、Ａ及びＢがチェック済みか、すなわち、データ項目Ａ、Ｂ間のスコアを算出したか否かを判定する。データモデル生成部１２０は、当該スコアを算出済みでない場合にはステップＳ７０３へ進む一方、当該スコアを算出済みである場合には次のノード対に対する処理へ進む。
【０１２２】
ステップＳ７０３では、データモデル生成部１２０が、Ａ及びＢのスコアを算出する。スコアは、例えば、当該分析用データテーブルのＡが示すデータ項目の列と、Ｂが示すデータ項目の列とを用いて算出する相関係数、及び、相関係数を算出した際のサンプル数のような、分析用データテーブルを用いて算出可能な数値とする。
【０１２３】
ステップＳ７０４では、データモデル生成部１２０が、ステップＳ７０３にて算出したスコアを重みとする分析対象を種別としたリンクを、Ａ、Ｂ間に設定する処理である。以上の処理をＡ、Ｂの各組合せに対して実施する。
【０１２４】
ステップＳ７０５では、データモデル生成部１２０が、ステップＳ７０１にて抽出済みのノード、リンクと、ステップＳ７０４にて追加したリンクとを、合わせた関係ネットワーク（図示の「ネットワーク」に相当）をデータモデルとしてデータモデル情報テーブル１１６に蓄積する。以上の処理を各分析用データテーブルに対して実施し、本処理を終了する。なお、本実施の形態では、データ項目層の関係ネットワークをデータモデルとしたが、対応するシステム層やテーブル層、データ値層の関係ネットワークもデータモデルに加えて良い。
【０１２５】
（１−５）画面例
図１６は、関係ネットワーク生成部１１７によって生成された関係ネットワークが表示装置１０９に表示された第１の画面例である。本第１の画面は、ユーザに対して業務情報間の関係を可視化した様子を表している。
【０１２６】
各システム層、各テーブル層、各データ項目層、各データ値層がそれぞれタブ１６００１にて選択されると、表示装置１０９の画面には、当該選択された層が表示される。図１６では、これらの層のうち一例としてデータ項目層を図示している。
【０１２７】
本第１の画面例では、関係ネットワークを連結成分に分解し、ユーザが入力装置１０８を介してチェックボックス１６００２にて選択した連結成分が表示されている。チェックボックス１６００２のテキスト１６００３には、連結成分の中心を表すノードの名称が表示されている。
【０１２８】
図１７は、分析対象となるデータ項目をユーザに推薦する第２の画面例を示す。具体的には、分析対象項目提示部１２１は、分析対象となるデータ項目を表示装置１０９に表示することにより、この表示内容に接したユーザに対してデータ項目を推薦する。
【０１２９】
本第２の画面例では、データモデル生成部１２０によって生成されたデータモデルであってデータモデル情報テーブル１１６に格納されるデータモデル毎に、分析対象となるデータ項目の組合せが、既述のステップＳ７０３にて算出するスコアとともに強調して表示される。
【０１３０】
このように強調して表示されるデータモデルは、ユーザが入力装置１０８を介してラジオボタン１７０１を操作することにより、選択される。選択肢の並び順は、各データモデルの既述のステップＳ７０３にて算出するスコアの１つである相関係数のうち最も高いものの降順としているが、他のスコアも用いても良いし、各スコアを組合せて算出する値の降順としても良い。本実施の形態では、データモデルの情報として、データ項目１５０２に示すテーブルのレコード数であるデータ項目数１７０２、スコア１５０３が示すテーブルのレコード数である分析項目組数１７０３、及び、分析用テーブル１５０５が示すテーブルのレコード数であるサンプル数１７０４が表示される。分析対象となるトランザクションデータ項目は、風速ノード１７０９のように他ノードとは異なる形式で強調表示されている。
【０１３１】
本実施の形態では、分析対象項目として、風速の他にも、例えば降水量、遅延時分、出発時刻及び到着時刻が強調表示されている。分析対象項目の組としては、リンク１７０５及びスコア１７０６のように項目間のリンク及びスコアとして示されている。
【０１３２】
本実施の形態では、降水量と遅延時分、降水量と風速、降水量と時刻、遅延時分と風速、時刻と風速、到着時刻と遅延時分、出発時刻と遅延時分、列車番号と遅延時分の８組が分析対象項目の組として推薦されている。スコアは、それぞれ、０.７、−０.１、０.１、０.４、−０.１、０.０８、０.０８、０.２となっている。
【０１３３】
なお、図１６のように関係ネットワーク全体を表示する際、業務システムの業務分野に関する共通モデルや関係データ、仕様書情報等を予めデータベース１１１に保存しておき、それらを使用して関係ネットワークのノードを階層化表示またはノードを集約表示しても良い。
【０１３４】
例えば、鉄道に関するデータを扱う場合、駅、列車及び線路といった不変なものに対して共通モデルとなるマスタテーブルを生成しておき、マスタテーブルを関係ネットワークに入れ込むことで、不変なものに対するデータの関係を取り込むことが可能となる。
【０１３５】
なお、ユーザは、入力装置１０８またはデータ分析システム１０４を介して、図１６に示す第１の画面例において関係ネットワークを編集して使用し、この関係ネットワークがユーザ毎または分析システム毎に分析結果とともにこれが保存されるようにしておき、この保存内容が分析の際に参照することができるようにしても良い。
【０１３６】
さらには、ステップＳ４０６では、関係ネットワーク生成部１１７が、データ項目の関係リンクがデータベース１１１に予め保存される辞書情報を用いて設定しても良い。本実施の形態では、図２に示すように関係ネットワークを、システム層、テーブル層、データ項目層、データ値層の４層として説明したが、これに限られず、各システムの所属するサイト名及び会社名をデータ分析支援装置１０１が抽出できる場合、関係ネットワーク生成部１１７は、システム層の上位にサイト層及び会社層を加えても良い。その際は、１つのサイト、会社を1ノードとし、サイト及び会社の保有する下位ノードとの間にリンクを設定する。
【０１３７】
さらに他社、他サイトのシステムノード間にリンクが存在すればサイトノード間、会社ノード間にもリンクを設定することで、他サイト、他社間のデータのつながりを表現することができるようになる。
【０１３８】
その際、例えば、ステップＳ４０６にて、関係ネットワーク生成部１１７が、会社別にデータ項目層の関係ネットワークを分解し、位置情報並びに時刻及び日付が一定範囲内である場合に他社ノード同士を対応付け、また、辞書情報またはユーザの編集内容等を用いて他社ノード同士を対応付け、それらの対応付けを少なくとも1つ以上含み、他のノード間を対応付けるような、他社の部分グラフ間の同型写像が存在すれば、その同型写像にて対応付け可能なノードを示すデータ項目は同類とし、新しいリンクを設定することで、新しい分析対象項目を抽出しても良い。なお、同型写像を探索する際、対象のリンクを全ての種別としても良いし、分析対象リンク等に限定しても良い。
【０１３９】
これにより、例えば、他社データ同士の項目を分析対象項目として蓄積可能となる。なお、実際に同類か否かユーザに問いかけをし、ユーザの承認操作にて同類リンクを設定することとしても良い。
【０１４０】
以上説明したように本実施の形態では、少なくとも１つ以上の各業務システムにおける各業務データテーブルの各業務データを対象とした分析を支援するデータ分析支援装置１０１が、各業務データが保有する各データ項目を、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別と、に分類するデータ項目分類部１１８と、各業務システム間の関係、各業務データテーブル間の関係、業務データテーブルが保有する各データ項目間の関係、各業務データテーブルの各レコードが保有する各データ値間の関係を関係ネットワークとして生成する関係ネットワーク生成部１１７と、上記関係ネットワークに基づいて、第１のデータ種別に含まれるデータ項目を少なくとも１つ含む分析用データテーブルを生成する分析用データテーブル生成部１１９と、各データ項目の組み合わせから成る分析対象候補について、分析用データテーブルに基づいて分析推奨度となるスコアを求めるデータモデル生成部１２０と、データモデル生成部１２０によって求められたスコアに基づく分析推奨度とともに分析対象候補を出力する分析対象項目提示部１２１と、を備えている。
【０１４１】
このような構成によれば、複数のデータテーブルを対象とし、データ知識の無い人や分野知識のない人でも、テーブル定義情報を用いずに容易に分析対象項目を選択して分析することができる。
【０１４２】
（２）第２の実施の形態
第２の実施の形態に係るデータ分析支援装置１０１Ａを含むデータ分析支援システムは、第１の実施の形態に係るデータ分析支援装置１０１を含むデータ分析支援システムとほぼ同様の構成でありほぼ同様の動作を実行するが、以下では主として両者の異なる点について説明する。
【０１４３】
第１の実施の形態では、データ分析支援装置１０１に接続されている全業務システム１０２，１０３の業務情報に対応する全データテーブルの全データ項目について、分析するデータ項目の組を推薦する例を示した。これに対し、第２の実施の形態では、ユーザの入力により分析対象となるデータ項目を１つ決定し、その項目と組合せて分析するデータ項目を推薦する例を示す。
【０１４４】
図１８は、第２の実施の形態に係るデータ分析支援装置１０１Ａを含むデータ分析支援システムのシステム構成例を示すブロック図である。第２の実施の形態に係るデータ分析支援装置１０１Ａでは、図１に示すデータベース１１１の構成に、フィルタリング情報テーブル１８２３及び履歴情報テーブル１８２６を加えるとともに、プログラム１１２の構成に、データ項目検索部１８２４、フィルタリング情報生成部１８２５及び履歴解析部１８２７を加えている。図１と同じ部分には同じ符号を付してあり、説明を省略する。
【０１４５】
データ項目検索部１８２４は、ユーザから入力されたキーワードに対して該当するデータ項目を検索し抽出する。フィルタリング情報生成部１８２５は、分析用データテーブルをデータ項目のあるデータ値で絞り込んで算出された相関係数等のスコアがより大きいものがあればこれを抽出し蓄積する。
【０１４６】
図１９は、第２の実施の形態に係るデータ分析支援装置１０１Aの基本的な処理手順例を示すフローチャートである。ステップＳ１９０１では、関係ネットワーク生成部１１７が関係ネットワークを生成する。このステップＳ１９０１は、図１０に示すステップＳ２０２とほぼ同様の処理であるため、説明を省略する。
【０１４７】
ステップＳ１９０２では、データ項目分類部１１８がデータ項目を、実績値に基づく第１のデータ種別と、計画値または事前定義に基づく第２のデータ種別とに分類する。このステップＳ１９０２は、図１３に示すステップＳ２０３と同様の処理であるため、説明を省略する。
【０１４８】
ステップＳ１９０３では、分析用データテーブル生成部１１９が分析用データを生成・蓄積する。このステップＳ１９０３は、図１４に示すステップＳ２０４と同様の処理であるため、説明を省略する。
【０１４９】
ステップＳ１９０４は、データモデル生成部１２０が、ステップＳ１９０３にて生成した分析用データテーブル毎にデータモデルを生成する。本処理は、図１５に示すステップＳ２０６の処理であるため、説明を省略する。
【０１５０】
以下の処理は、入力装置１０８を介してユーザが図２１の検索ボタン２１０２を押下する度に実施する。ステップＳ１９０５は、ユーザによる検索ボタン２１０２押下の際に検索ボックス２１０１にキーワード入力がされているか、すなわち、ユーザが入力装置１０８を介して検索ボックス２１０１に分析したい項目に関するキーワードを入力したか否かを判定する処理である。入力があればステップＳ１９０６を実行し、入力がなければ本検索ボタン２１０２の押下に対する処理を終了する。
【０１５１】
ステップＳ１９０６は、データ項目検索部１８２４が、ユーザによって入力されたキーワードに関するデータ項目を検索する処理である。本処理は、関係ネットワークテーブル１１４におけるデータ項目層のノードの項目名（図５参照）、および、データ値層のノードの値（図６参照）に入力キーワードを含むデータ項目があるか否かが検索され、データ項目を抽出する処理である。キーワードがデータ項目層のノードの項目名に存在すればそのデータ項目を抽出する。また、キーワードがデータ値層のノードの値に存在すれば、そのデータ値の属するデータ項目も抽出する。
【０１５２】
ステップＳ１９０７は、ステップＳ１９０６にて入力キーワードを含むデータ項目やデータ値に対応するデータ項目があったか否かを判定する処理である。当該データ項目があれば該当データ項目各々に対してステップＳ１９０８の処理を実施する。一方、当該データ項目がなければ本検索ボタン２１０２押下に対する処理を終了する。
【０１５３】
ステップＳ１９０８では、フィルタリング情報生成部１８２５が、該当データ項目に関するフィルタリング情報を生成する。
【０１５４】
図２０は、図１９に示すステップＳ１９０８においてフィルタリング情報生成部１８２５が実施する処理例を示す。ステップＳ２００１は、当該データ項目をＡとし、Ａをデータ項目として有する分析用データテーブルを分析用データテーブル情報テーブル１１５から抽出する処理である。
【０１５５】
フィルタリング情報生成部１８２５は、抽出した各分析用データテーブル（テーブルｔａとする）に対して、以下の処理を実施する。また、当該分析用データテーブル内のＡ以外の各データ項目に対し、以下の処理を実施する。また、Ａ以外の当該データ項目をＢとし、Ｂが有するデータ値１つ以上を要素とする集合（全てのデータ値を含む全体集合を除く部分集合）各々に対して以下の処理を実施する。
【０１５６】
まず、ステップＳ２００２では、フィルタリング情報生成部１８２５が、当該分析用データテーブルについて、データ項目Ｂが当該データ値集合の要素のいずれかと一致するレコードのみをレコードとして有する分析用データテーブルに変換し、分析用データテーブル情報テーブル１１５に新たに格納する。次に、新たに生成した本分析用データテーブル（テーブルｔｂとする）について、テーブルｔｂ内のＡ、Ｂ以外の各データ項目に対し、以下の処理を実施する。
【０１５７】
ステップＳ２００３では、フィルタリング情報生成部１８２５が、テーブルｔｂ内のＡ、Ｂ以外の当該データ項目をＣとし、ＣとＡ間のスコアを算出する。本処理はステップＳ７０３と同様の処理であり、テーブルｔｂのＡが示すデータ項目の列とＣが示すデータ項目の列を用いて算出する相関係数等のような、テーブルｔｂを用いて算出可能な数値をスコアとして算出する。
【０１５８】
ステップＳ２００４では、フィルタリング情報生成部１８２５が、ステップＳ２００３にてテーブルｔｂに対して算出したＡとＣ間のスコアがテーブルｔａにおけるＡとＣ間のスコアより大きいか否かを判定する。テーブルｔａに対するスコアは、図９に示すデータモデル情報テーブル１１６（１８１６）の分析用テーブル１５０５がテーブルｔａであるレコードであって、スコア１５０３に格納されたテーブルの項目ＩＤ（１）１５１４と項目ＩＤ（２）１５１５との組合せがＡを示す項目ＩＤ，Ｃを示す項目ＩＤであるレコードにおける相関係数１５１６等の値を参照する。
【０１５９】
例えば、フィルタリング情報生成部１８２５は、遅延時分と降水量の相関係数が、全日を対象としたものよりも平日のみを対象とした方が大きい場合に、大きいと判定する。当該相関係数が大きいと判定した場合はステップＳ２００５を実行し、等しいまたは小さいと判定した場合はＣに対する処理を終了する。
【０１６０】
ステップＳ２００５では、フィルタリング情報生成部１８２５が、データ項目層の関係ネットワークにおいて、重みがスコアであって、フィルタリング項目であるＢと、フィルタリング値であるテーブルｔｂ内のＢのデータ値とを、属性として有する分析対象リンクを、Ａを表すノードと、Ｃを表すノードとの間に設定する。また、同様の情報をフィルタリング情報テーブル１８２３に格納する。
【０１６１】
以上の処理を、テーブルｔａ内のＡ、Ｂ以外の各データ項目に対して実施する。また、以上の処理を、Ｂが有するデータ値１つ以上を要素とする集合（全てのデータ値を含む全体集合を除く部分集合）各々について実施する。さらに以上の処理をテーブルｔａ内のＡ以外の各データ項目に対して実施する。
【０１６２】
ステップＳ２００６では、フィルタリング情報生成部１８２５がテーブルｔａに対するデータモデルを更新する。すなわち、データモデル情報テーブル１８１６を更新する。データモデル情報テーブル１８１６は、図９に示すデータモデル情報テーブル１１６のスコア１５０３に格納されるテーブルに、フィルタリング項目フィルタ値、及び分析用テーブルが追加されている。
【０１６３】
ステップＳ２００５にて追加したリンクは、データモデル情報テーブル１８１６の分析用テーブル１５０５がテーブルｔａであるレコードのスコア１５０３に格納されたテーブルに追加される。
【０１６４】
フィルタリング値にフィルタリング項目であるＢ、フィルタ値にフィルタリング値であるテーブルｔｂ内のＢのデータ値、分析用テーブルにテーブルｔｂを示す分析用データテーブル情報テーブル１１５におけるＩＤが格納される。残りの項目は、ステップＳ７０５と同様に、項目ＩＤ（１）１５１４にはＡを示すノードの項目ＩＤ、項目ＩＤ（２）１５１５には、Ｃを示すノードの項目ＩＤ、相関係数１５１６等のスコアに算出したスコア、サンプル数１５１７にテーブルｔｂのレコード数が格納される。以上の処理を、ステップＳ２００１にて取得した各分析用データテーブルに対して実施し、本処理を終了する。
【０１６５】
図２０に示す本処理例では、ステップＳ１９０６にて、キーワードがデータ項目層にあった場合もデータ値層にあった場合も同様に扱っているが、その代わりに、キーワードがデータ値層にあった場合には、ステップＳ２００１にて分析用データテーブルを取得した際、分析用データテーブルを、当該データ値を有するレコードのみのデータテーブルに変換、すなわち、予めフィルタリングしてから、以降の処理を実施しても良い。
【０１６６】
このようにすることにより、例えばキーワードとして「急病人」が入力された際、分析用データテーブルを、データ項目「遅延要因」が「急病人」の場合に限定することができ、急病人の発生原因の調査分析支援が可能となる。
【０１６７】
図１９に戻り、第２の実施の形態に係るデータ分析支援装置１０１Ａの基本的な処理手順例の続きを説明する。
【０１６８】
ステップＳ１９０９では、分析対象項目提示部１８２１が、ステップＳ１９０６にて抽出したデータ項目ごとに、組合せて分析する対象として推薦する項目を表示装置１０９に出力する。出力画面例は図２１を用いて後述する。
【０１６９】
本処理では、分析用データテーブルをすべて生成し蓄積してからユーザの入力したキーワードに対するデータ項目の検索（ステップＳ１９０６）と、そのデータ項目に対する処理（ステップＳ１９０８以降）とを実施したが、その代わりに、ユーザの検索したキーワードに対するデータ項目を抽出してから、そのデータ項目を含む分析用データテーブル及びデータテーブルを生成し、そのデータテーブルに対してステップＳ１９０７以降の処理を実施しても良い。
【０１７０】
その際の分析用データテーブル生成部１１９の処理は、図１４におけるノードＡをキーワードに対するデータ項目とし、ステップＳ６０１にてノードＡを含む連結成分を抽出し、ステップＳ６０２を実施せずに、ステップＳ６０３から先の処理を実施する。
【０１７１】
図２１は、第２の実施形態において、分析対象項目提示部１８２１が分析対象となるデータ項目を表示装置１０９に推薦する画面例である。
【０１７２】
検索ボックス２１０１は、ユーザが入力装置１０８を介して、分析対象としたいデータのキーワードを入力するテキストボックスである。本実施の形態では「遅延」が入力されている。
【０１７３】
検索ボタン２１０２は、ユーザが入力装置１０８を介して押下するボタンである。この検索ボタン２１０２の押下がステップＳ１９０５を実行するトリガとなる。表２１０３は、ステップＳ１９０６にてデータ項目を検索して抽出したデータ項目名２１０５の一覧である。ユーザが入力装置１０８を介してラジオボタン２１０４にて選択したデータ項目について、組合せて分析するデータ項目が本画面にて推薦される。
【０１７４】
表２１０６は、ラジオボタン２１０４にて選択されたデータ項目を含むデータモデルの一覧であり、図１７に示す第２の画面例における対応表示欄と同様である。ただし、ここでは、分析対象項目組数、相関係数、サンプル数の昇順、降順に表示する方法の他、後述する履歴情報テーブル１８２６を用いて解析した結果であるノードの重みやリンクの重み（データモデル内で最も重いもの）の昇順、降順に表示する方法がある。これらは。どの順番で表示しても良いし、組合せても良い。また、コンボボックス等を用いてユーザが指定しても良い。
【０１７５】
表２１０７は、表２１０６のラジオボタンにて選択されたデータモデルについて、ステップＳ２００６にて表２１０３にて選択されたデータ項目との間に設定されたリンク情報であって、フィルタリング項目及びフィルタリング値を有する分析対象リンクの一覧である。これは、データモデル情報テーブル１８１６のスコア１５０３に格納されたテーブル及びフィルタリング情報テーブル１８２３を参照して表示される。
【０１７６】
フィルタ項目２１０８及び値２１０９は、それぞれ、データモデル情報テーブル１８１６のスコア１５０３に格納されたテーブルが保有するフィルタリング項目及びフィルタ値を参照して表示される。
【０１７７】
項目２１１０は、ラジオボタン２１０４にて選択されたデータ項目と組合せて分析する推薦対象のデータ項目、すなわち、項目ＩＤ（１）１５１４または項目ＩＤ（２）１５１５が示すデータ項目のうちラジオボタン２１０４にて選択されたデータ項目ではない方の項目名を表示する。
【０１７８】
サンプル数２１１１は、データモデル情報テーブル１８１６のスコア１５０３に格納されたテーブルの該当レコードのサンプル数１５１７を参照して表示されており、スコア２１１２は、相関係数１５１６を参照して表示される。
【０１７９】
関係ネットワーク表示２１１３は、図１７と同様であるが、ラジオボタン２１０４にて選択されたデータ項目と組合せて分析する、推薦対象データ項目のみが強調表示される。
【０１８０】
本実施の形態では、遅延時分と組合せて分析すべきデータ項目である降水量、風速、出発時刻、ダイヤ種別を強調表示している。また、本実施の形態では表２１０７を用いて、遅延時分と降水量、および、遅延時分と風速の組合せについて、ダイヤ種別を平日に限定して分析することを推薦している。
【０１８１】
図１９に戻り、第２の実施の形態に係るデータ分析支援装置１０１Ａの基本的な処理手順例の説明を続ける。以上の処理は、ユーザのキーワード入力に対して推薦項目を提示する処理であったが、以下の処理は、本データ分析支援装置１０１Ａによって提示された分析対象項目をユーザが選択し、実際にユーザがデータ分析システム１０４において分析を実施した後にデータ分析支援装置１０１Ａにて実行される処理を表す。
【０１８２】
ステップＳ１９１０は、ステップＳ１９０９における提示の後、ユーザが例えばデータ分析システム１０４において分析対象項目を選択した、すなわち、分析対象項目に対応する分析用データテーブルの送信要求があったか否かを判定する処理である。要求があればステップＳ１９１１へ進み、要求がなければ本処理を終了する。
【０１８３】
ステップＳ１９１１は、選択された分析対象項目に対応する分析用データテーブルを、データモデル情報テーブル１８１６を参照して分析用データテーブル情報テーブル１１５から抽出し、通信網１２２を介してデータ分析システム１０４に送信し、当該分析用データテーブルを、選択された分析対象項目（分析対象候補）とともに履歴情報テーブル１８２６に格納する処理である。
【０１８４】
ステップＳ１９１２では、履歴解析部１８２７が、履歴情報テーブル１８２６に格納された履歴情報に基づいて履歴解析を実施する。本処理は、履歴情報テーブル１８２６に格納された分析対象項目及び分析用データテーブルに対する関係ネットワークテーブル１１４のデータ項目層のノード情報、リンク情報について、重みを増す処理である。
【０１８５】
さらにデータモデル情報テーブル１８１６及びフィルタリング情報テーブル１８２３内において対応する情報が併せて更新される。本処理を実行することで、分析システムにて分析した履歴のある項目を優先して分析対象項目提示部１８２１にて提示することができ、関係ネットワーク表示２１１３にて関連するデータ項目を参照することが可能となる。
【０１８６】
また、本処理では、履歴情報テーブル１８２６に格納された分析対象項目と分析用データテーブルの組、及び対応するデータモデル、関係ネットワークの属性、対応するシステム層、テーブル層及びデータ値層の情報等を教師データとして機械学習を実行するようにし、同じデータ項目の組に対して複数存在する分析用データテーブルから最も良いテーブルが分析対象項目提示部１８２１に提示されるようにしても良い。また、第３の実施の形態にて後述する定常状態解析部の結果である、データ値が「計画通り」及び「通常通り」か、あるいは、データ値が逸脱する異常値かも履歴情報テーブル１８２６に格納し、教師データとして学習するとしても良い。
【０１８７】
本実施の形態では、データ分析システム１０４の分析対象項目選択履歴を履歴情報としたが、データ分析支援装置１０１Ａにおけるユーザのデータ参照履歴及び選択履歴等が履歴情報として履歴情報テーブル１８２６に格納され、学習されるようにしても良い。
【０１８８】
また本実施の形態では、ユーザが実施した分析に対して保存要求をした分析が履歴情報テーブル１８２６に格納されるようにし、教師データとして学習されるようにしても良い。
【０１８９】
また、元データ格納部１１３のデータが更新された、すなわち、業務システム１０２，１０３が有する業務情報のデータ値の更新を定期的に調べ、履歴情報テーブル１８２６を参照し、分析済みまたは参照済みの項目のデータ値に更新があった場合に、再度分析する項目として提示するとしてもよい。
【０１９０】
（３）第３の実施の形態
第３の実施の形態に係るデータ分析支援装置１０１Ｂを含むデータ分析支援システムは、第１の実施の形態に係るデータ分析支援装置１０１を含むデータ分析支援システム及び第２の実施の形態に係るデータ分析支援装置１０１Ａを含むデータ分析支援システムとほぼ同様の構成でありほぼ同様の動作を実行するが、以下では主として両者の異なる点について説明する。
【０１９１】
第２の実施の形態では、ユーザの入力により分析対象となるデータ項目を１つ決定し、その項目と組合せて分析するデータ項目を推薦する例を示した。これに対し、第３の実施の形態では、ユーザ入力により決定した１つのデータ項目に対し、その原因となる他のデータ項目の候補を分析対象項目として提示する例を示す。
【０１９２】
図２２は、第３の実施の形態に係るデータ分析支援装置のシステム構成例を示す。第３の実施形態では、第２の実施の形態と比べて図１８に示すデータベース１１１の構成からフィルタリング情報テーブル１８２３及び履歴情報テーブル１８２６を除く一方、原因情報テーブル２２２３を加えるとともに、プログラム１１２の構成からフィルタリング情報生成部１８２５及び履歴解析部１８２７を除く一方、原因情報生成部２２２５を加えている。なお、図２２において図１８と同じ構成には同一の符号を付し、その説明は省略する。
【０１９３】
原因情報生成部２２２５は、ユーザ入力により決定した１つのデータ項目に対し、相関の強いデータ項目があれば、相関のあるデータ値以外のデータ値を対象にその他のどの項目と相関が強いか判定し、順次原因となるデータ項目の候補を抽出し、原因情報テーブル２２２３に蓄積する。
【０１９４】
図２３は、原因情報生成処理の処理手順の一例を示す。この原因情報生成処理では、まず、データ項目検索部１８２４が、ユーザから入力されたキーワードに対して該当するデータ項目を検索して抽出した後、表示装置１０９に表２１０３のように表示させる。次に原因情報生成部２２２５は、ユーザによってラジオボタン２１０４を用いて選択されたデータ項目に対して原因情報を生成する処理手順の一例を、図２３を用いて示す。
【０１９５】
以下、関係ネットワークテーブル１１４のデータ項目層のノードにて種別がトランザクションであるものが示すデータ項目をトランザクション項目として説明する。
【０１９６】
まず、ステップＳ２３０１では、原因情報生成部２２２５が、ユーザによってラジオボタン２１０４を用いて選択されたデータ項目をＡとし、Ａを含む分析用データテーブルにおいてＡと異なるトランザクション項目を含む分析用データテーブルを、分析用データテーブル情報テーブル１１５から抽出する。このように抽出された各分析用データテーブルに対し、以下の処理を実施する。
【０１９７】
ステップＳ２３０２では、原因情報生成部２２２５が、当該分析用データテーブルが有するトランザクション項目のうち、Ａとの相関係数が最も大きいデータ項目を取得し、Ｂとする。相関係数は、データモデル情報テーブル１８１６のスコア１５０３における相関係数１５１６を参照する。同様のデータ項目が複数存在する場合は、各データ項目に対して以下を実施する。
【０１９８】
ステップＳ２３０３では、原因情報生成部２２２５が、データ項目Ａ、Ｂと、その相関係数を原因情報テーブル２２２３に格納する。ステップＳ２３０４では、原因情報生成部２２２５が、ＡとＢとの相関関係が所定の値よりも大きいか否かを判定する。本値は、原因と云える相関係数として、システムに予め登録しておいても良いし、ユーザが項目ごとに定めても良い。上記相関関係が所定の値よりも大きければステップＳ２３０５を実行する一方、上記相関関係が所定の値よりも大きくなければ当該分析用データテーブルに対する処理を終了する。
【０１９９】
ステップＳ２３０５では、原因情報生成部２２２５が、当該分析用データテーブルのレコードのうち、データ項目Ｂが無効値或いは０、外れ値のレコードのみを残し、データ項目Ｂを削除した分析用データテーブルを生成する。
【０２００】
ステップＳ２３０６では、原因情報生成部２２２５が、ステップＳ２３０５において生成した分析用データテーブルのレコード数が一定以上で、かつ、Ａ以外のトランザクション項目が存在するか否かを判定する。
【０２０１】
本実施の形態では、レコード数として、Ａと、他のトランザクション項目との相関係数を算出可能なレコード数とする。上記ステップ２３０６において肯定的な結果が得られた場合にはステップＳ２３０７が実行される一方、肯定的な結果が得られない場合には当該分析用データテーブルに対する処理が終了される。
【０２０２】
ステップＳ２３０７では、原因情報生成部２２２５が、ステップＳ２３０５において生成した分析用データテーブルを用いて、Ａと、Ａ以外の各トランザクション項目との相関係数を算出する。原因情報生成部２２２５は、本ステップを実行した後、ステップＳ２３０２を実行し、ステップＳ２３０５にて生成した分析用データテーブルに対し、Ａと各トランザクション項目との相関係数に対して処理を続ける。
【０２０３】
各分析用データテーブルに対して以上の処理を実施した後、原因情報生成部２２２５は、ステップＳ２３０８を実行する。ステップＳ２３０８では、原因情報生成部２２２５が、Ａについて原因情報テーブル２２２３に格納したデータ項目及び相関係数の組を、相関係数の絶対値の降順にソートして表示装置１０９に表示させる。これにより、ユーザが選択したデータ項目のデータ値の原因候補となるデータ項目を表示することができる。
【０２０４】
なお、本実施の形態では、全てのデータ値を対象に原因情報を生成したが、その代わりに、各分析用データテーブルについてトランザクション項目の定常状態を定める定常状態解析部を構成として設け、データ値が「計画通り」及び「通常通り」のみであるノードについては表示せず、データ値が逸脱するノードについてのみ分析対象として提示し、異常値の原因のみを表示するようにしても良い。
【０２０５】
定常状態解析部は、各分析用データテーブルの各トランザクション項目に対して処理を実施する。この定常状態解析部は、当該トランザクション項目をＡとしたとき、各マスタ項目（当該データ項目をＢとする）に対して以下の処理を実施する。定常状態解析部は、当該分析用データテーブル内のＡの各データ値を要素とする集合を、Ｂのデータ値毎に部分集合に分割し、それぞれの部分集合内の持つＡのデータ値の分布を比較する。さらに定常状態解析部は、同じ分布を有するものを対応するＢのデータ値とともに群としてまとめ、最も多い分布をＡの、対応するＢのデータ値における定常状態として定める。例えば、遅延時分を日付ごとに分割し、遅延時分の平日における通常の分布が定常状態として定められる。
【０２０６】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施の形態の構成の一部は、図示しない他のデータ分析支援関連装置の構成に置き換えることも可能である。また、実施の形態の構成の一部について、他の構成の追加、削除または置換をすることが可能である。
【０２０７】
また、上記の各構成、機能、処理部及び処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２０８】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０２０９】
本実施の形態では、鉄道に関するデータを分析する際のデータ分析支援装置を本発明の適用対象例として説明したが、鉄道保守関連のデータ分析支援に適用した場合は、分析により車両や線路の故障を故障前に検知できる可能性があり、鉄道の資源を効率的に運用でき、エネルギー消費の抑制することができる。
【０２１０】
（４）その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替えまたは並行動作するように構成しても良い。
【産業上の利用可能性】
【０２１１】
本発明は、複数のシステムのデータを対象とするデータ分析を支援するデータ分析支援装置及びデータ分析支援システムに広く適用することができる。
【符号の説明】
【０２１２】
１０１，１０１Ａ，１０１Ｂ……データ分析支援装置、１０２……第１の業務システム、１０３……第２の業務システム、１０４……データ分析システム、１０５……演算処理装置、１０６……メモリ、１０７……通信装置、１０８……入力装置、１０９……表示装置、１１０……記憶装置、１１１……データベース、１１２……プログラム、１１３……元データ格納部、１１４……関係ネットワークテーブル、１１５……分析用データテーブル情報テーブル、１１６……データモデル情報テーブル、１１７……関係ネットワーク生成部、１１８……データ項目分類部、１１９……分析用データテーブル生成部、１２０……データモデル生成部、１２１……分析対象項目提示部、１２２……通信網、１２３……データバス。
【図１】
2018072960.tif 000003
【図２】
2018072960.tif 000004
【図３】
2018072960.tif 000005
【図４】
2018072960.tif 000006
【図５】
2018072960.tif 000007
【図６】
2018072960.tif 000008
【図７】
2018072960.tif 000009
【図８】
2018072960.tif 000010
【図９】
2018072960.tif 000011
【図１０】
2018072960.tif 000012
【図１１】
2018072960.tif 000013
【図１２】
2018072960.tif 000014
【図１３】
2018072960.tif 000015
【図１４】
2018072960.tif 000016
【図１５】
2018072960.tif 000017
【図１６】
2018072960.tif 000018
【図１７】
2018072960.tif 000019
【図１８】
2018072960.tif 000020
【図１９】
2018072960.tif 000021
【図２０】
2018072960.tif 000022
【図２１】
2018072960.tif 000023
【図２２】
2018072960.tif 000024
【図２３】
2018072960.tif 000025