BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿...

130
BayoLinkS 7.3 ベイジアンネットワーク構築支援システム ver.7.3 操作マニュアル 2020/2/14

Transcript of BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿...

Page 1: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLinkS 7.3

ベイジアンネットワーク構築支援システム

ver.7.3 操作マニュアル

2020/2/14

Page 2: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

2

1 はじめに ................................................................................ 7

1.1 BayoLinkS について .................................................................................................... 8

1.2 Visual Analytics Platform とは .................................................................................... 8

1.3 BayoLink とは............................................................................................................. 9

2 BayoLinkS の操作 ................................................................. 11

2.1 VAP の起動と画面構成 ............................................................................................... 11

2.2 BayoLink Connector .................................................................................................. 12

2.3 BayoLink-構造学習 .................................................................................................... 13

2.4 BayoLink-検証 ........................................................................................................... 15

2.5 BayoLink-推論 ........................................................................................................... 17

2.6 感度分析 .................................................................................................................... 21

2.7 CPT 更新 ................................................................................................................... 23

2.8 モデルインポート ..................................................................................................... 27

2.9 モデルエクスポート .................................................................................................. 28

2.10 BayoLink GUI ............................................................................................................ 29

3 BayoLink 単体機能 ~ 基本操作 .......................................... 32

3.1 GUI 構成と機能一覧 .................................................................................................. 32

3.1.1 メニュー ............................................................................................................. 32

3.1.2 ツールバー ......................................................................................................... 34

3.1.3 グラフ構造パネル .............................................................................................. 35

3.1.4 属性パネル ......................................................................................................... 35

3.1.5 メッセージパネル .............................................................................................. 35

3.2 BayoLink の基本操作 ................................................................................................. 36

3.2.1 BayoLink の起動と終了 ...................................................................................... 36

3.2.2 BayoLink Home フォルダ ................................................................................. 37

3.2.3 起動時設定 ......................................................................................................... 37

3.2.4 プロパティ設定 .................................................................................................. 38

4 ベイジアンネットワークモデル ........................................... 40

4.1 モデル構築の前に ..................................................................................................... 40

4.1.1 モデル構築の流れ .............................................................................................. 40

4.2 モデルの構成要素 ..................................................................................................... 42

4.3 モデルの操作 ............................................................................................................. 44

4.3.1 モデルの作成 ..................................................................................................... 44

4.3.2 モデルの削除 ..................................................................................................... 45

Page 3: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

3

4.3.3 名前の変更 ......................................................................................................... 45

4.3.4 モデルを開く ..................................................................................................... 46

4.3.5 モデルを閉じる .................................................................................................. 46

4.3.6 モデルの保存 ..................................................................................................... 47

4.3.7 モデルを全て閉じる ........................................................................................... 47

4.3.8 モデルを全て保存する ....................................................................................... 47

4.3.9 モデルのインポート ........................................................................................... 47

4.3.10 モデルのエクスポート ................................................................................... 48

4.3.11 モデルと学習データの紐付け......................................................................... 48

4.4 モデルの配置 ............................................................................................................. 49

4.4.1 階層配置 ............................................................................................................. 49

4.4.2 円形配置 ............................................................................................................. 50

4.4.3 ばねモデル配置 .................................................................................................. 50

4.4.4 配置情報のインポート/エクスポート ................................................................ 51

4.4.5 ネットワーク図を出力する ................................................................................ 51

4.5 ノード ........................................................................................................................ 52

4.5.1 ノードの作成と削除 ........................................................................................... 52

4.5.2 名前の変更 ......................................................................................................... 53

4.5.3 ノードの検索 ..................................................................................................... 53

4.5.4 ノードの詳細情報の表示 ................................................................................... 54

4.5.5 ノードの表示設定(プロパティ) .......................................................................... 55

4.5.6 ノードプロパティの保存 ................................................................................... 57

4.6 状態値 ........................................................................................................................ 58

4.7 リンク ........................................................................................................................ 59

4.7.1 リンクの作成と削除 ........................................................................................... 59

4.7.2 リンクの向きを変更する ................................................................................... 60

4.7.3 CPT 更新 ............................................................................................................ 60

4.7.4 リンクの表示設定 .............................................................................................. 60

4.8 条件付き確率表(CPT) ........................................................................................... 61

4.8.1 CPT の作成と編集 ............................................................................................. 61

4.8.2 学習データから CPT に値を入力する ............................................................... 61

4.8.3 CPT のエクスポート/インポート ....................................................................... 61

4.8.4 CPT のエントロピーの値 .................................................................................. 63

4.8.5 クロス集計表(CTT) ....................................................................................... 64

4.8.6 信頼度の表示 ..................................................................................................... 64

Page 4: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

4

4.8.7 CPT モニターの表示設定 .................................................................................. 65

4.8.8 使用禁止文字 ..................................................................................................... 66

5 学習データ .......................................................................... 67

5.1 学習データのフォーマット ....................................................................................... 67

5.1.1 フォーマット ..................................................................................................... 67

5.1.2 使用禁止文字 ..................................................................................................... 68

5.1.3 欠損値について .................................................................................................. 68

5.2 学習データのインポート ........................................................................................... 68

5.2.1 インポート ......................................................................................................... 68

5.2.2 インポート済みの学習データの選択 ................................................................. 73

5.2.3 インポート済みの学習データの削除 ................................................................. 73

5.2.4 学習データの名前を変更する ............................................................................ 74

5.2.5 データの自動選択 .............................................................................................. 74

5.3 学習データの編集 ..................................................................................................... 75

5.3.1 ノード名の変更 .................................................................................................. 75

5.3.2 型の変更 ............................................................................................................. 75

5.3.3 値の編集 (文字列型) ........................................................................................ 76

5.3.4 数値の離散化 ..................................................................................................... 78

5.3.5 欠損値を定義する .............................................................................................. 81

5.4 学習データのエクスポート ....................................................................................... 82

5.5 データベース ............................................................................................................. 83

6 BayoLink 単体機能~構造学習 .............................................. 84

6.1 構造学習の手順 ......................................................................................................... 84

6.2 制約条件の設定方法 .................................................................................................. 86

6.2.1 モデルインフォメーションファイル ................................................................. 88

6.3 学習のアルゴリズム .................................................................................................. 89

6.4 評価基準 .................................................................................................................... 89

6.5 学習の打ち切り条件 .................................................................................................. 89

6.6 欠損値処理 ................................................................................................................ 90

6.7 正規化 ........................................................................................................................ 90

6.8 構造学習のプロパティ設定 ....................................................................................... 90

6.9 学習データからノード作成する ................................................................................ 91

6.10 CPT 更新 ................................................................................................................... 91

6.10.1 CPT 更新の手順(ダイアログから) ..................................................................... 92

Page 5: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

5

6.10.2 設定項目 ......................................................................................................... 93

6.10.3 CPT 更新の手順 (ポップアップメニューから) ............................................... 94

6.10.4 DCNode の CPT 更新 ........................................................................................ 95

7 BayoLink 単体機能~確率推論 .............................................. 96

7.1 操作手順 .................................................................................................................... 96

7.2 証拠状態の設定 ......................................................................................................... 96

7.2.1 推論実行 ............................................................................................................. 96

7.3 推論の設定 ................................................................................................................ 97

7.4 推論アルゴリズム ..................................................................................................... 97

7.4.1 MSSM アルゴリズム .......................................................................................... 97

7.4.2 loopyBP アルゴリズム ....................................................................................... 98

7.5 推論結果の CSV ファイルへの出力 .......................................................................... 98

7.6 推論モニター ............................................................................................................. 99

7.6.1 推論モニターの機能 ........................................................................................... 99

7.6.2 Simple Mode ...................................................................................................... 99

7.6.3 Advanced Mode ................................................................................................. 99

7.6.4 推論モニターのプロパティ設定 ...................................................................... 101

7.7 Excel アドインによる確率推論 ............................................................................... 101

8 BayoLink 単体機能~モデル分析 ........................................ 102

8.1 モデルの適合度 ....................................................................................................... 102

8.2 モデルのスコア ....................................................................................................... 102

8.2.1 評価基準 ........................................................................................................... 102

8.3 ツリーの選択 ........................................................................................................... 103

8.4 ツリーのスコア ....................................................................................................... 103

8.4.1 ツリーの選択 ................................................................................................... 103

8.5 双方向リンクと循環の回避 ..................................................................................... 104

8.6 循環の自動回避 ....................................................................................................... 105

8.6.1 双方向リンクの検出 ......................................................................................... 105

8.6.2 循環の検出 ....................................................................................................... 107

8.7 モデルの検証 ........................................................................................................... 109

8.7.1 検証データ ....................................................................................................... 109

8.7.2 検証の手順 ....................................................................................................... 109

8.7.3 算出項目 ............................................................................................................ 110

8.7.4 推論データの保存 ............................................................................................. 111

Page 6: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

6

8.7.5 検証結果の保存 ................................................................................................. 112

8.7.6 推論シナリオのインポート・エクスポート ..................................................... 112

8.7.7 コンソールパネル ............................................................................................. 112

8.8 感度分析 ................................................................................................................... 113

8.8.1 感度分析の手順 ................................................................................................. 113

8.8.2 設定項目 ............................................................................................................ 115

8.8.3 算出項目 ............................................................................................................ 117

9 技術資料 ............................................................................ 120

9.1 構造学習について ................................................................................................... 120

9.1.1 探索アルゴリズム ............................................................................................ 120

9.1.2 評価値の算出 ................................................................................................... 120

9.2 条件付確率テーブル(CPT)の学習 ........................................................................... 122

9.3 正規化 ...................................................................................................................... 124

9.3.1 欠損値の処理 ................................................................................................... 125

9.3.2 CPT のエントロピー ........................................................................................ 126

9.4 検証・感度分析 ....................................................................................................... 126

9.4.1 正解率と平均対数尤度 ..................................................................................... 126

9.4.2 確率の差分 ....................................................................................................... 127

9.4.3 相互情報量 ....................................................................................................... 128

10 お問い合わせ ..................................................................... 129

Page 7: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

7

1 はじめに

BayoLinkS はベイジアンネットワークモデル(以下 ベイジアンネット) のための分析ソフトウェアで

す。本書は BayoLinkS の操作マニュアルで、BayoLinkS の基本的な操作や各種機能の詳細につ

いて解説しています。またモデル構築や分析についての技術資料も提供をしています。

BayoLinkS でのベイジアンネット分析の流れを習得するには以下の『クイックスタート』 が参考にな

ります。

BayoLinkS クイックスタート

Windowsスタートメニュー ⇒ [BayoLinkS] ⇒ [BayoLinkS クイックスタート]

または BayoLink を起動 ⇒ メニュー ⇒ [ヘルプ] ⇒ [クイックスタート]

なお本書では Visual Analytics Platform(以下 VAP) については ベイジアンネットワークに関する

機能 (BayoLink Connector) のみを扱います。VAP の機能の詳細については以下のマニュアルを

ご参照ください。

Visual Analytics Platform(VAP) の操作について

Windows のスタートメニュー ⇒ [MSI Solutions] ⇒ [VAPマニュアル]

または Visual Analytics Platform を起動 ⇒ メニュー ⇒ [ヘルプ] より VAPに関する各種マニ

ュアルをご参照いただけます。

Page 8: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

8

1.1 BayoLinkS について

BayoLinkS はベイジアンネットワークの構築・推論・分析をビジュアルプログラミング環境で実施す

るソフトウェアです。以前はベイジアンネットワークモデルの構築および分析のみを行う単機能のソフ

トウェア 『BayoLink(※)』としてリリースしておりましたが Ver.7.1.1 より NTT データ数理システムソ

フトウェア群の分析基盤である Visual Analytics Platform (VAP)を備えた『BayoLinkS』へバージョ

ンアップをいたしました。

※ BayoLink は 国立研究開発法人産業技術総合研究所(産総研) で開発され、株式会社 NTT

データ数理システムがソースライセンスを取得したソフトウェアです。

1.2 Visual Analytics Platform とは

統合分析環境 Visual Analytics Platform(略称 VAP)は、NTTデータ数理システムが持つデータマイ

ニング・数理計画・シミュレーション等の各ソフトウェアパッケージを統合的に扱うプラットフォームで

す。VAPには豊富なデータ加工機能やグラフ描画機能が搭載されています。

VAP は次のような機能を備えています。

ビジュアルプログラミング機能

VAP はアイコン&処理フロー方式を採用 しています。データとそれに対する処理を全てアイコンで

表現し、問題解決のためのプロセスの流れはアイコン間の矢印で表します。

データ可視化機能

VAP は豊富なデータ表示機能、例えば、各種グラフ表示機能、大規模データ対応のテー ブル表示

機能、各種レポート、集計機能を備えています。

前処理機能

BayoLinkS

BayoLink

ベイジアンネットワーク

Visual Analytics Platform

分析プラットフォーム

Page 9: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

9

VAP は次のデータ処理ツールを提供します。

データ操作:クリーニング、グルーピング、サンプリング、ソート、ファイル分割、 フィルタリング、マ

ージ、列属性変更、正規化、再配置、匿名化、層別サンプリング、データハンドリング、日付時刻処

理、行選択、日付選択、集計、パラメータ毎 実行

他システムとの接続、連携機能

今まで蓄積されてきたデータ、データ加工ルーチン、統計解析ルーチンをそのまま利用可能にする

ために、 VAP から高速 ODBC 経由での市販 DB との接続、S-PLUS、R、SAS(スクリプト)、

MATLAB(スクリプト)、Excel、Perl などとの接続は特別な操作を必要とせず、通常の VAP の中で

使われる処理アイコンと同様に使うことができます。

バッチ処理機能

データマイニングの分析の流れを構築する人と、日常業務に適用する人は一般に異なります。

日常業務に適用する場合、分析の流れの構成などを意識することなく簡単に結果が得られる必

要があります。このような目的のために VAP は、インタラクティブな環境で作成したプロジ

ェクトをバッチ実行する機能を備えています。

1.3 BayoLink とは

BayoLink はベイジアンネットワーク構築を支援するシステムです。学習データからベイジアンネット

ワーク(以降ではベイジアンネットと略します)を構築し、確率推論により様々な知見を得ることができ

ます。

BayoLink の主な機能は次の 3 つです。

ベイジアンネットワークの構築 情報量規準に基づく最適なネットワーク構造の探索

構築したベイジアンネットについての検証・感度分析

構築したベイジアンネットに対する確率推論

Page 10: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

10

対話的に操作できるウィザード形式のインターフェイスを備え、初心者でも簡単に利用可能なパッケ

ージとなっており、学術研究・開発用途・ベイジアンネットの学習用にと広く利用できます。

BayoLink は VAP との連係して利用する他、従来どおり単独起動して利用することも可能です。本

マニュアルでは 従来の BayoLink の機能を 『BayoLink単体機能』と表記します。

Page 11: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

11

2 BayoLinkS の操作

BayoLinkS は Visual Analytics Platform(略称 VAP) を基盤とします。ここでは BayoLinkS の

操作方法を説明します。

VAP の操作方法の詳細については VAP のヘルプメニューより各種マニュアルをご参照くださ

い。

2.1 VAP の起動と画面構成

BayoLinkS を利用するには VAP を起動します。VAP はデスクトップの以下の起動ショートカ

ットから起動できます。

または Windows スタートメニュー ⇒ [MSI Solutions] ⇒ [VAP] から起動します。

VAP の画面は以下の部分から構成されています。

Page 12: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

12

[オブジェクトブラウザ]はデータ加工のための操作や分析を行うための操作メニュー(※アイ

コンと呼びます) が一覧で表示されます。

2.2 BayoLink Connector

VAP オブジェクトブラウザの[BayoLink Connector] フォルダにはベイジアンネットのため

のアイコンが格納されています。

※VAP のベイジアンネットに関する機能を BayoLink Connector と呼びます

BayoLink Connector には次のアイコンが含まれています。

オブジェクト

ブラウザ

プロジェクト

ボード

メニューバー

Page 13: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

13

アイコン名 機能

BayoLink-構造学習 入力データで構造学習しベイジアンネットを構

築します。また構築したベイジアンネットワー

クを GUI から操作します。

BayoLink-CPT 更新 構造学習やインポートしたベイジアンネットモ

デルについて、入力データで 条件付き確率分布

(CPT)を更新します。

BayoLink-検証 ベイジアンネットモデルの精度検証を行いま

す。

BayoLink-推論 入力テーブルの値をモデルに入力し推論を実施

します。テーブルの空欄を予測値で埋める、穴

埋め推論も可能です。

BayoLink-モデルインポート 外部に保存したモデルファイルを読み込みま

す。

BayoLink-モデルエクスポート 構造学習で構築したモデルを外部のファイルに

出力します。

BayoLink-感度分析 ベイジアンネットモデルの感度分析を実施しま

す。

2.3 BayoLink-構造学習

[BayoLink-構造学習]は入力データから構造学習によりモデルを構築します。構造学習を実行す

ると BayoLink GUI(参照『2.10BayoLink GUI』)が表示され、そこからモデルの操作や分析を

行うことができます。

操作方法 とパラメータ

構造学習アイコンを起動すると、次の構造学習ウィザードが表示されます。

Page 14: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

14

構造学習ウィザードは BayoLink 単体機能と共通です。操作方法については、『6BayoLink 単体

機能~構造学習』をご参照ください。

構造学習を終えると BayoLink GUI にモデルが表示されます。

モデルの編集

[構造学習] アイコンに実行結果のモデルが存在するとき [編集] メニューを実行すると、

BayoLink GUI が起動します。BayoLink GUI については『2.10BayoLink GUI』をご参照くだ

さい。

入力テーブル

項目 内容

Table 学習データ

※学習データのフォーマットについては 『5.1 学習データのフォーマット』

をご参照ください。

出力テーブル

Page 15: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

15

項目 内容

result ベイジアンネットの属性情報テーブル。

モデル名、ノード数、リンク数、情報量規準関数、各ノードのスコア等が出力

される。

[CPT 更新]、[推論]、[検証]、[エクスポート] アイコンの入力データになる。

cpt 各ノードの条件付き確率を出力するテーブル。

子ノードの状態と親ノードの状態の各組み合わせについて、条件付き確率値を

出力する。

2.4 BayoLink-検証

[検証]アイコンは、検証データを用いて[構造学習]アイコンで構築したモデルを検証します。

操作方法 とパラメータ

[検証]アイコンを起動すると、次のダイアログが表示されます。

Page 16: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

16

ダイアログに推論の目的変数や説明変数等を入力し、[実行]ボタンを押すと検証が開始されま

す。検証結果はアイコンの出力データとなります。

検証ダイアログは BayoLink 単体機能と共通しています。詳細については、『8.7 モデルの検証』

をご参照ください。

入力テーブル

項目 内容

table 検証データ

model ベイジアンネットモデル (『構造学習』 アイコンの出力テーブル:result)

出力テーブル

項目 内容

result 検証の算出値。以下の値を算出する。

Page 17: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

17

ノード名 、状態名、適合率、再現率、F-Measure

詳細は、BayoLink 操作マニュアル『9.4.3 算出項目』を参照

infer 検証データによる推論結果テーブル

詳細は、BayoLink の操作マニュアル『9.4.4 推論データの保存』を参照

summary 検証の算出値。以下の値を算出する。

ノード名、データ数、正解データ数、正解率、平均対数尤度

詳細は BayoLink 操作マニュアル『9.4.3 算出項目』を参照

2.5 BayoLink-推論

[推論] アイコンは、入力データの一部をモデルのエビデンスが指定された列として、ベイジア

ンネットモデルの確率推論を行うことで事後確率を計算します。また、この確率値から最も確

率の高い状態値(MAP 推定値)として出力します。

操作方法 とパラメータ

[推論] アイコンを起動すると、以下のダイアログが起動します。

Page 18: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

18

ダイアログに以下の設定項目を入力して、[実行]ボタンを押します。

設定項目

項目 内容

■基本設定

既存値を予測値で上

書きする

predict テーブルの予測値の出力方法を指定します。

チェックを入れた場合

入力データが欠損となるかどうかに関係なく予測結果で入力テーブル

の値を上書きし

チェックを入れない場合

欠損でないセルの値は変更しません。

説明変数 エビデンスとして設定する変数を指定します。

目的変数 推論後の事後確率から最も確率の高い状態値を予測結果として計算す

る列を指定します。

Page 19: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

19

■オプション

推論アルゴリズム 確率推論を行うためのアルゴリズム。以下から選択します。

LoopyBP

MSSM (SAMPLE)

MSSM (PRECISION)

推論アルゴリズムの詳細については BayoLink の『7BayoLink 単体機

能~確率推論』 をご参照ください。

サンプル数 推論アルゴリズムが MSSM の場合のパラメータです。

MSSM-SAMPLE

サンプルの数を 1 以上の数値で指定します。サンプル数を大きくすれ

ば、近似の精度は高くなります。

MSSM-PRECISION

反復の一回目のステップにおけるサンプル数、また反復におけるサン

プル数の増分です。よって n 回目のステップのサンプル数は n × サ

ンプル数となります。

この値が小さいとステップ間で差が表れず、厳密解でない値で反復が

停止する可能性があります。

解の要求精度 [推論アルゴリズム]が MSSM (SAMPLE) または LoopyBP で有

効です。事後確率に対する要求精度を指定します。例えば 4 に設定す

れば 10-4の精度に収束するまで反復を繰り返します。

Page 20: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

20

[既存値を予測で上書きする]をチェックしない場合の出力イメージ

(A 及 F を目的変数とする)

[既存値を予測で上書きする]をチェックした場合の出力イメージ

(A 及 F を目的変数とする)

1 つの変数に目的変数と説明変数の両方を指定した場合のイメージ

説明変数としての役割が優先され、欠損(ブランク) の箇所のみに予測値が入ります。

例えば、次のように指定すると目的変数の欠損している部分を予測値で穴埋めすることができ

ます。

説明変数 A, B, C 目的変数 A

推論を実施

A B C F Ga1 b2 c2 f2 g1

a2 b1 c2 g2

c1 f1 g1

a2 b1 c1 f1 g2

A B C F Ga1 b2 c2 f2 g1

a2 b1 c2 予測 g2

予測 c1 f1 g1

a2 b1 c1 f1 g2

入力テーブル 出力テーブル ( predict )

目的変数の欠損(ブラ

ンク) は予測値で穴埋

めされる

値があればエビデンスとしてモ

デルに入力される

(色付きのセルがエビデンス)

入力テーブル

推論を実施

A B C F Ga1 b2 c2 f2 g1

a2 b1 c2 g2

c1 f1 g1

a2 b1 c1 f1 g2

A B C F G予測 b2 c2 予測 g1予測 b1 c2 予測 g2予測 c1 予測 g1予測 b1 c1 予測 g2

出力テーブル ( predict )

Page 21: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

21

入力テーブル

項目 内容

table 入力データ

model ベイジアンネットモデル (『構造学習』 アイコンの出力データ)

出力テーブル

項目 内容

predict 推論後の事後確率から最も確率の高い状態値を予測結果として出力した値

を含む予測結果テーブル

infer 各レコードの事後確率値

2.6 感度分析

[感度分析] アイコンは、複数の要因が関係する事象のモデルにおいて、どのような要因の組み

合わせが、結果(注目しているノードの事後確率)に最も影響を与えるかということの定量的

分析を行います。各要因の組み合わせは「シナリオ」と呼ばれます。[感度分析] アイコンでは、

シナリオの生成方法を指定することで、それらの設定値で考えられるすべてのシナリオを生成

します。注目しているノードに対して、それらシナリオの中で影響が最も大きいもののランキ

ングを行います。

設定項目

項目 内容

■基本設定

変数の組み合わせ数 説明変数で指定したノードの中から、最大いくつのノードを使用して

シナリオを生成するかを指定します。

最大出力件数 high 及び low テーブル に出力されるレコードの上限値を指定しま

す。

Page 22: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

22

説明変数 シナリオを生成するノードを指定します。

目的変数 影響度合いを測定したいノードを指定します。

前提条件 各シナリオの影響を算出するに、前提としたい条件を指定します。必

要な場合にだけ指定します。

■オプション

推論アルゴリズム 確率推論を行うためのアルゴリズム。以下から選択します。

LoopyBP

MSSM (SAMPLE)

MSSM (PRECISION)

推論アルゴリズムの詳細については BayoLink の『操作マニュアル(8

確率推論)』 をご参照ください。

サンプル数 推論アルゴリズムが MSSM の場合のパラメータです。

MSSM-SAMPLE

サンプルの数を 1 以上の数値で指定します。サンプル数を大きくすれ

ば、近似の精度は高くなります。

MSSM-PRECISION

反復の一回目のステップにおけるサンプル数、また反復におけるサン

プル数の増分です。よって n 回目のステップのサンプル数は n × サ

ンプル数となります。

この値が小さいとステップ間で差が表れず、厳密解でない値で反復が

停止する可能性があります。

解の要求精度 [推論アルゴリズム]が MSSM (SAMPLE) または LoopyBP で有

効です。事後確率に対する要求精度を指定します。例えば 4 に設定す

れば 10-4の精度に収束するまで反復を繰り返します。

入力テーブル

項目 内容

model ベイジアンネットモデル (『構造学習』 アイコンの出力データ)

出力テーブル

Page 23: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

23

項目 内容

mi 目的変数と説明変数の相互情報量

high / low 目的変数の事前と事後の確率値の差分ランキング

2.7 CPT 更新

[CPT 更新] アイコンは、構築学習により構築したベイジアンネットワークの CPT をデータか

ら再計算して更新します。

入力するデータに応じて次の更新方法があります。

説明変数の入力値(シナリオ)

目的変数の値ご

とに事後確率の

大きい順に出力

出力件数の上限

は『最大出力件

数』で指定

目的変数の値ごと

に事後確率の小さ

い順に出力

Page 24: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

24

完全データ

完全データとは以下の形式のデータを想定しています。

- モデルに存在する変数(ノード)が全て含まれる。

- 各変数に対して存在しない状態値(欠損値等)が現れない。

完全データによる CPT 更新では単純に親ノードの状態の組み合わせに対して自分のノードの

状態が現れる確率(条件付き確率)を集計します。

もしあるノードの値に欠損値が含まれる場合や、モデルに必要なノードが入力データに存在し

ない場合、CPT の計算は行われますが正しい結果にはなりません。

そのノードの条件付き確率の和は 1 にはならず、正規化されない CPT が作成されます。

なお、入力データにモデルに存在しない列があれば、この列は無視されます。

不完全データ

不完全データによる CPT 更新では、モデルの変数が入力データに存在しなくても、それを欠

損値と扱い CPT を更新します。

不完全データを用いたCPT更新ではEMアルゴリズムを用いて不完全データの期待値を求め、

CPT を更新するという操作を繰り返しながら CPT を求めていきます。

EM アルゴリズムの E ステップでは推論により不完全データの期待値を計算します。M ステッ

プでは最尤法により CPT を計算します。 その結果、正規化された CPT が計算されます。

なお、入力データにモデルに存在しない列があれば、この列は無視されます。

Page 25: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

25

操作方法 とパラメータ

設定項目

項目 内容

[更新方法] 下記から選択

更新するノードを

選択する

更新方法を選択

欠損の扱い

を選択

OKで実行

Page 26: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

26

上書き

追加

欠損値の補完 データの欠損値を推定値で補完するかどうかを指定。以下から選択

欠損値の補完なし

欠損値の補完あり

欠損値処理 欠損値を補完しない場合について、欠損が含まれる行の取り扱い方

法。以下から選択

ペアワイズ

リストワイズ

繰り返し回数 EM ステップの繰り返し数

CPT の初期値 CPT の初期値を決める方法を下記から選択

対象モデルの CPT

現在のモデルの CPT を初期値として指定。

ランダム

乱数を用いて初期化を行う。

乱数のシード CPT の初期値を決める方法を[ランダム]に指定した際はこの値に

より乱数の初期値を指定。 0 以上の整数を指定する。

入力テーブル

result ネットワーク情報を出力したテーブル。 ネットワーク名、ノード数、

リンク数、情報量基準関数、ノード毎の情報量基準、 モデルの良さ

が出力される。 CHM に関しては値が大きいほど良く、AIC,BIC に関

しては通常と異なり、 符号を逆転して出力しているため値が大きい

ほどよいモデルである。

cpt 各ノードの条件付き確率を出力したテーブル。 自分のノード名、自

分の状態名、親ノード名、親ノードの状態名、条件付き確率が出力さ

れる。 親ノードが複数存在する場合は「+」で連結される。親ノード

が存在しない場合には「Nothing」と記述される。

Page 27: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

27

注意 ~旧バージョンとの互換性について~

BayoLink(旧 BAYONET) ver.6.3 までは『CPT 更新』アイコンは VAP のアドオンで

ある、『bayesian network module』の移植版でしたが、本バージョンより BayoLink

本体の『CPT 更新』機能に切り替わります。このため 以下の点で注意が必要です。

1. 旧プロジェクトとの互換性

旧プロジェクトの『CPT 更新』アイコンについては、以前のバージョンの CPT 更新アイ

コンが起動いたします。再実行、あるいはデータを変えて実行しても旧アルゴリズムに

従い、計算されます。

2. 新 CPT アイコンの実行結果について

内部アルゴリズムの違いにより、欠損値の穴埋め結果が異なる場合があります。

それに伴い、欠損値のあるデータで CPT 値が異なる可能性があります。

2.8 モデルインポート

モデルインポートは BayoLink単体機能 で作成したモデルファイルを VAP プロジェクトにイ

ンポートします。過去に BayoLink で作成したモデルを VAP で分析するのに利用できます。

操作方法 とパラメータ

アイコンをクリックすると、次のダイアログが表示されます。

Page 28: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

28

[ファイル名] にはモデルファイルのパスを指定します。モデルファイルの形式は BIF 形式の

みが指定できます。

設定項目

項目 内容

ファイル名 モデルファイルのパス(BIF 形式)

入力テーブル

指定しない

出力テーブル

項目 内容

result ベイジアンネットモデルの情報テーブル。

モデル名、ノード数、リンク数、情報量規準関数、各ノードのスコア等が出力

される。

2.9 モデルエクスポート

操作方法 とパラメータ

モデルエクスポートは[構造学習]アイコンや[CPT 更新]で作成したベイジアンネットモデルを

外部にエクスポートします。

VAP プロジェクトで構築したモデルを BayoLink 単体機能 で開くのに利用できます。

アイコンをクリックすると、次のダイアログが表示されます。

Page 29: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

29

[ファイル名] には出力ファイルのパスを指定します。モデルファイルは BIF 形式で出力しま

す。

設定項目

項目 内容

ファイル名 モデルファイルのパス(BIF 形式)

入力テーブル

項目 内容

model ベイジアンネットモデル

[構造学習] か [CPT 更新] で作成したモデルテーブルを入力とする

出力テーブル

項目 内容

result 実行が成功したかどうかを示すテーブル

2.10 BayoLink GUI

BayoLink GUI は アイコンで構築したベイジアンネットモデルを表示する GUI です。

次のアイコンの[編集] メニューで起動することができます。

構造学習アイコン

モデルインポートアイコン

Page 30: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

30

BayoLink GUI は、BayoLink 単体機能 とほぼ同じ機能の GUI です。

※ BayoLink 単体機能については 『3BayoLink 単体機能 ~ 基本操作』以降をご参照くださ

い。

例えば次のような操作ができます。

推論モニターを表示して確率推論を行う。

モデルのリンクを編集する。

モデルの CPT を任意の値に変更する。

編集したモデルは保存することもできます。

BayoLink GUI では次の機能は利用できません。

複数のモデルを表示する。

アイコンで作ったモデルのみを表示できます。外部からモデルをインポートすることはで

きません。また新しいモデルを作ることもできません。

利用不可のメニュー: モデルの新規作成、モデルを開く、モデルのインポート、構造学習

Page 31: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

31

データのインポートや編集

BayoLink GUI は起動時にアイコンの入力データをインポートします。ただしインポーし

たデータの編集はできません。また新しいデータをインポートすることもできません。

利用不可のメニュー: データのインポート、選択、編集、データのエクスポート

VAP 画面の操作ができない場合の対処方法

操作中に『コンポーネントが応答しないため、この操作を完了できません..』というメッセージが表示さ

れ、画面の操作ができません。

VAP 各アイコンの設定ダイアログを表示している間は、 VAP のメニューや他のアイコンを

操作することはできません。他のアイコンを操作しようとすると以下のメッセージが表示され

ます。通常の VAP アイコンは [切り替え] ボタンを押すと操作中のダイアログを再表示し操

作を続行することができます。

ただし BayoLink Connector 一部のアイコンについては、ボタンを押してメッセージを閉じ

ても画面のロックを解除できません。

この場合、Windows 画面下のタスクバーに表示される BayoLink アイコンをクリックすると

ダイアログを再表示できます。

Page 32: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

32

3 BayoLink 単体機能 ~ 基本操作

ここからの章は BayoLink 単体機能についての操作方法を説明します。

3.1 GUI 構成と機能一覧

BayoLink の GUIは『グラフ構造パネル』、『属性パネル』、『メッセージパネル』で構成されます。また

上部には操作を実行する『メニュー』『ツールバー』があります。

図 3.1 GUIの構成

3.1.1 メニュー

BayoLink のメニューより次の機能が利用できます。

ファイル

- 新規作成 … モデルを新規作成します(学習データを使わない場合)

- 開く … モデル開きます

- 保存 … 表示されているモデルを上書き保存します

- 全て保存 … 開いているモデルを全て上書き保存します

- 閉じる …表示されているモデルを閉じます

- 全て閉じる … 開いているモデルを全て閉じます

- インポート … モデルを BayoLinkに取り込みます

属性パネル グラフ構造パネル

メッセージパネル

メニュー/ツールバー

Page 33: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

33

- エクスポート … モデルを指定した場所に保存します

- 終了 … プログラムを終了します

詳細は『3.2BayoLink の基本操作』、をご覧下さい

編集

- ノード検索 … 指定のノードを探し選択状態にします

- 配置情報を開く … ノードの位置情報をファイルに保存します

- 配置情報を保存 … ノードの位置情報をファイルから復元します

- クリップボードに画像をコピー … ネットワーク構造を画像としてクリップボードにコピーします

- 画像ファイルに保存 … ネットワーク構造を画像としてファイルに保存します

詳細は『4.5.3 ノードの検索』、『4.4 モデルの配置』をご覧ください

データ

- インポート … 学習データをインポートします(加工もできます)

- 選択 … インポート済みの学習データの中から使うデータを選択します

- 編集 … 学習データの加工方法を変更します

- エクスポート … 加工後の学習データをファイルに保存します

- データの自動選択 … モデルを選択したとき紐付けされているデータを自動的に選択します

詳細は『5 学習データ』をご覧下さい。

モデリング

- 構造学習 … インポートしたデータからモデルを構築します

- 双方向リンクの回避 … 双方向リンクを削除します

- 循環の回避 … 循環を削除します

- 循環の自動回避 … 循環を自動的に削除します

- モデル検証 … 構築したモデルの予測精度を評価します

- 感度分析 … 構築したモデルの感度分析を実施します。

詳細は『6BayoLink 単体機能~構造学習』、『8.7 モデルの検証』、『8.8 感度分析』をご覧くださ

い。

推論

- 推論の実行 … 確率推論を実行します

- 証拠状態のリセット … 証拠状態の設定を全てリセットします

- 推論結果の保存 … 推論結果をファイルに保存します

- 推論モニターの表示 … 全てのノードに対して推論モニターを表示します

Page 34: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

34

- 推論モニターの非表示 … 表示されている全ての推論モニターを閉じます

詳細は『7BayoLink 単体機能~確率推論』をご覧ください。

ヘルプ

- プロパティ … プロパティの値を確認・変更します

- 互換機能 … 下位バージョンとの互換性に関する機能です

- 操作マニュアル … 操作マニュアル(PDF)を表示します

- クイックスタート … クイックスタート(PDF)を表示します

- BayoLinkについて … バージョンが確認できます

3.1.2 ツールバー

メニューの項目からよく使うものをツールバーに配置し、クリック一回で実行できるようにしています。

ファイル

主にモデルの読み込みや保存などを実行します。

左から順に、モデルを開く、モデルの保存、モデルを全て保存、モデルを閉じる

グラフ構造の表示

モデルのレイアウト(配置)や拡大縮小を実行します

左から順に、階層配置、円形配置、ばねモデル配置、拡大、縮小、元の大きさに戻す

モデリング

構造学習、CPT 更新、モデル検証を実行します。

左から順に、CPT 更新、構造学習、検証

推論

推論モニターの表示などを実行します。

左から順に、推論の実行、証拠状態のリセット、推論モニターを開く、推論モニターを閉

じる

Page 35: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

35

データ

学習データのインポートと選択を行います。

左から順に、データのインポート、データの選択

3.1.3 グラフ構造パネル

ベイジアンネットワークを表示・編集するためのパネルです。ポップアップメニューでノードやリンクに

対しての編集ができます。

グラフ構造パネルに表示されているノードやリンクを右クリックすると、ポップアップメニューが表示さ

れます。

3.1.4 属性パネル

タブをクリックすると選択しているノード対し、各情報が表示されます。

CPT

選択ノードの条件付き確率表(CPT)やクロス集計表(CTT)を表示します。

ノード

選択ノードの名前の変更ができます。

スコア

モデルやノードのスコア(評価値)を表示します。

状態

ノードの状態名の変更や、各状態の確率分布の確認ができます

3.1.5 メッセージパネル

BayoLink で実行した処理やメッセージを表示します。

初期状態ではメッセージパネルは表示されていません。BayoLinkのGUIの左下の矢印をクリックす

ると表示されます。

Page 36: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

36

3.2 BayoLink の基本操作

3.2.1 BayoLink の起動と終了

BayoLink は次の方法で起動します。

Windows スタートメニュー ⇒ [BayoLinkS] ⇒ [BayoLink]

BayoLinkS ver.7.3 以降ではデスクトップに BayoLink の起動ショートカットが配置されません。

BayoLink は次の方法で終了します。

メニュー → [ファイル] → [終了]

終了時には未保存のモデルについて、保存を確認するダイアログが表示されます。ここで[選択]欄

のチェックを外すと、そのモデルの変更は保存されません。

Page 37: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

37

3.2.2 BayoLink Home フォルダ

BayoLink(単体機能)で構築した様々なモデル(ベイジアンネット)やインポートした学習データの情報

は BayoLink の Homeフォルダに保存されます。Homeフォルダは BayoLink を初回の起動時に自

動的に作成されます。

BayoLink Home フォルダは以下の場所です。

<マイドキュメント>\BAYONET6

またモデルの保存先は次のフォルダとなります。

<マイドキュメント>\BAYONET6\projects

3.2.3 起動時設定

起動時設定では Home フォルダのパスや、メモリ使用量を変更することができます。

設定の変更方法

BayoLink の起動時設定は次のファイルに記述されています。

<インストール フォルダ>\BAYONET\bin\bayonet.l4j.ini

ファイルには設定する項目の後に、値が記述されています。値は変更することも可能です。編

集の際は、万が一のためにバックアップ用にコピーを取っておきましょう。

Page 38: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

38

bayonet.l4j.ini が含まれる<インストールフォルダ> 以下は、OS のセキュリティ機能によりファイル

の変更が禁止されています。(<インストールフォルダ>を変更している場合はこの限りではありませ

ん) このため bayonet.l4j.ini は以下の方法で変更を行います。

1. bayonet.l4j.ini を デスクトップなど書き込みが禁止されていない場所にコピーする。

2. コピーした bayonet.l4j.ini の内容を変更し保存する。

3. 2 のファイルを 元の<インストール フォルダ>¥BAYONET¥bin 以下に上書きする。

個人設定及びプロジェクトの保存先の変更

個人設定及びプロジェクトの保存先は以下の項目で設定しています。

項目名 デフォルト値

-Dbayonet.home= "%USERPROFILE%¥MyDocuments¥BAYONET6"

標準設定では個人設定及びプロジェクトの保存先は、<マイドキュメント>¥BAYONET6 です。例え

ば保存先を C:¥home¥BAYONET6 にする場合は、次のように記述します。

-Dbayolink.home=C:\home\BAYONET6

メモリ使用量の変更

BayoLink の最大メモリ使用量は次の項目で設定しています。

項目名 デフォルト値

-Xmx 1024m

標準設定での最大メモリ使用量は 1024MBです。使用メモリを 512MBに変更する場合は、次のよう

に記述します。

-Xmx512m

3.2.4 プロパティ設定

BayoLink の様々な機能は、プロパティダイアログでカスタマイズすることができます。プロパティダイ

アログは次のメニューで表示されます。

メニュー → [ヘルプ] → [プロパティ…]

Page 39: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

39

左側のプロパティツリー欄から設定項目を選択すると、右側のプロパティ設定欄に設定画面が表示

されます。[OK] もしくは [適用]ボタンをクリックすると、変更内容が反映されます。[初期設定]ボタン

をクリックすると、プロパティの値が初期設定に戻ります。

プロパティの値と設定については、各項目をご参照ください。

Page 40: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

40

4 ベイジアンネットワークモデル

ここではベイジアンネットワークを構築するための考え方や 構成要素、さらに BayoLink(単

体機能) でベイジアンネットワークを操作する方法について説明します。

4.1 モデル構築の前に

モデルとはベイジアンネットワークにおいては「有向グラフ」と「各確率変数の条件付確率表」

の組のことであり、確率変数をノード、依存関係をリンクで表します。そのモデルを構築する

ためには、次の二つの知識が必要となります。

どのような確率変数を用意して、それらにどのようなリンクを張るのか?

各確率変数にどのように条件付き確率を設定するのか?

これらの知識は例えば次の二つから得ることができます。

データセット

エキスパートの知識や経験

機械学習のアルゴリズムは近年様々な手法が開発されており、本システムにおいてもデータか

らモデルを自動構築する機能を備えております。しかし、モデル構造の探索空間はグラフのノ

ード数に対して指数オーダーとはるかに広大なため、データセットだけから最適な構造を発見

することは容易ではありません。そこで、人の知識や経験をデータセットとともにモデルに反

映する必要性が出てくるのです。

本システムはウィザード形式のインターフェイスを備え、初心者でも簡単にデータセットから

モデルを自動構築できます。さらに、人の知識や経験から各ノードに対する親候補などの条件

指定が簡単にできます。これらにより、データセットと人の知識の両方を用いてモデルを構築

ができるのです。

4.1.1 モデル構築の流れ

データセットが存在せず、エキスパートの知識や経験をモデル化したい時は次の図のような流

れになります。

Page 41: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

41

図 4.1 エキスパートによるモデル構築の流れ

エキスパートの知識からモデルを構築し、そのモデルで推論を行います。その推論結果を検証

し、さらにエキスパートと相談して、より良いモデルを構築していきます。

本システムは手動によるモデル構築・推論・評価などの機能を備えておりますので、上の試行

錯誤を本システム上で行なうことができます。

さらに、データセットが存在していれば、次のような流れになります。

図 4.2. データを用いたモデル構築の流れ図

前述のエキスパートの知識に加えて、データの知識も考慮に入れて試行錯誤していきます。以降で

説明するモデル構築ウィザードを用いれば、このような試行錯誤を本システムで行なうことができま

す。

Page 42: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

42

4.2 モデルの構成要素

ベイジアンネットワークのモデルは、確率変数をノードで表し、確率的な依存関係のあるノードにリン

ク(矢印)を張ります。以下の図は、病気("風邪?、"急性扁桃炎?")と症状("発熱?"、"発疹?"、"のどの

痛み?")との依存関係を表すモデルです。

図 4.3風邪と症状の関係モデル

各確率変数の値は、以下の表のとおりです。

確率変数 値

風邪? いいえ、はい

急性扁桃炎? いいえ、軽度、重度

発疹? いいえ、はい

発熱? いいえ、やや発熱、高熱

のどの痛み? いいえ、はい

"発熱"と"のどの痛み"があれば、"風邪"または、"急性扁桃炎"に罹患している可能性があり、さらに"

発疹"があれば、"急性扁桃炎"の可能性が高い、といったことを表現しています。

BayoLink で、このようなモデルを構成する要素について説明をします。

ノード

確率変数を表します。

ノードの状態名

Page 43: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

43

確率変数の値を表します。状態は[状態]パネルで操作します。また、[推論モニター]で確認す

ることもできます。

ノード名や状態名には使えない文字があります。詳細は『5.1.2使用禁止文字』をご参照ください。

リンク

ノードとノードの確率的な依存関係を表します。以下の例は"風邪?"をひくことと"のどの痛

み?"の間に確率的な依存関係があることを表しています。

図 4.4 リンクの例 "風邪?"→"のどの痛み?"

ツリー

ノードとその親ノードの組をツリーと呼びます。

図 4.5 ノード"A"のツリー

上図はノード"発熱?"のツリーで、"風邪?"、"急性扁桃炎?"の 2つの親が存在します。一つのノードに

は親の組み合わせが異なるツリーを作ることが可能です。例えば、ノード"発熱?"に以下の表のよう

に 4個のツリーを持たせることもできます。

Page 44: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

44

図 4.6 ノード"発熱?"のツリー構成

BayoLink ではノードのツリーを切り替えて、すなわち、親ノードの組み合わせを切り替えながらモデ

ルを検討することが可能です。

条件付確率表(CPT:Conditional Probability Table)

CPT とは Conditional Probability Table の略で条件付き確率表を意味します。ベイジアンネットワ

ークを作成するためには、各ノードでこの CPT を定義する必要があります。CPT を定義するには確

率値を直接入力する方法と、学習データから計算して割り当てる方法があります。

モデルのノード"発熱?"の CPT について説明します。

"発熱?"は"風邪?"と"急性扁桃炎"の二つのノードを親とします。これらの二つのノードの状態値はそ

れぞれ{いいえ,はい}、{いいえ、軽度、重症}です。従って、ノード"発熱?"の条件付き確率 P(発熱?|

急性扁桃炎?,風邪?)は以下の表のように 18個の値が必要です。

エキスパートの知識などにより確率値がわかっている場合は、この表にその値を直接入力します。

また、学習データがある場合は確率変数の出現頻度をクロス集計し、その値を正規化して CPTを算

出します。

4.3 モデルの操作

ベイジアンネットワークモデルの編集方法について説明します。

4.3.1 モデルの作成

空のモデルを作るには次のメニューを実行します。

Page 45: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

45

メニュー → [ファイル] → [新規作成…]

表示されたダイアログにモデルの名前を入力します。

図 4.7 モデルの新規作成ダイアログ

ダイアログの[OK] ボタンを押すと空のモデルが作成されます。

4.3.2 モデルの削除

モデルを削除するには次のメニューを実行し、モデルを開くダイアログを表示します。

メニュー → [ファイル] → [開く…]

モデルの一覧テーブルで削除したいモデルの行をクリックして選択状態にします。

そして右クリックのポップアップメニューで[モデルの削除]を実行します。複数の行を選択し

て、まとめて削除することも可能です。

図 4.8 “drink” モデルを削除する

削除を実行すると、ダイアログの[キャンセル]ボタンを押しても削除操作を取り消すことはできませ

ん。

4.3.3 名前の変更

モデルの名前の変更は次の手順で行います。

1. 名前を変更するモデルをグラフ構造パネルに表示する

2. グラフ構造パネルの何もない場所を右クリック、表示されたポップアップメニューで[モ

デル名の変更…]を実行する

Page 46: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

46

3. 『モデル名の変更』ダイアログで新しい名前を入力します。

4.3.4 モデルを開く

BayoLink に保存されているモデルは次の方法で開きます。

メニュー → [ファイル] → [開く…]

ツールバー の [モデルを開く] アイコンを実行

図 4.9 [モデルを開く]アイコン

保存したモデルの一覧がダイアログで表示されます。

図 4.10 [モデルを開く] ダイアログ

開くモデルの選択欄にチェックを入れて[OK]ボタンを押します。

4.3.5 モデルを閉じる

モデルを閉じるには次を実行します。

メニュー → [ファイル] → [閉じる]

ツールバー の [モデルを閉じる] アイコンをクリック

モデルが未保存の場合は、保存を確認するためのダイアログが表示されます。

Page 47: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

47

図 4.11 [モデルを閉じる] アイコン

4.3.6 モデルの保存

モデルの保存は次を実行します。

メニュー → [ファイル] → [保存]

ツールバー の [モデルの保存] アイコンをクリック

前面に表示されているモデルを BayoLink に保存します。

図 4.12 [モデルの保存]アイコン

4.3.7 モデルを全て閉じる

開いているモデルを一度に閉じるには次を実行します。

メニュー → [ファイル] → [全て閉じる]

開いているモデルを全て閉じます。未保存のモデルがあれば、保存するか確認します。

4.3.8 モデルを全て保存する

開いているモデルを一度に保存する場合は次を実行します。

メニュー → [ファイル] → [全て保存]

ツールバー の [モデルを全て保存] アイコンをクリック

開いているモデルを全て BayoLink に保存します。

図 4.13 [モデルを全て保存]アイコン

4.3.9 モデルのインポート

任意の場所にあるモデルファイル(たとえば旧バージョンのモデルファイル)や BIF 形式で保存され

たモデルファイルを開くにはモデルのインポートを利用します。

次のメニューを実行すると

メニュー →[ファイル] →[インポート…]

ファイル選択ダイアログが表示されるすので、開きたいモデルファイルを選択します。 するとモデル

がインポートされ BayoLinkに表示されます。

インポート可能なモデルファイルは次の形式となります。

Page 48: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

48

- Model File(*.xml)

旧バージョンで作成したモデルファイルを含む

- XMLBIF(*.bif)

インポートしたモデルは BayoLink にコピーされます。このためモデルを編集して保存しても、元のモ

デルファイルには変更内容が反映されません。元のファイルに変更内容を保存する場合は『モデル

のエクスポート』を実行し、インポートしたモデルファイルを再度指定してください。

インポート後は『モデルを開く』操作によって開くことができます。

既に同じ名前のモデルが存在する場合は、モデル名の変更を促すダイアログが表示されますので、

適切に名前を入力してください。

4.3.10 モデルのエクスポート

モデルを BIF 形式などの異なるファイルフォーマットで保存する場合や任意の場所にモデルを保存

するにはモデルのエクスポートを使います。

次のメニューを実行すると

メニュー→[ファイル] →[エクスポート]

保存先を選択するダイアログが表示されますので、保存先と保存形式を選択します。

エクスポート可能なモデル形式は以下です。

- Model File (*.xml) … BayoLink の標準形

- XMLBIF (*.bif) … XMLBIF 形式

- Model Structure(*.csv) … モデルインフォメーションファイル

- Hugin Net (*.net) … Hugin 形式のモデルファイル

- CSV Tree (*.csv) … モデルに含まれるツリー

- CSV Link (*.csv) … モデルに含まれるリンク

ファイル名とモデル名は同じでなければなりません。エクスポート時にファイル名を変更した場合に

は、モデル名も自動的に変更されます。

4.3.11 モデルと学習データの紐付け

構造学習で構築したモデルは元の学習データと紐付けされています。モデルと紐付いている学習デ

ータは[モデルを開く]ダイアログの[学習データ]に表示されます。

Page 49: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

49

画面に表示されているモデル(選択モデル)に紐付けされている学習データは、メニューバーの[デー

タ選択] の一覧にチェックマークが表示されます。

モデルを選択する際、紐付けされている学習データを自動的に選択することができます。(『5.2.5 デ

ータの自動選択』を参照)

4.4 モデルの配置

モデルのレイアウト(配置)方法は、『階層配置』、『円形配置』、『ばねモデル配置』の 3 つです。ツー

ルバーの以下に示すアイコンでモデルの配置を変更できます。

図 4.14 階層配置のアイコン。

(左から[階層配置],[円形配置],[ばねモデル配置])

4.4.1 階層配置

階層型配置(HierarchicalArrange)は、各ノードをネットワーク内のリンクの深さ(そのノードに到達

するまでに辿る最大のリンク数)が浅い(親ノードを持たない)ノードから順に、深さに応じた階層ごと

に配置するアルゴリズムです。ただし、サイクルを持つノードに対しては、そのサイクルにおける深さ

をランダムに決定することにより配置されます。同じ深さのノードは、同一階層に並列に配置されま

す。

階層配置についてのパラメータはプロパティダイアログの [一般] → [ノードの配置] → [階層配置]

で設定できます。設定項目としては以下があります。

項目名 値 内容

層の間隔 0 以上の実数値を指定 各ノード間の間隔を、全ノードの直径の平均

値に対する倍率で指定します。

配置方法 TopToBottom 画面の上側から下側に向けて配置します。

Page 50: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

50

4.4.2 円形配置

円形配置はモデルのノードを円形に配置します。

円形配置についてのパラメータはプロパティダイアログ の[一般] → [ノードの配置] → [円

形配置] で設定できます。設定項目としては以下があります。

4.4.3 ばねモデル配置

ばねモデルとはグラフレイアウト手法の一つであり、リンクをばねに見立て、繰り返し計算によりノー

ドを配置する方法です。ばねモデルではリンクの多いノードが中心に配置され、周囲にリンクの少な

いノードが配置されるという特徴があります。少数のノードにリンクが集中するようなネットワークの

表示に向いています。

LeftToRight 画面の左側から右側に向けて配置します。

項目名 値 内容

半径の設定 Auto または Manual “Auto” の場合、配置半径を自動的に設定する

“Manual” の場合、[半径] で設定した値を半

径して配置します。

半径 0 以上の実数値を指定 配置の半径。

[半径の設定] が “Manual” の場合に有効。

項目名 値 内容

初期配置 random

ランダムに配置した位置を初期値として、

ばねモデルの計算を行います。

none

現在の配置位置を初期値として、配置位置

の計算を行います。

描画領域のサイズ ScreenSize モデルを配置する領域の大きさを、現在表

示されているパネルの大きさにあわせま

す。

Auto

モデルを配置する領域の大きさを、モデル

の規模により自動的に設定します。

Manual モデルを配置する領域の大きさを、パラメ

ータ"描画領域の高さ"と"描画領域の幅"で

指定します。

領域の自動計算パラメ

ータ

1 から 5 を選択 描画領域のサイズ="Auto"にした場合に有

効です。値が大きいほど、領域を広げます。

Page 51: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

51

4.4.4 配置情報のインポート/エクスポート

グラフ構造パネルに表示されているノードの座標は、ファイルに保存し、またファイルから読み込むこ

とができます。同じデータから作成したモデルについて、配置を揃えるのに便利な機能です。

配置座標をファイルへ保存するには、次を実行します。

メニュー → [編集] → [配置情報の保存…]

グラフ構造パネルの何もない場所を右クリック

→ ポップアップメニュー → [配置情報の保存…]

『保存』ダイアログが表示されますので、保存するファイルを選択します。

配置座標をファイルから読み込むには、以下を実行します。

メニュー → [編集] → [配置座標を開く…]

グラフ構造パネルの何もない場所を右クリック

→ ポップアップメニュー → [配置座標を開く…]

『開く』ダイアロが表示されるので、配置座標を保存したファイルを選択します。

4.4.5 ネットワーク図を出力する

グラフ構造パネルに表示されているモデルは、様々なフォーマットでファイルに保存できます。またク

リップボードにコピーして、他のドキュメントに張り付けることもできます。

モデルの図をファイルに保存するには、以下の方法で行います。

メニュー →[編集] → [画像をファイルに保存]

以下のファイルフォーマットで保存できます。

GIF 形式

PDF 形式

EMF 形式

モデルの画像をクリップボードにコピーするには、以下の方法で行います。

メニュー → [編集] → [クリップボードに画像をコピー]

グラフ構造パネルの何もない場所を右クリック

→ ポップアップメニュー → [クリップボードに画像をコピー]

この操作で、グラフ構造パネルに表示されているモデルの画像が EMF 形式でクリップボードにコピ

ーされます。

描画領域の高さ 正の整数を指定 モデルを配置する領域の高さを指定しま

す。

描画領域の幅 正の整数を指定 モデルを配置する領域の幅を指定します。

配置モデルの計算回数 0 以上の整数を指

配置位置を繰り返し計算する際の最大の

計算回数です。

Page 52: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

52

モデル画像イメージの出力のパラメータは、プロパティダイアログ の [一般]→[イメージ出

力]で設定します。

項目名 解説

リンクの選択状態を出力する ノードが選択されたことにより、リンクの色が変化

するが、その状態を出力するかどうかを設定します。

ノードの選択状態を出力する 選択されたノードについて、選択カーソルをイメー

ジ出力するかどうかを設定します。

4.5 ノード

ノードの編集方法について説明します。

4.5.1 ノードの作成と削除

ノードの作成は次の方法で実行します。

グラフ構造パネルの何もない場所を右クリック

→ ポップアップメニュー → [ノードの作成]

図 4.15 ポップアップメニューの[ノード作成]

グラフ構造パネルで任意の位置をクリックするとノードが作成されます。

図 4.16 新規作成したノード

ノードの削除は以下の手順で行います。

削除したいノードを選択 → キーボードの[Delete] キー

削除したいノードを右クリック → ポップアップメニュー → [ノード削除]

Page 53: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

53

複数のノードを選択し、まとめて削除することも可能です。

4.5.2 名前の変更

ノードの名前の変更は次の手順で行います。

1. 名前を変更したいノードをグラフ構造パネルで選択します。

2. [ノード]パネルを開きます。

3. 上の[ラベル]欄に変更後の名前を入力します。

4. パネル下にある[プロパティの更新]ボタンを押します。

5.

図 4.17 ノード名を入力するテキストボックス

図 4.18 [プロパティの更新]ボタン

4.5.3 ノードの検索

ノード検索は以下のメニューで行います。

メニュー → [編集] → [ノード検索…]

グラフ構造パネルで何もないところを右クリック

→ ポップアップメニュー → [ノード検索…]

ノード検索ダイアログの[ノード名]欄に検索するノード名の一部を入力すると、その下の[検索結果]リ

ストに、入力したテキストにマッチする名前がリストアップされます。次その中から目的のノード名をダ

ブルクリックすると、グラフ構造パネルでそのノードが選択状態となります。

Page 54: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

54

図 4.19 ノード探索ダイアログ

4.5.4 ノードの詳細情報の表示

ノードの CPTやクロス集計表に関しての情報をノードの周囲に表示することができます。

プロパティダイアログを開き、 [ノードの規定値] → [詳細情報] で設定します。

[詳細情報を表示する]項目をチェックすると、ノード周辺に、そのノードの CTT(クロス表)や CPT(条

件付確率表)に関する情報を表示します。表示項目の設定は、[設定]タブで行います。項目名と表示

形式を以下に示します。

項目名 表示形式

クロスの値の平均値 avg=平均

クロス表のサイズ 縦×横

クロス表の値の最小値 min=最小値

ツリー数 T=ツリー数

CPT の有無 CPT(CPT が無い場合は赤色)

各項目では表示位置などを選択します。選択できる項目の値と内容は以下の通りです。

設定値 内容

hide 表示しない

ShowUpper ノードの上側に表示する

Page 55: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

55

ShowLower ノードの下側に表示す

ShowUpperAsWarning 警告のある場合のみノードの上側に表示する

ShowLowerAsWarning 警告のある場合のみノードの下側に表示する

[表の値の平均値]と[クロス表の値の最小値]に関しては、条件付確率表(CTT)の閾値と連動してお

り、設定した閾値以下になると赤色で表示します。閾値の設定は、「9.5.1 信頼性のチェック」をご参

照ください。また、[CPTの有無]の値について、推論が不可の場合には、赤字で表示されます。

図 4.20 ノードの詳細情報

図の例では、次の情報がわかります。

Tree を 1 つ保持している

CPT が無く、推論ができない

CTT の最小値が 0 で設定閾値以下である

CTT の平均値は 312 で設定閾値以上である

ノードの詳細情報がリンクの矢印の先端と重なる場合、リンクのスタイルを変更することで文字が読

みやすくなります。矢印のスタイルの変更は『4.7.2 リンクの向きを変更する』を参照して下さい。

図 4.21 リンクのスタイルの違い

(左)Arrow(Edge)、(右)Arrow(Middle)

4.5.5 ノードの表示設定(プロパティ)

ノードの色や文字設定を変更します。

ノードを選択 → ポップアップメニュー → [プロパティ…]

Page 56: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

56

図 4-22 ノードのポップアップメニュー

図 4-23 ノードのプロパティダイアログ

直接入力するときは

リターンで確定

Page 57: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

57

[OK] または [適用]ボタンでノードの表示が更新されます。[初期設定]を押すとダイアログの

設定項目が初期状態に戻ります。

項目名 内容

ノードの大きさ ノードの幅・高さを指定します。[サイズの自動調整]をチェ

ックすると文字列に併せてサイズを自動調整します。

色の設定 ノードの色(2 色のグラデーション) や文字列の色を指定し

ます。

フォントの設定 フォントのサイズ、スタイル、フォント名を指定します。

表示する文字数 ノードに表示するテキストの文字数を指定します。ノード

名がこの値より長ければ、省略されます。

一行あたりの文字数 ノード名がこの値より長ければ、折り返して表示されます。

ノードプロパティの初期設定はメニュー⇒[プロパティ] の [ノードの規定値] で設定します。

図 4.24 ノードの初期設定 のプロパティ

4.5.6 ノードプロパティの保存

ノードプロパティはファイルに保存できます。

ノードを選択 → ポップアップメニュー → [ノードプロパティの保存…]

また保存したプロパティは

ノードを選択 → ポップアップメニュー → [ノードプロパティを開く…]

から読み込みができます。

ノードプロパティは [ノード名、プロパティ] のセットを保存します。モデルに紐づいていな

いため、保存元とは別のモデルに対しても適用できます。

例えば、複数のモデルに同じ名前のノードが存在するとき、それぞれのモデルのノードを同じ

プロパティで統一できます。

Page 58: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

58

4.6 状態値

状態の編集方法について説明します。

作成したノードに状態値を作成するには、次の手順を行います。

状態の作成

1. 対象となるノードを選択する

2. [状態]パネルを開く

3. パネルの[状態の更新]ボタンを押す

状態を新しく作成した場合は ”S0”, “S2” のような状態名となります。

続いて状態名を変更するには、次の手順で行います。

状態名の変更

1. [状態について]の[インデックス] に ”0” を選択し、[名前]に状態名を入力する。

図 4.25 状態の入力欄

2. [状態プロパティの更新]ボタンを押す。

3. 続いて[インデックス]に ”1” を選択し、[名前]に状態名を入力し、[状態プロパティの更新]ボ

タンを押す。

4. さらに状態を追加する場合は、パネル下の[追加]ボタンを押し、[状態の更新]ボタンを押

す。

図 4.26 状態の追加・削除ボタン

5. [インデックス]に数値が追加されるので、追加されたインデックスに対して 1 と 2 の

操作を行う。

Page 59: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

59

4.7 リンク

4.7.1 リンクの作成と削除

リンクは次の方法で作成します。

リンクの出発元のノードを右クリック

→ポップアップメニューから[リンクの作成] を選択

リンクの出発元となるノードをクリックし、接続先のノードまでドラッグし、接続先のノードの上で離して

ください。

次の図は Node0から Node1に向かってリンクを引いています。

図 4.27 マウスドラッグでリンクを引く

Node1で矢印を離すと、以下のようにリンクが生成されます。

図 4.28 リンクが生成される

リンクの削除は次を実行します。

変更するリンクを右クリック

→ポップアップメニューから[リンク削除]を選択

Page 60: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

60

図 4.29 [リンクの削除]メニュー

4.7.2 リンクの向きを変更する

リンクの向きは次の方法で変更できます。

変更するリンクを右クリック

→ポップアップメニューから[リンク反転]を選択

4.7.3 CPT 更新

リンクの追加、反転を行うと CPT の再計算が必要となる場合があります。このようなノードには赤文

字で”CPT”と表示されます。CPTを再度作成するか、CPTの更新を行って下さい。CPT更新の方法

については『6.10CPT更新』をご参照ください。

4.7.4 リンクの表示設定

リンクの色や描画スタイルの変更は、プロパティダイアログの [ツリー] → [リンク] で行います。リン

クの形状は、[スタイル]で選択します。選択できる形状として、以下のものがあります。

スタイル名 解説

Arrow(Middle) リンクを矢印で描画します。中央に矢じりがあります。ノードの

詳細情報を複数項目表示する場合に適したスタイルです。

例)

Arrow(Edge) リンクを矢印で描画します。先端に矢じりがあります。

例)

Pennant リンクを 3 角形のポリゴンで描画します。親ノードから子ノード

へ向かって細くなります。

例)

リンクの色は[色]タブ設定します。設定できる項目として以下があります。

Page 61: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

61

項目名 内容

グラデーション(色 1) リンクの色の親ノード側の色

グラデーション(色 2) リンクの色の子ノード側の色

子ノード選択時の色 リンクの親ノードが選択されている場合の色

親ノード選択時の色 リンクの子ノードが選択されている場合の色

リンクの色は、[グラデーション(色 1)]び[グラデーション(色 2)]指定した、2 色のグラデーションで描画

されます。グラデーションではなく、単色で描画する場合は、これらを同じ色にします。

4.8 条件付き確率表(CPT)

条件付き確率表(以降ではCPTと呼びます)は構造学習やCPT更新を行うと、学習データから自動

的に作成されます。

一方で学習データがなくても、空の CPT を作成し任意の値を入力することも可能です。ただし、値が

適切に正規化されていないと推論が実行できません。

4.8.1 CPT の作成と編集

CPTは次の方法で作成します。

1. 対象のノードを選択し、属性パネルの[CPT]パネルを表示します。

2. パネルの[作成]ボタンを押します。

3. 空の CPT テーブルが表示されます。

4. テーブルのセルをダブルクリックすると編集モードになるので、値を入力します。

ノードの近くに CPT と赤色の文字が表示されている場合は、そのノードに CPT が生成されていない

か、適切に正規化されていないことを警告しています。

[確率表]欄から ”NormalizeCPT” を選択し、[実行]ボタンを押すと正規化を行います。手入力で確

率値を設定した場合は念のため正規化を実行しておきましょう。

4.8.2 学習データから CPT に値を入力する

学習データから CPT を計算し、値を入力することもできます。詳しくは『6.10CPT 更新』をご参照くだ

さい。

4.8.3 CPT のエクスポート/インポート

CPT を出力するには次の操作を行います。

グラフ構造パネルで対象ノードを右クリック

→ ポップアップメニュー → [CPT のエクスポート…]

[CPT]パネルの以下のアイコンをクリック

Page 62: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

62

図 4.30 CPTのエクスポート

選択したファイルに以下のようなフォーマットで出力されます。

P(気管支炎?|呼吸困難?,肺がん) 条件付確率の構成ノード

気管支炎?,はい,いいえ

呼吸困難?,はい,いいえ

肺がん?,はい,いいえ

気管支炎?,呼吸困難?,肺がん?,P(気管支炎?|...)

はい,はい,はい,0.2

いいえ,はい,はい,0.8

はい,はい,いいえ,0.5

いいえ,はい,いいえ,0.5

はい,いいえ,はい,0.6

いいえ,いいえ,はい,0.4

はい,いいえ,いいえ,1.0

いいえ,いいえ,いいえ,0.0

CPT をファイルから読み込む場合は次の操作を行います。

グラフ構造パネルで対象ノードを右クリック

→ ポップアップメニュー → [CPT のエクスポート…]

[CPT]パネルの以下のアイコンをクリック

インポートするファイルは CPT のエクスポートファイルをそのまま使用することができます。またイン

ポートファイルを手動で作成する場合は、以下のフォーマットで作成します。

Page 63: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

63

気管支炎?,呼吸困難?,肺がん?,P(気管支炎?|...) ← ヘッダー

はい,はい,はい,0.2

いいえ,はい,はい,0.8

はい,はい,いいえ,0.5

いいえ,はい,いいえ,0.5

はい,いいえ,はい,0.6

いいえ,いいえ,はい,0.4

はい,いいえ,いいえ,1.0

いいえ,いいえ,いいえ,0.0

ヘッダーの前にはコメントを記述できます。

ヘッダーとコメントの間は一行空けます。

ヘッダーには最初に子ノードの名前を記述します。

続いて親ノードの名前を記述します。

ヘッダー末尾の"P(気管支炎?|…)"は省略可能です。

ヘッダーから下の行は各ノードの状態値と対応する条件付確率値を記述します。

例えば上記例の 4 行目は以下の条件付確率を表しています。

P("気管支炎?"=はい|"呼吸困難?"=はい,"肺がん?"=いいえ) = 0.5

4.8.4 CPT のエントロピーの値

CPT の下に赤字で表示された値は、CPT のから算出したエントロピーです。エントロピーは

確率の曖昧さを数値化した指標です。(エントロピーの算出方法は『9.3.2CPT のエントロピー』

をご参照下さい。)

エントロピーは構造学習でモデルを構築したり、CPT 更新を実行すると、自動的に値が表示されま

す。CPT を手入力で変更した場合は、エントロピー欄が空になります。次の方法で入力した CPT で

エントロピーを計算することができます。

1. [CPT]パネルの[操作]欄で 『EntropiseCPT』を選択する。

2. 右の[実行]ボタンを押す

状態値と条件付き確率値

Page 64: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

64

4.8.5 クロス集計表(CTT)

構造学習や CPT 更新によりモデルを作成した場合には、CPT の元となるクロス集計表(CTT)が存

在します。CTT は次の操作で確認できます。

[CPT] パネルを開き、操作欄の[クロス集計]をチェックする

CPTモニターにクロス集計値が表示されます。

図 4.31 クロス集計表

ノードに学習データが割り当てられていない場合、

即ち手動で作成したノードについては、CTT は表示できません。

4.8.6 信頼度の表示

学習データからモデルを構築する場合 CTT を作成しますが、この CTT のサイズが大きくなると各セ

ルの頻度がとても小さくなり、それから計算した CPTは信頼度に欠けることになります。そのようなと

きにツリーの信頼度をチェックする機能が役に立ちます。

例えば、CTT の最小値に閾値を設定すると、その値よりも小さい場合は次のように赤く表示されま

す。

図 4.32. 信頼度に欠ける部分は赤く表示される

『 EntropiseCPT 』 を選

択し[実行]ボタンを押す

Page 65: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

65

さらに[CPT]パネルでのテーブルでは、次のように閾値以下のセルが赤く表示されます。

図 4.33. CTT 表示における信頼度の表示

この閾値はプロパティダイアログの[CPT] → [信頼性のチェック]で設定できます。

項目名 値 解説

平均値の閾値 0 以上の実数値を指定 CTT の平均値における閾値を設定。

最小値の閾値 0 以上の整数値を指定 CTT の最小値における閾値を設定。

4.8.7 CPT モニターの表示設定

CPT モニターの表示はプロパティダイアログの [CPT]→[モニター]で設定を変更できます。設定でき

る項目として、以下があります。

項目名 解説

グラフを表示する チェックすると CPT テーブルのセルの値を棒グラフで表示します。

カラム数の上限 CPT のカラム数がこの値を超える場合にはモニターを表示しませ

ん。CPT のサイズが非常に大きいとモニターの表示にも負荷がかり

ます。適度な値に設定することで表示の負荷を軽減できます。

値を表示する チェックすると CPT テーブルのセルに値を表示します。

また、CPTモニターの色の設定は[グラフの色]タブで変更することができます。設定できる項目として

以下があります。

項目名 内容

前景 値の色

背景 セルの色

グラデーション(色 1) 棒グラフの開始側の色

グラデーション(色 2) 棒グラフの終了側の色

Page 66: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

66

棒グラフの色は、[グラデーション(色 1)]および[ラデーション(色 2)]で指定した 2色のグラデーションで

描画されます。グラデーションではなく単色で描画する場合は、これらを同じ色にします。

4.8.8 使用禁止文字

プログラムの都合上、次の文字を使用することができません。

ノードの名前と状態値の名前

\ = “ : | (いずれも半角文字)

学習データファイルの名前

# % (いずれも半角記号)

※ 上記の他、”①⊿啞” などの機種依存文字 により文字化け等が発生する場合があります。

Page 67: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

67

5 学習データ

ここではモデルを作成するための学習データのフォーマットや BayoLink(単体機能)に学習データを

インポートし編集する方法について説明します。

本章では BayoLink(単体機能)の搭載しているデータの編集機能を説明します。データの加工は

VAPでより高度で多数の機能をご利用いただけます。VAP のマニュアルも併せてご参照ください。

5.1 学習データのフォーマット

5.1.1 フォーマット

学習データは次のような CSV ファイル

一行目がノード名

二行目以降がデータ行

もしくは同等のデータベースのテーブルがご利用頂けます。以下に具体例を挙げます。

表はクレジットカードの加入者についてのデータです。一行目の"年齢","年収","学生?","信用格付け

","コンピュータを購入?"という項目は、クレジットカードの加入者の属性項目です。二行目以降には、

個々の加入者について、属性項目に対する値が入っています。例えば三行目の人は、次のような属

性値をもつことがわかります。

年齢=30,収入=hight,学生?=no,信用格付け=excellent,コンピュータを購入?=no

Page 68: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

68

5.1.2 使用禁止文字

学習データの値で使用できない文字については、『5.1.2使用禁止文字』をご参照ください。

5.1.3 欠損値について

5.1.1 フォーマットで示した学習データは、いくつかのセルの値が空欄になっています。これ

らは欠損値とよばれ何らかの理由で値が欠けている状態です。

モデル構築時にはペアワイズかリストワイズの処理を選択することができます。

5.2 学習データのインポート

5.2.1 インポート

学習データからモデルを構築するには、学習データを BayoLink にインポートする作業が必要です。

学習データのインポートは[学習データのインポート]ウィザードで行います。[学習データのインポート

ウィザード]は次の方法で起動します。

メニュー → [データ] → [インポート]

ツールバー → [データのインポート] アイコンをクリック

図 5.1 [データのインポート]アイコン

Page 69: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

69

図 5.2 [学習データのインポート]ウィザード

Step1. 学習データの選択

最初のページでは、インポートする学習データを選択します。学習データとしては、CSV 形式のファ

イルまたはデータベースが利用できます。

CSV形式のファイルを利用する

CSV形式のファイルを使う場合、[学習データの選択]欄で[CSV]をチェックします。

図 5.3 CSV形式ファイル名を入力するパネル

[参照]ボタンを押すとファイルを選択するダイアログが表示されます。インポートするファイルを選択

します。下の[データビュー]欄に学習データファイルの冒頭から 100レコードが表示されます。

Page 70: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

70

図 5.4 データビュー

データベースを利用する

BayoLink でデータベースを利用する場合は、事前に JDBC ドライバーの準備が必要です。詳しくは

『5.5データベース』をご参照ください。

データベースのテーブルをインポートするには場合、[学習データの選択]欄で[DataBase]をチェック

します。パネルの表示が次のように切り替わります。

図 5.5 データベースの入力パネル

以下の項目を入力します。

URL : 利用するデータベースに合わせて選択

<HOST>(ホスト名)、<PORT>(接続先ポート番号)、<DBNAME>(接続先のデータベー

ス名) を変更する。

例 1) ローカル PC の MySQL で、データベースの名前が “sample”の場合、

jdbc:mysql://localhost/sample

例 2)“bayes” という PCの MySQL、ポート番号が 3306 データベースの名前が

“sample” の場合、

jdbc:mysql://bayes:3306/sample

User: データベースにログインする際のユーザー名

Password: データベースにログインする際のパスワード

Page 71: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

71

[候補表示] ボタンを押すとデータベースに接続し、該当するデータベースに含まれるテーブル名の

リストが表示されます。リストから学習データを選択すると、[from]欄に名前が入力されます。

図 5.6 データベースの入力例

指定したテーブルに不要なカラムがある場合は、[カラム選択]をチェックします。次に左の[候補表示]

ボタンを押すとカラムがリスト表示されますので、この中から必要なカラムを選択します。

[カラム選択]のチェックがない場合は、全てのカラムをインポートします。

図 5.7 インポートするカラムを選択する

学習データを選択したら、[次へ]ボタンを押します。

学習データの値を編集する必要がない場合は、[ここまでの設定で実行]ボタンを押します。学習デー

タがインポートされ、ウィザードも終了します。

Step2. 値の編集

2ページ目では学習データの値について編集を行います。

Page 72: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

72

図 5.8 ノードの値を編集する

テーブルでノードを選択し右クリックするとポップアップメニューが表示されます。

図 5.9 ノードの編集メニュー

学習データの編集はこのメニューから行います。編集については、『5.3 学習データの編集』で詳しく

説明します。

編集後、[終了]ボタンを押します。次のダイアログが表示されます。

Page 73: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

73

図 5.10 学習データの登録名の入力ダイアログ

『学習データの登録名』 はBayoLinkでのこのデータの識別名になります。学習や検証でデータを利

用する際には、登録名を指定します。登録名を別の名前に変更する場合は、ダイアログに変更後の

値を入力します。

一度インポートしたデータは、削除しない限り BayoLink で参照し利用できます。BayoLink を終了し

再度起動しても再インポートする必要はありません。

5.2.2 インポート済みの学習データの選択

学習データは複数のデータがインポートでき、そのうちの一つを選択して構造学習や CPT 更新に適

用します。学習データの選択は次の方法で行います。

メニュー → [データ] → [選択…] を実行

[学習データの一覧]ダイアログのテーブルから選択するデータの[選択]項目をチェックします。

図 5.11 学習データの一覧テーブル

5.2.3 インポート済みの学習データの削除

インポートした学習データを BayoLink から削除するには、次の方法で行います。

メニュー → [データ] → [選択…] を実行

[学習データの一覧]ダイアログのテーブルからで削除するデータの行を選択状態にします。右クリッ

クのポップアップメニューの[学習データの削除]を実行します。

Page 74: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

74

図 5.12 学習データの削除

ポップアップメニューの削除を実行すると、ダイアログの[キャンセル]ボタンを押しても削除操作を取

り消すことはできません。

この操作では、BayoLinkでインポートした設定内容が削除されます。学習データのCSVファイル自

体は削除されません。

5.2.4 学習データの名前を変更する

学習データの登録名は次の方法で変更します。

メニュー → [データ] → [選択…] を実行

[学習データの一覧]ダイアログのテーブルから名前を変更したいデータの[ID]項目をダブルクリックし

ます。

図 5.13 ID項目をクリックして入力する

セルが入力状態になりますので新しい名前を入力します。

5.2.5 データの自動選択

構造学習で構築したモデルについて、作成元のデータセットと紐付けがされている場合、モデ

ルを表示するときに作成元のデータセットを自動選択することができます。メニューの以下の

項目をチェックすると、自動選択がされます。

メニュー → [データ] → [データの自動選択]

Page 75: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

75

5.3 学習データの編集

インポートした学習データは、ノードの名前や状態名を編集することができます。ただし、この編集操

作ではインポート元の学習データソースを変更することはありません。

編集は[学習データのインポート]ウィザードまたは、[学習データの編集]ウィザードより行います。[学

習データの編集]ウィザードは以下で表示されます。

メニュー → [データ] → [編集…]

5.3.1 ノード名の変更

ノード名は次の方法で変更します。

1. [学習データの編集]ウィザードの二ページ目へ進む。

2. [ノードの設定]テーブルで、編集したいノードの行を選択し、

ポップアップメニューで[ノード名の変更]を実行する。

図 5.14 ノードを編集するポップアップメニュー

3. [ノード名]セルが編集モードになる。新しい名前を入力しリターンキーを押す。

図 5.15 ノード名を”Alarm” から “警報” に変更

5.3.2 型の変更

ノードは学習データに含まれる値によって次の二つの型に自動的に分類されます。

文字列型

値に文字列が含まれる場合。または数値のみの値で状態数が 10 より小さい場合

数値型

Page 76: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

76

値が数値のみで、かつ状態数が 10 以上の場合

数値型のノードについては、型を文字列型に変更することが可能です。文字列型に変更すると、値を

そのまま状態値として扱います。また、自動離散化の対象から外すことができます。自動離散化の

詳細については『5.3.4数値の離散化』をご参照ください。

逆に文字列型で値が数値のみの場合は、数値型に変更するできます。値と設定できる型について

以下の表にまとめます。

値 例 文字列型 数値型

文字と数値 {はい,いいえ} ,{case0,case1} ○ ×

数値のみ(10 種類未満) {1,2,3,4} ○(初期値) ○

数値のみ(10 種類以上) {35,24,60,19,41,37,56,76,54,43,…} ○ ○(初期値)

型の変更は次の方法で行います。

1. [学習データの編集]ウィザードの二ページ目へ進む。

2. [ノードの設定]テーブルで、編集したい数値型のノードの行を選択し、

ポップアップメニューで[文字列型に変更]を実行する。

図 5.16 文字列型に変更

5.3.3 値の編集 (文字列型)

文字列型ノードの状態値は次の方法で変更できます。

1. [学習データの編集]ウィザードの二ページ目へ進む。

2. [ノードの設定]テーブルで、編集したいノードの行を選択し、

ポップアップメニューで[値の編集]を実行する。

[値の編集]ダイアログが表示されます。

Page 77: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

77

図 5.17 [値の編集]ダイアログ

3. 右側の[値]リストから編集する項目を選択し、[ラベル]欄に変更名を入力する。

図 5.18 値を選択してラベルに変更名を入力する

4. [追加]ボタンを押すと左側のパネルに変更内容が表示される。

図 5.19 “false” を “いいえ” に変更

編集作業が終了したら、ダイアログの[OK]ボタンを押します。[ノードの一覧]テーブルには変更した

値が表示されます。

Page 78: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

78

図 5.20 状態値が編集した値になる

[値の編集]機能では複数の値をグループ化して表現することも可能です。

例えば、『りんご』、『バナナ』、『みかん』という状態値をまとめて『果物』という状態に置き換えることも

できます。複数の値を変換する場合は、以下のように[値]リストで複数項目を選択します。

図 5.21 複数の状態値をグループ化して表現

5.3.4 数値の離散化

値が数値データの場合は離散化して範囲ごとに分割できます。離散化する区間は K-means などの

アルゴリズムにより自動計算が可能です。また、任意の区間を手動で入力することも可能です。

数値の離散化は VAPの離散化アイコンもご利用いただけます。

離散化区間を計算で求める

離散化区間を計算により求める場合は次の手順を行います。

1. [ノードの設定]テーブルで型が『数値』のノードの行を選択する。

2. ポップアップメニューで[自動離散化…] を実行する

3. [離散化の設定ダイアログ]が表示される。

4. 分割方法や分割数を設定して OK ボタンを押す。

[Ctrl]キーを押しな

がら選択

Page 79: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

79

図 5.22 離散化の設定ダイアログ

テーブルの下の[全て離散化]ボタンを押すと、テーブルに表示されている[数値タイプ]のノードをまと

めて離散化することが可能です。ただし、数値型のノードの型を文字列型に変更すると、[全て離散

化]の対象にはなりません。

図 5.23 テーブルの数値ノードをまとめて離散化するボタン

自動離散化の設定について以下で説明します。

分割方法 … 離散化の分割アルゴリズムを指定します

分割数 … 分割する区間数、分割後の状態数となります

区間の丸め … 分割境界値の丸め位置を設定します

離散化区間を手動で指定する

離散化する区間を任意に設定するには、次の方法で行います。

1. [学習データの編集]ウィザードの二ページ目へ進みます

2. [ノードの設定]テーブルで、編集対象の数値型ノードの行を選択し、

ポップアップメニューで[値の編集]を実行する。

Page 80: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

80

図 5.24 数値型の値の編集

数値型ノードの場合は以下の編集ダイアログが表示されます。

図 5.25 離散化区間を入力するダイアログ

初期状態ではデータの最小値から最大値を 2区間に分割するテーブルが表示されています。このま

ま 2 区間で分割するのであれば、一行目の[終了]項目に適当な境界値を入力します。二行目の[開

始] 項目に自動的に境界値が入力されます。

境界値(45)を入力し

リターン

自動的に値が入力される

Page 81: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

81

上の例の場合には、データは次の二つの区間に離散化されます。

・ 19.0 以上, 45.0 以下

・ 45.0 より大きい 75.0 以下

区間は[追加] ボタンで増やすことができます。また最初の区間のみ、[開始]値を省略できます。以下

の場合は、20 以下の値は最初の区間に入ります。同様に最後の区間は[終了]値を省略できます。

ラベルの値は変更することができます。変更したいラベルのセルをダブルクリックすると編集モードに

なりますので、任意の値を入力します。

図 5.26 離散化区間のラベルの変更例

5.3.5 欠損値を定義する

学習データで空欄(ブランク) があると欠損値として扱われます。ブランク以外のものを欠損

値とする場合は、以下の方法で指定します。

[ノードの設定] テーブルで該当するノードの[欠損値] 列に、欠損と扱う値を入力します。

またテーブルの下の[欠損値] 欄で 全ノードに対して、同じ値を一括で指定することも可能で

す。

値を入力してリターン

値を入力し

て追加ボタ

ンを押す

Page 82: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

82

5.4 学習データのエクスポート

『学習データのエクスポート』は『学習データの編集』で設定した内容で、別のデータを変換する機能

です。

この機能は例えば次のような場面で利用します。

サンプルの『Alarm』 データを編集機能で日本語に変換し、モデルを構築したとします。

このモデルを Excelアドインで推論するには、推論データも同じ値に編集しなければなりません。

『学習データのエクスポート』を使うと、『Alarm』データの値を編集した内容に(つまり全て日本語に)

変換します。

[学習データのエクスポート]は次の方法で実行します。

メニュー → [データ] → [エクスポート…]を実行する

[データ変換ダイアログ]が表示されます。

図 5.27 データのエクスポートダイアログ

Page 83: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

83

[変換ファイル]には変換したいファイルを指定します。[出力ファイル]には変換したデータを出力する

ファイルを指定します。

5.5 データベース

モデルの自動構築の学習データとして JDBC に対応するデータベースがご利用頂けます。データベ

ースを使用するには、対応する JDBC ドライバーをインストールする必要があります。以下では SQL

Server 2008を使用する際の設定方法について説明します。

データベースは VAPからもご利用いただけます。

JDBC のダウンロード

SQL Server 2008 は次の JDBC ドライバーが対応しています。

「Microsoft SQL Server JDBC Driver 2.0」

これを Microsoft のダウンロードサイトよりダウンロードします。

ドライバーのインストール

ダウンロードファイルを解凍し、sqljdbc.jar を

<BayoLink インストールパス>¥lib¥ext

にコピーします。

データベースの設定

BayoLink のデータベース情報の入力欄で、次のように指定します。

Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver

URL:jdbc:sqlserver://<HOST>:<PORT>;DatabaseName=<DBNAME>

User: <USERNAME>

Password: <PASSWORD>

<HOST>:SQLServer が稼動しているマシンのホスト名あるいはアドレス

<PORT>:ポート番号。通常 SQLServer では通常 1433

<DBNAME>:接続先のデータベース名

※ データベースとの連携は VAP からも可能です。詳しくは VAP マニュアルをご参照くだ

さい。

Page 84: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

84

6 BayoLink 単体機能~構造学習

学習データからベイジアンネットを構築することを『構造学習』と呼びます。BayoLink では構造学習

ウィザードを使って構造学習を行います。ここではその構造学習ウィザードについて詳細に解説しま

す。

構造学習を実行する前には学習データのインポートを実施しておく必要があります。学習データのイ

ンポートについては『5学習データ』をご参照ください。

6.1 構造学習の手順

構造学習は次の操作より実行します。

メニュー → [モデリング] → [構造学習]

ツールバー → [構造学習]アイコンをクリック

Step.1 モデル名の入力

構造学習で作成するモデルの名前を入力します。

Step.2 ノードの選択

モデル名の入力が終わると構造学習ウィザードが表示されます。

最初のページではノードを選択します。使用しないノードがあれば、選択テーブルの[選択]項目のチ

ェックを外します。

Page 85: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

85

Step.3 ノードの制約条件の設定

最初の状態では全てのノードが親をもたない設定です。このまま学習を実行するとリンクのないモデ

ルが生成されます。

パネルの左下のボタンで全てのノードについてまとめて条件が設定できます。

Page 86: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

86

[全て候補]ボタンを押すと、全ノードが候補親に設定されます。モデルの構造について何も知見がな

い場合は、[全て候補]の設定で構造学習するとよいでしょう。

制約条件の設定方法についての詳細は、『6.2制約条件の設定方法』を参照して下さい。

Step.4 学習パラメータの設定

3ページ目では学習のパラメータを指定します。

各パラメータの詳細については『6.3 学習のアルゴリズム』以降をご参照ください。

[終了]ボタンで構造学習が始まりモデルが構築されます。

6.2 制約条件の設定方法

[制約条件の設定]ページで個々のノードに候補親を設定するには、次の操作を行います。

テーブルの ”親 1”,”親 2”,… 項目から親候補にするノードのセルを選択し、右クリックで表

示されるポップアップメニューから[候補]を選択します。

Page 87: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

87

親候補に設定されたノードはセルが水色になります。

以下のように複数のセルを選択してまとめて設定を行うことも可能です。

図 6.1 “結核”,”肺がん?”,”気管支炎?” の条件をまとめて設定

また、[ノード名]の値をクリックするとその行が選択されます。さらに右クリックで表示され

るポップアップメニューの[候補]を実行すると、自分以外の全てのノードを候補親にできます。

図 6.2 一行を選択して条件を設定

必須親や禁止親を設定する場合も上記と同じくテーブルのポップアップメニューを使います。

必須親に設定すると、セルは赤色となります。

セルを選択して右クリック

離れた領域は[Ctrl]キー

を押しながら選択する

[ノード名]の位置で選択

する

Page 88: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

88

6.2.1 モデルインフォメーションファイル

構造学習における制約条件の設定はファイルに保存することができます。またファイルを読み

込んで設定することも可能です。この制約条件を記述するファイルを『モデルインフォメーシ

ョンファイル』と呼びます。

モデルインフォメーションファイルは[制約条件の設定] ページでテーブルの右下のボタンか

ら保存と読み込みができます。

図 6.3 モデルインフォメーションファイルの保存と開くボタン

モデルインフォメーションファイルは CSV 形式のファイルで、モデル構築に使用するノード

とその親ノード候補を記述します。

図 6.4 モデルインフォメーションファイルの例

先頭列に子ノード、それ以降の列には親候補を記述します。例えば、結核?ノードの親候補と

してアジア訪問経験・喫煙者?・レントゲン検査の三つを指定したい場合は、次の行を追加

します。

結核? アジア訪問経験 喫煙者? レントゲン検査

Page 89: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

89

さらに、必須親にはノード名の頭に *(アスタリスク)、禁止親候補には / (スラッシュ)を

付けます。禁止親候補を設定するのと、そのノード名を書かないことは同じ意味になります。

スラッシュはそのセルのコメントアウトと理解してください。

結核? *アジア訪問経験 /喫煙者? レントゲン検査

6.3 学習のアルゴリズム

[アルゴリズム] は構造学習における探索アルゴリズムです。以下の項目から選択できます。

Greedy Search – 欲張り法

Stingy Search – けちけち法

全探索

6.4 評価基準

学習で使う評価基準を選択します。以下の項目から選択できます。

AIC - 赤池の情報量

C4.5

CHM - Cooper-Herskovits Measure

MDL - 最小記述長

ML - 最大対数尤度

評価基準についての詳細は、『9.1.2 評価値の算出』を参照して下さい。

6.5 学習の打ち切り条件

[探索の終了条件に追加する項目] は、構造学習の途中で CTT の値がある閾値以下になった場

合に構造学習を終了させる機能です。

以下の項目から選択できます。

クロス集計表の最小値が閾値以下になったら探索を終了する

閾値は 0 以上の整数を指定します。デフォルト値は 4 です。

クロス集計表の平均値が閾値以下になったら探索を終了する

閾値は 0 以上の実数を指定します。デフォルト値は 0.01 です。

なし

この設定は例えば次のような場面で利用します。

Greedy Search アルゴリズムでは、評価基準を最も大きく改善する親を一つずつ追加していき

ます。この操作を評価基準の値が改善する限り続けるのですが、この過程で CTT はどんどん

Page 90: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

90

粗になります。構造学習の打ち切り機能を利用すると、CTT の要素数に制限を加え、CTT の

充填率を維持するように構造学習を行うことができます。

6.6 欠損値処理

学習データの欠損値の処理方法を設定します。次の項目から選択できます。

ペアワイズ法

リストワイズ法

6.7 正規化

CTT を正規化する手法を選択します。以下の項目から選択できます。

ML

学習データから CTT を作成し、各セルの値を各列のサンプル数で割る

MAP

CTT の全セルの値が 1 の状態を初期状態とし、これに学習データを足し合わせてから

ML と同様の計算を行う

AUTO(MAP または ML から選択)

CTT の中に閾値以下のデータがある場合には、MAP を適応し、その他の場合は ML

を適応する。

正規化の計算方法は 『9.3 正規化』をご参照下さい。

6.8 構造学習のプロパティ設定

構造学習では以下のプロパティが設定できます。

項目名 解説

学習の終了後にモデルを

自動保存する

チェックすると構造学習の終了とともにモデルを自動的に

BayoLink に保存します。

循環を回避する モデル構築ウィザード終了後に、モデルに対して循環回避コマ

ンドを実行するかどうかを指定します。チェックを off にする

と、モデルに循環があってもリンクは削除されません。

マルチスレッド数を自動

設定する

チェックすると構造学習で使用するスレッド数として、CPU の

コア数を割り当てることができます。

学習アルゴリズムで使用

するマルチスレッドの数

構造学習で使用するスレッド数を指定します。

[マルチスレッド数を自動設定する]項目がチェックされない場

合に有効です。

Page 91: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

91

6.9 学習データからノード作成する

インポートした学習データから、ノードを作成する機能について説明します。作成されたノード間に手

動でリンクを引くことでモデル構築が行えます。

次のメニューを選択すると

グラフ構造パネルの何もない場所を右クリック

→ ポップアップメニュー → [データからノードの作成]

ノードを選択するダイアログが表示されます。作成したいノードの選択項目をチェックします。

追加するノードの名前が既にモデルに存在する場合は、次のような確認メッセージが表示されます。

上書きすると、ノードの状態値や確率分布が新しいデータで更新されます。また上書きされるノード

にリンクがあると、CPTの更新が必要となる場合があります。

6.10 CPT 更新

構造学習や手動で構築したモデルは、後から CPT の値を学習データで再計算することができます。

これを『CPT更新』と呼びます。

CPT更新の学習データ

CPT 更新に適用できる学習データは、構造学習で使った学習データと同じである必要はありませ

ん。モデルと同じ名前のノードが含まれていれば、学習を行うことが可能です。

ただし学習方法によっては次のような条件があります。

『上書き学習』の場合

対象ノードについて、ノード名と状態値がモデルと一致していること

例えば、次のような場合は CPT更新ができません。

例 1:ノード名の不一致

・モデルのノード: Alarm

Page 92: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

92

・データのノード:alarm

例 2:学習データにノードに存在しない値が出現

・モデルのノード:Alarm 、状態値: TRUE,FALSE

・データのノード:Alarm、 状態値:TRUE,FALSE,NONE

対象ノードについて、その親ノードが全て学習データに揃っていること

かつ、状態値がモデルと一致していること

6.10.1 CPT 更新の手順(ダイアログから)

ここでは CPT 学習をダイアログから実行する方法を説明します。次の手順で行います。

1. CPT を更新するための学習データをインポートする。

またはインポート済み学習データの中から選択する。

2. メニュー ⇒ モデリング [CPT 更新] で CPT 更新ダイアログを起動する。

またはツールバーの以下のアイコンから起動する。

図 6.5 [CPT 更新]アイコン

Page 93: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

93

6.10.2 設定項目

欠損値の扱い

欠損値を穴埋めするかどうかを指定します。

欠損値の補完なし

ノードの CPT の算出する際にカウントしません。

欠損値の補完あり

更新するノードを

選択する

更新方法を選択

欠損の扱い

を選択

OK で実行

直接入力するときは

リターンで確定

Page 94: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

94

学習データの欠損値を EM アルゴリズムにより補完します。

[欠損の補完なし] のパラメータ

欠損値が含まれる行の扱い方法を選択します。ペアワイズ法 と リストワイズ法から選

択できます。

[欠損の補完あり] のパラメータ

EM アルゴリズムによる繰り返しの上限値を指定します。

CPT を更新する際の初期モデルを指定します。

対象モデルの CPT : 更新する前のモデルの CPT を初期値とします。

ランダム : 乱数により CPT の値をランダムにします。

CPT の初期化 = ランダムの場合の乱数のシードを指定します。

正規化手法

詳細は 『正規化』を参照すること。

6.10.3 CPT 更新の手順 (ポップアップメニューから)

CPT 更新はグラフ構造パネルのポップアップメニューからも実行できます。

1. CPT を更新するための学習データをインポートする。

またはインポート済み学習データの中から選択する。

2. 更新対象のノードを選択する(複数選択も可)

3. そのまま右クリックし、ポップアップメニューから[CPT 更新] を実行する

または、ツールバーの以下のアイコンをクリックする。

ポップアップメニューでは以下のパラメータで更新を行います。

更新方法 : 上書き学習

欠損値の扱い : リストワイズ

正規化手法 : プロパティ ⇒ [CPT] ⇒[正規化] の設定

直接入力するときは

リターンで確定

直接入力するときは

リターンで確定

Page 95: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

95

6.10.4 DCNode の CPT 更新

旧バージョンで構築したモデルにDCNodeが含まれる場合、DCNodeもしくはDCNodeを親に持つ

ノードの CPT更新を行う場合には次の操作が必要です。

学習対象のデータをモデルの DCNode と同じ区間で離散化する

この場合は手動で区間を設定する必要があります。操作は次の手順で行います。

1. 学習対象のデータのインポートし、インポートウィザードの 2 ページ目へ進む

- データが既にインポートされている場合は、

学習データを選択してから、

メニュー → [データ] → [編集…] で編集ウィザードの 2 ページ目へ進む

2. テーブルから DCNode に該当する数値型ノードを選択し、ポップアップメニューか

ら[値の編集…]を開く

3. モデルの DCNode と同じになるように区間を入力する

- ラベル名も編集し、モデルの状態値と完全に一致するように名前を変更する。

4. 学習データの編集を終了し、CPT 更新を実行する。

Page 96: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

96

7 BayoLink 単体機能~確率推論

確率推論とは観測結果を証拠状態として設定し、それ以外の変数の事後確率分布を計算することで

す。この章では、この操作方法について説明します。

7.1 操作手順

確率推論の操作手順は次のとおりです。

証拠状態の設定

確率推論実行

7.2 証拠状態の設定

各ノードの[推論モニター]を表示して、観測結果や既知のデータを証拠状態として設定します。

推論モニターは次の方法で表示します。

ツールバー → [全ての推論モニターを表示する] ボタンを押す

ノードを右クリックし、

ポップアップメニューの[推論モニターの表示] を選択する

図 7.1. 推論モニターの表示

この推論モニター上で証拠状態を設定します。設定したい状態値の上で右クリックしてください。例え

ば、上記の変数 RAtest の状態 Positive に証拠状態を設定すると色が変わります。設定を解除す

るにはさらに右クリックを行います。

7.2.1 推論実行

全ての証拠状態の設定が終われば、推論を実行します。推論の実行はツールバーのアイコンを

クリックするか、もしくはメニュー → [推論] → [推論の実行]から行います。

計算が終わると推論モニターで、各状態の確率値が更新されます。この計算からは次のことが

分かります。

RA テストが陽性と判定された人のうち、RA である人の割合は 0.2122 である

Page 97: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

97

7.3 推論の設定

7.4 推論アルゴリズム

推論のアルゴリズムには次の二つが実装されています。

MSSM

Modified systematic sampling method は近似解法ですが、ネットワークの複雑さ (ノ

ードの数、状態の数、CPT 値の大きさ) に応じて、十分なサンプル数を与えることに

より厳密な解を得ることが保証されています。

loopyBP

Loopy Belief Propagation アルゴリズムは解が要求精度に収束するまで局所的に確率

伝播を繰り返す近似解法です。単結合のネットワークでは真の解への収束が保証され

ています。また複結合のネットワークの場合については「近似的な解に収束しない場

合の多くは値が振動するため判別が容易である」という性質が経験的に示されていま

す。

推論アルゴリズムは プロパティダイアログの[推論] → [アルゴリズム] で切り替えることができま

す。

7.4.1 MSSM アルゴリズム

MSSM アルゴリズムのパラメータはプロパティダイアログ → [推論] → [MSSM]で設定が変更でき

ます。

項目名 解説

タイプ SAMPLE または PRECISION を指定します。

PRECISION を指定した場合は、事後確率が指定の精度に収束す

るまでサンプル数を増やして推論を繰り返し実行します。

解の要求精度 タイプ = PRECISION の場合のみ有効

解の要求精度を正の整数値で指定します。例えば 4 に設定すれば

Page 98: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

98

410 の精度に収束するまで反復を繰り返します。

サンプル数 タイプ = SAMPLE の場合

サンプルの数を 1 以上の数値で指定します。サンプル数を大きく

すれば、近似の精度は高くなります。

タイプ = PRECISION の場合

反復の一回目のステップにおけるサンプル数、また反復における

サンプル数の増分です。よって n 回目のステップのサンプル数は

「n×samplecount」となります。

この値が小さいとステップ間で差が現れず、厳密解でない値で反

復が停止する可能性があります。

7.4.2 loopyBP アルゴリズム

loopyBP アルゴリズムのパラメータはプロパティダイアログ → [推論] → [loopyBP]で設定が変更

できます。

7.5 推論結果の CSV ファイルへの出力

推論結果を CSV ファイルに出力することができます。メニュー [推論]→[推論の結果の保存…]を選

択します。ファイルダイアログから保存先を指定してファイルに出力します。出力形式は左から順に、

変数名・状態名・事後確率値・証拠状態か?(証拠状態のとき true)、となっております。下図は例題

の推論結果の出力例です。

図 7.2 推論結果の出力例

項目名 解説

解の要求精度 事後確率に対する要求精度を指定します。例えば 4 に設定すれ

ば410 の精度に収束するまで反復を繰り返します。

反復の条件 アルゴリズムの反復回数の限界を指定します。アルゴリズムの

反復回数が (指定の数値 × ネットワークのノード数) を超え

ると、収束しなかったとみなし計算を停止します。

Page 99: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

99

7.6 推論モニター

ここでは推論モニターの機能や表示設定について説明します。

7.6.1 推論モニターの機能

推論モニターには [Simple Mode]と[Advanced Mode]があり、メニュー[Mode]により切り替えます。

どちらのモードでも証拠状態の設定ができます。

図 7.3 推論モニター(Advanced Mode)

7.6.2 Simple Mode

Simple Mode の機能について説明します。

証拠状態にしたい状態値の上で右クリックしてください。そうすると、その状態値の色が変わ

ります。

右クリック!

さらに、ソフトエビデンスを指定するには、棒グラフの先頭をドラッグすることにより任意の

値に設定することができます。ドラッグを終了すると自動的に正規化します。

ドラッグ!

7.6.3 Advanced Mode

Advanced Mode の機能について説明します。

Page 100: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

100

Advanced Mode について、テーブルの項目と内容は、以下のとおりです。

項目名 内容

状態名 状態名を表示

値 Simple モードの[値]と同じ働きをする

入力 セルをダブルクリックすると、数値を入力できる

証拠状態 ハードエビデンスを設定するときにチェックする

正規化 チェックを入れると、ある状態にソフトエビデンスを設定した場合、正規

化の対象となる。逆にチェックが無ければ正規化の際に値が変わらない。

但し、全ての状態のチェックが外れている場合やチェックがある状態だけ

では正規化が不可能な場合は、その限りではない。

テーブル左側のチェックボックスについて説明します。

図 7.4 推論モニターのチェックボックス

項目と内容は以下のとおりです。

項目名 内容

証拠状態のセット 証拠状態のオンオフを切り替える。

正規化 手動:ソフトエビデンスを設定した場合などに、正規化しない。

自動:ソフトエビデンスを設定した場合などに、自動的に正規化する。

Page 101: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

101

7.6.4 推論モニターのプロパティ設定

推論モニターの表示は、プロパティダイアログの[推論]→[モニター]で設定します。

設定できる項目を以下に示します。

項目名 解説

値を表示する チェックすると推論モニターのセルに値を表示します。

グラフを表示する チェックすると推論モニターのセルの値を棒グラフで表

示します。

表示するレコード数の上限数 推論モニターに表示するレコード数を指定します。レコー

ド数がこの値より多い場合は、複数のページに分けて表示

します。

また、推論モニターの色の設定は、[グラフの色]タブで変更することができます。設定できる項目とし

て以下があります。

項目名 解説

前景 値の色

背景 セルの色

証拠状態 証拠状態が設定された状態の棒グラフの色

グラデーション(色 1) 棒グラフの開始側の色

グラデーション(色 2) 棒グラフの終了側の色

棒グラフの色は、[グラデーション(色 1)]及び[グラデーション(色 2)]で指定した、2 色のグラデーション

で描画されます。グラデーションではなく、単色で描画する場合は、これらを同じ色にします。

7.7 Excel アドインによる確率推論

BayoLink の確率推論は Microsoft Office Excelのアドインから実行することもできます。このアドイ

ンは Excel のシートに記入されたデータを使って推論を実行し、推論結果をシートに出力します。使

用方法などの詳細は「Excel アドインマニュアル」をご参照ください

Page 102: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

102

8 BayoLink 単体機能~モデル分析

ここでは BayoLink(単体機能) でモデルを分析するための操作方法を説明します。

8.1 モデルの適合度

モデルを作成した際、「モデルの良さ」を判断することが一つの問題となります。その一つの方法とし

て、データとの当てはまり具合を表すモデルの適合度という基準値の使用が知られています。

BayoLink では ML、AIC、MDL、C4.5、K2(CHM)が利用できます。

8.2 モデルのスコア

モデルのスコアは、属性パネルの[スコア]パネルで確認できます。

[モデルスコア]テーブルの[スコア]の値は複数のモデルを比較する際の一つの基準となります。モデ

ル適合度は各ノードのスコアを足し合わせた値となります。[モデルスコア]テーブルの[選択] をチェッ

クすると、[ノードスコア] 欄の評価基準を変更できます。

8.2.1 評価基準

BayoLink ではモデルの評価基準として以下が使われます。

評価基準 説明 補足

ML Maximum Log Likelihood

(最大対数尤度)

あるモデルを仮定したときの、観測データの

起こりやすさ。

AIC Akaike Information Criterion ML に複雑さ(パラメータ数)に対するペナ

Page 103: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

103

ML は本来大きい方が良いのですが、AIC や MDL と合わせるためマイナスを掛けています。よって

BayoLink では AICや MDL と同様に ML も小さい方が良いことになります。

8.3 ツリーの選択

子ノードとその全親ノードの組をツリーと呼びます。各ノードでツリーを一つ選択すればモデルが定ま

ります。また、ツリーを選択し直すことによってモデルを変更することが可能です。

8.4 ツリーのスコア

ツリーを選択する際の一つの指標として、情報量規準値によるスコアがあります。BayoLink では、ツ

リーごとにスコアを計算し、その結果を表形式で表示させ、良い順に並び替えたりすることができま

す。

このツリースコアの表示は、[スコア]パネルの[ノードスコア]欄で確認することができます。

図 8.1 ノードスコア

[ノードスコア]欄のカラム名をクリックすると、昇順・降順によってツリーを並び替えることができます。

8.4.1 ツリーの選択

通常各ノードに対してツリーは一つですが、ノードスコア欄の[全ての組み合わせのツリーを生成]ボ

タンをクリックすることで、複数のツリーを生成することができます。

図 8.2 ツリーの生成ボタン

(赤池の情報量) ルティー項を加え、過適合を回避する。

MDL Minimum Description Length

(最小記述長)

AIC よりも複雑さ(パラメータ数)に対する

ペナルティーが大きく、AIC よりもシンプル

なモデルとなる傾向がある。BIC と等価。

K2(CHM) K2-Algorithm で一般的に用いられる評価関数

C4.5 決定木を作る手法の一つ C4.5 で用いられる情報利得比

Page 104: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

104

例えば、MaryCallsに対して Alarm と JohnCallsが親ノードである場合に、これを実行すると以下の

ように合計 4つのツリーが表示されます。ここでは生成されたツリーがスコアの降順でソートされてい

ます。

さらに「二番目に良いツリーを選択したい」という状況を考えてみます。二番目に良い ツリ

ーは、Tree0 です。ノードスコアテーブルの Tree0 の行を選択し、そのまま右クリックします。

8.5 双方向リンクと循環の回避

構造学習によってモデル構築をする際、構築の過程で双方向のリンクや循環が発生することがあり

ます。循環を含むモデルでは、アルゴリズムの都合により推論ができません。よって推論する前にそ

れを回避する必要があります。

MaryCallsBurglary

Alarm

JohnCalls MaryCalls

EarthquakeBurglary

Alarm

JohnCalls MaryCalls

右クリック

Page 105: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

105

図 8.3. 双方向リンクを含むモデル

標準設定でモデル構築を行うと循環は自動的に削除されるため、循環を気にかける必要はありませ

んが、プロパティ設定により、モデル構築の過程で発生する循環を残しておくこともできます。

循環を残しておく場合は、双方リンクと循環を検出するツールを利用して、削除するリンクを確認しな

がら、循環を削除することが可能です。またツールバーのボタンで循環と双方向リンクを一度に取り

除くこともできます。

8.6 循環の自動回避

循環と双方向のリンクを一度に回避するには、次のメニューを実行します。

メニュー → [モデリング] → [循環の自動回避]

循環の自動回避は、以下の方法で行います。

1. 双方向のリンクを検出し、スコアの悪いリンクを削除

2. 循環を検出し、モデル全体のスコアができるだけ大きくなるように循環を構成する

リンクを削除

8.6.1 双方向リンクの検出

インタラクティブに双方向リンクを回避するには、メニュー → [モデリング] → [双方リンクの回避…]

を選択します。すると、双方向リンクをモデルから検出して、どちらの方向を選択すべきか等の情報

がダイアログとして表示されます。例えば、先ほどのモデルを選択している場合だと、次のようなダイ

アログが表示されます。

図 8.4. 双方向リンク回避支援ダイアログ

Page 106: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

106

結果テーブルの各列の意味は次の通りです。

列名 内容

Node-A 双方向リンクを成すノードの一方

Node-B 双方向リンクを成すノードのもう一方

ML A→B と B→A の ML の差。A→B が良いときに正の値をとる。

AIC A→B と B→A の AIC の差。A→B が良いときに正の値をとる。

MDL A→B と B→A の MDL の差。A→B が良いときに正の値をとる。

Result 推奨するリンクの向き

Action 実際に残すリンクの向き。何もしない場合は None を指定する。

検出された双方向リンク一個に対して、テーブルの一行が対応するように表示されます。

ML, AIC, MDLなどの評価基準の値としては「双方向を片方向にしたモデル同士のスコアの差」が計

算されます。例えば、A⇔Bの双方向リンクに対しては、A→Bとした時のモデルとA←Bとしたときの

モデルを二つ用意して、それぞれのモデルスコアを計算し、その差を求めます。また、この値は正な

ら右向き、負なら左向きのリンクが優位となるように計算されます。

最後に、この符号から Result列の値が判断されます。

例えば、上記の例の一行目からは次のようなことがわかります。

Alarm と JohnCalls の間に双方向リンクがあり

[Result]から Alarm→JohnCalls を選択した方がモデルスコアは良くなる

設定項目は[評価基準]のみで、次の中から選択します。

図 8.5. 評価基準の設定

選択された評価基準の符号からResult列の値が判断されます。ALLを選択した場合は評価基準値

の総和の符号を使用します。デフォルトは ALL となっています。選択した評価基準は列名が青色で

表記されます。

これらの結果を元に、モデルのリンクを変更することができます。まず、Action 項目で、各リンクに対

して行う操作を選択します。選択できる項目と内容は以下のとおりです。

項目 内容

A⇒B Node-A から Node-B のリンクを残す

Page 107: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

107

B⇒A Node-B から Node-A のリンクを残す

A B 両方のリンクを削除する

None なにもしない

続いて、下部の[適用]ボタンを押すと、選択した操作が実行されます。また、[終了]ボタンを押すと、

操作を実行しないで、ダイアログを終了することができます。

8.6.2 循環の検出

本機能では有向グラフの中から循環を探しだし、そのパスを表示します。また循環の削除を支援す

る機能も提供します。

次のモデルは、パス Alarm→Burglary→Earthquake→Alarm に循環がみられます。

図 8.6 モデルに循環が存在する

このままでは、推論することができませんので、サイクルチェックを実行して循環を除去します。サイ

クルチェックは、メニュー → [モデリング] → [循環の回避…]で起動します。ダイアログは[循環リス

ト]欄と[リンク編集]欄から成ります。

Page 108: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

108

図 8.7循環の回避ダイアログ

循環があれば[循環リスト]欄にその構成要素を表示します。複数の循環がある場合は一行に一つ表

示します。表示された循環をクリックして選択すると、リンク編集欄にその循環を構成するリンクのみ

表示します。

[リンク編集] テーブルには、循環に含まれるリンクが表示されています。

[score]カラムにはリンクのスコアを表示します。スコアは「現モデルからリンクを削除した時のモデル

スコアの減少量」で定義します。リンクを削除するとモデルスコアが悪くなる場合に正の値となりま

す。

[status]カラムのチェックを外すと対応するリンクを削除します。基本的にはスコアの低いリンクから

削除します。

[lock]カラムにチェックを入れておくと[status]カラムの変更ができなくなります。非常に大きな循環が

生じた場合で、かつ削除したくないリンクがある場合に使います。ボタン「…」をクリックし [Model

Information File]を指定すると、必須制約のあるリンクの[lock]カラムにチェックを入れることができま

す。

図 8.8 リンク編集テーブル

Page 109: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

109

リンクの編集により循環を回避したら「解析実行」ボタンをクリックして、サイクルチェックを再実行しま

す。循環がなくなっていることを確認してください。

注意

必ず双方向リンクを回避してから、利用してください。

厳密には有向グラフより強連結成分を探していますので、循環の最小単位を提示することはできま

せん。

8.7 モデルの検証

構築したモデルによる予測がどの程度正しいかを検証することができます。一般的に、モデルの検

証は学習データとは別の検証データを使用します。またモデル検証機能を利用するにはベイジアン

ネットのノードから目的変数と説明変数を指定する必要があります。

モデル検証機能では、ユーザーが検証データと目的変数・説明変数を指定すると、内部で検証デー

タの各行に対し次の処理を実施して正解率などを算出します。

1. 説明変数となるノードの値を検証データから取得し、証拠状態として設定する

2. 確率推論を実行する

3. 目的変数となるノードの事後確率と検証データの正解値と比較し、評価を行う

8.7.1 検証データ

検証データは次の二つの方法で指定することができます。

インポート済みのデータから選択する

CSV 形式のファイルから選択する。

モデルの検証で使用する検証データは、基本的に学習データと同じフォーマットで作成します。学習

データの詳細は『5.1.1 フォーマット』をご参照ください。

目的変数と説明変数として使用する全てのノードが、検証データに含まれている必要があります。そ

の他のカラムは無視され、無いものとして扱います。

離散化などの編集を行った学習データでモデルを構築した場合の注意

学習データの編集機能で、モデルのノードや状態名を元のデータから変更した場合は、検証デ

ータも同じように編集しておく必要があります。例えば数値データを離散化した場合は、検証

データも同じように離散化しておく必要があります。

これは次の方法で可能です。

検証データを学習データと同じ設定で変換し、エクスポートする。

『5.4学習データのエクスポート』参照

VAP の離散化アイコンと離散化適用アイコンを利用する。

8.7.2 検証の手順

モデル検証機能は次の方法で実行します。

メニュー → [モデリング] → [モデル検証]

Page 110: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

110

を選択し、検証ダイアログを表示します。

ダイアログの設定タブを表示し、 [検証データ]に検証に使用する検証用のデータを指定します。検

証データは『インポートしたデータ』から選択するか、CSV 形式のファイルを指定することができま

す。

[検証シナリオ]テーブルで、目的変数または説明変数として使用する変数をチェックボックスで選択し

ます。続いて[実行]ボタンを押すと、設定内容で推論と検証を開始します。検証が終了すると、[結果]

タブに結果を表示します。

8.7.3 算出項目

[サマリー]テーブルは、モデルを使用した推論による推定値と、検証データの値とがどの程度

一致したかを表示します。[サマリー]テーブルの項目と内容は以下の通りです。

[詳細]テーブルは、目的変数の状態値について、適合率などの指標を表示します。[詳細]テーブル

の項目の意味と内容は、以下の通りです。

項目名 内容

状態名 対象となる状態名

適合率(precision) 推論により対象状態と予測されたレコードのうち、検証値と一致したレコ

ードの割合

例えば{true,false}という 2状態をもつノードについて、検証値と推定値の

クロス集計が次のようになった場合

推論/検証 false true

false A B

項目名 内容 計算式

目的変数 推論の対象とする目的変数名

データ数 [目的変数]の欠損値を除く検証データの数 N

正解データ数 [目的変数]の推論の結果と検証データを照

合し正解したデータの個数

C

正解率 [目的変数]について正解データの割合 N

C

平均対数尤度 [目的変数]について推論による確率値を使

用した検証データの平均対数尤度

N

PN

i

i log

iP :目的変数が、検証デ

ータの i 行目の値をとる

確率

Page 111: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

111

true C D

true の適合率は次のように計算できます。

trueの正解数/推定値が true である個数 = D/(C+D)

再現率(recall) 検証データで対象状態であるレコードのうち、推定値と一致したレコード

の割合

適合率のクロス集計を用いると、true の再現率は次のように計算でき

ます。

trueの正解数/検証値が true である個数 = D/(B+D)

F-Measure 適合率と再現率の調和平均

一般的に適合率を上げると再現率は下がる傾向にあるため、調和平均を

尺度の 1つとして計算します。

調和平均は次の式で計算します。

2/( 1/[再現率] + 1/[適合率] )

= (2×[再現率]×[適合率])/([再現率]+[適合率])

8.7.4 推論データの保存

検証データの各行を推論した結果は CSV形式でファイルに出力することができます。

[結果]パネルの[推論データの保存…]ボタンをクリックし、保存するファイルを選択します。

推論の結果は次のフォーマットで出力されます。

説明変数の観測値, …, MAP推定値, 目的変数の確率値(状態別),…, 目的変数の観測値

例えば、Alarm モデルで以下のシナリオで検証を行った場合、

目的変数 : Burglary

説明変数 : Alarm, JohnCalls, MaryCalls

推論データは次のようになります。

説明変数の観測値 MAP推定値 目的変数の確率値 目的変数の観測値

Page 112: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

112

8.7.5 検証結果の保存

検証により算出した値はテキストファイルに保存することができます。

[結果]パネルの[検証結果の保存…]ボタンをクリックし、保存するファイルを選択します。

8.7.6 推論シナリオのインポート・エクスポート

[検証シナリオ]欄の設定内容をファイルに保存することができます。また、保存したファイルを読み込

み、設定を復元することも可能です。

ファイルへの保存とファイルからの読み込みは、[検証シナリオ]欄左下のボタンで実行します。

8.7.7 コンソールパネル

コンソールタブは、シナリオデータと検証結果をテキストで表示します。またエラーが発生した場合に

は、行番号と内容を表示します。

画面を右クリックして表示されるメニューにより、テキストをコピーするなどの操作を行うことがきま

す。

図 8.9 モデル検証のコンソール

コンソールで表示する内容を以下に示します。

項目名 内容

設定 検証で使った、目的変数、説明変数を表します。

Page 113: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

113

8.8 感度分析

感度分析は、ある事象が複数の要因から発生するモデルにおいて、各要因の影響力を定量的に算

出する手法です。通常はある要因に変化を加えたとき、結果の変動を様々な指標により評価しま

す。感度分析の適用例としては、例えば小売価格の変動が収益にどの程度影響を与えるか、収益

に対してリスクを与える要因は何か、などがあります。

ベイジアンネットの感度分析は VAPにも実装されておりますが、実行速度は VAPの方が高速です。

ベイジアンネットで感度分析を行う目的として、以下が挙げられます。

目的変数に対して影響力の大きい変数の探索

目的変数に対して、最善(または最悪) の結果を与えるロールケースの分析

感度分析ツールでは 指定した説明変数で推論を行い、目的とする変数の事後確率を算出します。

その確率値から相互情報量や確率の差分などを算出し、上記についての分析を行う指標を出力し

ます。

8.8.1 感度分析の手順

感度分析は次の方法で実行します。

メニュー → [モデリング] → [感度分析]

を選択し、感度分析ダイアログを表示します。

ダイアログから、[目的変数の選択] と [説明変数の選択] を指定し、[OK] ボタンを押すと分析が

実行されます。

結果 結果タブのサマリーテーブルの値を出力します。

詳細 結果タブの詳細テーブルの値を出力します。

"推論/観測"テーブルは、推定値と観測値のクロス集計です。

行は推定値、列は観測値です。

以下の例の場合、テーブルの 2 行目から、推定値は"false"だが、観測値

(正解)は”true”だったレコードが 18件あることが分かります。

推論/観測 false true

false 9958 18

true 8 16

Page 114: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

114

図 8.10 感度分析ダイアログ

実行後、分析結果は画面下の情報パネルに表示されます。

相互情報量テーブル 確率の差分テーブル

目的変数を選択する

説明変数を選択する

Page 115: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

115

8.8.2 設定項目

感度分析を実行する際の設定項目について説明します。

分析シナリオのインポート/エクスポート

分析シナリオ(目的変数と説明変数)はファイルに保存することができます。また、保存したフ

ァイルを読み込み、設定を復元することも可能です。

ファイルへの保存とファイルからの読み込みは、[説明変数]欄左下のボタンで実行します。

組み合わせの最大数

感度分析は説明変数からいくつかの値の組を作り、それをモデルに入力して推論をします。こ

のときのモデルへの入力値の数の上限を指定します。

次のような説明変数を例に挙げて説明します。

喫煙者? = {はい,いいえ}、レントゲン検査 = {陽性,陰性}、呼吸困難 = {はい,いいえ}

ここで[組み合わせの最大数] を 2 とすると、3 つの変数から最大 2 個の値を取り出し、それ

を入力値とします。以下は組み合わせの一部です。

喫煙者?, レントゲン検査,呼吸困難 = {はい, 陽性, (-) }

= {はい , 陰性, (-)}

= {はい , (-), (-) } ….

(-) は入力がないこと(欠損値)を表します。組み合わせには 3 つ変数が全て欠損しているものも含

まれます。

表示件数

[確率の差分] テーブルに表示する最大件数です。

Page 116: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

116

推論結果を保存する

モデルに入力した分析パターンと目的変数の事後確率値を、指定したファイルに CSV形式で出力し

ます。

推論の結果は次のフォーマットで出力されます。

説明変数の観測値, …, MAP推定値, 目的変数の確率値(状態別),…

以下は次の分析シナリオの推論結果の出力例です。

目的変数 : 肺がん

説明変数 : 大気汚染?、喫煙者?、レントゲン検査?、呼吸困難?

※ [モデルの入力値を前提条件とする] をチェックしている場合、前提条件の値(推論モニターで入

力した値) が出力されます。

モデルの入力値を前提条件とする

[モデルの入力値を前提条件とする] をチェックすると、推論モニターで入力した観測を前提条件とし

て確率値を算出します。

以下の例では、『喫煙者?』 について推論モニターで観測値(“はい”) を入力し、これを前提条件とし

て感度分析を行っています。

説明変数の観測値 MAP推定値 目的変数の確率値

Page 117: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

117

ここでの[事前確率値]、[確率値] は、モデルに前提条件( 『喫煙者?』 = はい ) を入力した後の値

となります。

※ モデルの入力値を前提条件とする場合、以下の点にご注意下さい。

・前提条件とするノードを目的変数にすることはできません。

・全ての説明変数が前提条件に含まれると分析が実行できません。

・説明変数でかつ前提条件を指定したノードは確率の差分テーブルに

結果が出力されません。

8.8.3 算出項目

感度分析で出力する値について説明します。

相互情報量

[相互情報量] テーブルには、説明変数と相互情報量が表示されます。

相互情報量は観測を入力する前後のモデルのエントロピーの変化量です。感度分析におい

て、エントロピーの減少、すなわち相互情報量が大きいほど目的変数に与える影響が大きいと

いえます。

相互情報量の算出については「9.4.3相互情報量」をご参照下さい。

前提条件を入力後の確率

前提条件と説明変数(喫煙者?=はい)

を入力したときの事後確率

前提条件(喫煙者=はい)

Page 118: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

118

確率の差分

右側のパネルに表示される確率の差分テーブルには、各説明変数の値をモデルに入力したとき

の目的変数の確率の変化量です。

確率の差分は[増加ランキング] と [減少ランキング] の二つのテーブルに表示されます。それ

ぞれ確率の差分が大きいものから、または小さいものから、順位付けをしています。

テーブルの上の[目的変数の値] を選択すると、下のテーブルが更新されます。

図 8.11 確率の差分テーブル

確率の差分テーブルで[順位] 列から[確率値] 列までの間は、モデルに入力した説明変数の値で

す。セルが空白の部分は入力がない、つまり欠損を表しています。

説明変数の入力値

値を選択する

テーブルに表示される

Page 119: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

119

以下は確率の差分テーブルに表示する値とその内容です。

項目名 内容 計算式

確率値 説明変数の値を入力した条件での目的変

数の確率値 (事後確率)

𝑃(𝑥|𝑒)

確率の差分 目的変数についての事前確率と事後確率

の差

𝑃(𝑥|𝑒) − 𝑃(𝑥)

リフト値 観測が入力されたときある状態が発生す

る確率と、条件に関わらずその状態が発生

する確率の割合

𝑃(𝑥|𝑒)

𝑃(𝑒)

Page 120: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

120

9 技術資料

9.1 構造学習について

ベイジアンネットの構造学習は、与えられたデータに対する予測性が最適となるモデル構造を

推定します。モデルの予測性のよさは AIC などの評価値で定量化します。

構造学習は様々な手法が研究されていますが、BayoLink ではノードごとに最適なリンクを探

索するスコアベース手法を採用しています。具体的には以下の手順です。

(1) あるノードについて、残りのノードから適当なものを選択しそれを親とする。

(複数の親を選択してもよい、または親がなくてもよい)

(2) 親とのリンク(ツリー)を作り、評価値を計算する。

(3) 他の組合のツリーの評価値も計算する。その中から最も評価値のよい親を採用する。

(4) 全てのノードに対して (1) ~ (3) を行う。全ノードのツリーを併せて 1 つのモデルとす

る。

(5) ネットワークに双方向リンクや循環があれば、これらを回避するために一部のリンクを削

除する。

各ノードのツリーを探索するアルゴリズムとしては、以下のものが実装されています。

9.1.1 探索アルゴリズム

Greedy Search(欲張り法)

個々のノードについて親のない状態から開始して、親を 1 つずつ追加しながら評価値を計算し

ます。親を追加しても評価値が改善しない時点で探索を終了します。

Stingy Search(けちけち法)

Greedy Search と同じく近似解法ですが、全ての親をもつ状態から開始して、親を 1つずつ減らしな

がら評価を行います。Greedy Searchよりメモリを消費します。

全探索

個々のノードについて候補として与えた全変数との組合せを作り評価を行います。探索時間と

メモリを大量に消費するため、探索が終了しない場合も起こります。通常は Greedy Search

を利用することをお勧めします。

9.1.2 評価値の算出

ベイジアンネットワークの評価基準の計算式を示します。

n個のノード {X1, 𝑋2, … , 𝑋𝑛} からなるベイジアンネットワークの評価は次の式で行います。

Page 121: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

121

ML - 最大対数尤度

𝑀𝐿 = ∑ ∑ ∑ 𝑁𝑖𝑗𝑘𝑙𝑜𝑔 (𝑁𝑖𝑗𝑘

𝑁𝑖𝑘)

𝑠𝑖

𝑘=1

𝑟𝑖

𝑗=1

𝑛

𝑖=1

AIC - 赤池の情報量

𝐴𝐼𝐶 = −2 (ML − ∑(𝑟𝑖 − 1)𝑠𝑖

𝑛

𝑖=1

)

MDL - 最小記述長

𝑀𝐷𝐿 = − (ML −𝑙𝑜𝑔𝑁

2∑(𝑟𝑖 − 1)𝑠𝑖

𝑛

𝑖=1

)

CHM - Cooper-Herskovits Measure

𝐶𝐻𝑀 = ln ∏ ∏(𝑟𝑖 − 1)!

(𝑁𝑖𝑗 + 𝑟𝑖 − 1)!

𝑞𝑖

𝑗=1

𝑛

𝑖=1

∏ 𝑁𝑖𝑗𝑘!

𝑟𝑖

𝑘=1

𝑛:ノード数

𝑟𝑖:ノード𝑋𝑖の状態数

𝑠𝑖:ノード𝑋𝑖の親ノードの状態数の積

𝑁𝑖𝑗𝑘:ノード𝑋𝑖のクロス集計表の(𝑗, 𝑘)成分

𝑁𝑖∗𝑘: ∑ 𝑁𝑖𝑗𝑘

𝑟𝑖

𝑗=1

𝑁 ∶ サンプルサイズ

この時、∑ (𝑟𝑖 − 1)𝑠𝑖𝑛𝑖=1 はモデルの自由なパラメータの数(自由度)となります。また記号間の関係は

次のようになります。

Page 122: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

122

ノード Xiのクロス集計表

1 … k … si

1

j Nijk

ri

合計 Ni*k

ML、 AIC、 MDL については結果として得られるモデルのリンク数に次のような傾向があります。

ML > AIC > MDL

ML はリンクの本数が多く検証では精度が良いという結果となりますが、 パラメータ数が多くデータ

に過剰にフィットしているとも考えられます。 未知のデータの予測などに対しては、 よりシンプルな

モデルが得られる AIC や MDL を使う方が 一般的には良いとされています。

9.2 条件付確率テーブル(CPT)の学習

CPT 更新は構築したモデルに対して、任意の学習データで各ノードの CPT を更新します。

上書き学習と追加学習の 2 つの方法があります。それぞれの方法について、次のモデルの更新の

具体例を示します。

親ノードの状態の全組み合わせに対応

ノードX

i

の状態に対応

A B

C

D E

Page 123: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

123

上書き学習

学習データでノードの CPT の書き換えを行います。

※ 更新対象のデータに更新元のモデルに存在しない値が含まれる場合、そのノード 及び

子ノードは更新ができません。

例えば、次のデータでは、B, D, E は更新可能ですが A, C については更新できません。

追加学習 : ノードのクロス集計に 学習データの値を加算して CPT を更新します。

※ 追加学習においては、更新対象のデータに更新元のモデルに存在しない値が含まれる場合で

も更新が可能です。この場合更新されたノードに新しい状態値が追加されます。

A B C D E

1 1 1 0 0

0 0 0 1 0

1 0 0 0 1

元の学習データ

A B C D E

1 1 0 0 0

1 0 0 1 0

1 0 1 0 1

更新の学習データ

C のクロス集計

値 頻度

0,0 0,1 1,0 1,1

0 1 0 1 0

1 0 0 0 1

値 頻度

(A,B)

C

D

E

0,0 0,1 1,0 1,1

0 0 0 1 1

1 0 0 1 0

A B C D E

2 1 0 0 0

1 0 0 1 0

1 0 1 0 1

値 頻度

0,0 0,1 1,0 1,1

0 1 0 1 0

1 0 0 0 1

値 頻度

0,0 0,1 1,0 1,1

0 1 0 2 1

1 0 0 1 1

Page 124: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

124

学習データの値をクロス集計する際に欠損値の扱い方として、次を指定できます。

欠損値を無視する : 欠損が含まれる値はクロス集計に加算しません。

欠損値を補完する : EMアルゴリズムで欠損している箇所をモデルで推論し、予測値で穴埋め

します。

9.3 正規化

CTT を正規化する手法を選択します。以下の項目から選択できます。

ML

学習データから CTT を作成し、各セルの値を各列のサンプル数で割る。

j

ij

N

n

MAP

CTT の全セルの値が 1 の状態を初期状態とし、これに学習データを足し合わせてか

ら ML と同様の計算を行う。

MN

n

j

ij

1

ijn : CTT の ji, 成分

jN : i ijn

M : i1

A B C D E

2 1 0 0 0

1 0 0 1 0

1 0 1 0 1

C のクロス集計(更新後)

値 頻度

0,0 0,1 1,0 1,1 2,0 2,1

0 1 0 1 0 0 1

1 0 0 1 1 0 0

Page 125: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

125

AUTO(MAP または ML から選択)

CTT の中に閾値以下のデータがある場合には、MAP を適応し、その他の場合は ML

を適応する。

MAP は CTT に十分な頻度が得られない場合の対策ですが、十分なサンプル数が確保できていれ

ばその効果は無視できます。簡単な例でその意味を具体的に説明します。

CTT のあるカラムにサンプルが 1 つしかない次のような CTT を考えます。簡単のためノードの

状態は{T, F} の二値とします。

CTT:

T 0

F 1

これを ML で正規化すると、

CPT:

T 0.0

F 1.0

となります。この場合、非常に少ないサンプル数から T が起こり得ないと判断することになります。

一方、MAP の場合は正規化を行う前に CTT の全要素に 1 を加算しますので次のようになりま

す。

CTT:

T 0 + 1

F 1 + 1

これを正規化すると、

CPT:

T 0.333…

F 0.666…

となります。上記の例では Tにデータはありませんが、まだサンプル数が 1個ですので、その確率は

0 ではなく 0.333 という値を持ちます。サンプル数が少ない場合、ML より MAP で正規化を行うほう

が、一般的にはモデルの性質が良くなるだろうという考えです。

9.3.1 欠損値の処理

クロス集計の欠損値はリストワイズまたはペアワイズで処理をします。リストワイズは欠損が

含まれる行を丸ごと除外します。一方のペアワイズは、ある行に欠損が含まれていてもクロス

集計を行う対象とする変数でなければ、その行を除外しません。リストワイズと異なり、欠損

がない部分をできるだけ活用する方法です。以下の例では 変数 A,B でクロス集計を行う際に

除外するデータ列を示しています。

Page 126: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

126

リストワイズ

ペアワイズ

9.3.2 CPT のエントロピー

エントロピー値は確率分布の曖昧性を数値化した指標です。 最大は 1 で大きいほど 曖昧であるこ

とを意味します。 エントロピーは条件付き確率表(CPT)の列ごとに計算します。

𝐻 = − ∑ 𝑃𝑖

𝑛

𝑖=1

∗ log2 𝑃𝑖

𝑃𝑖 : CPTの i行目の成分

確率分布が (0.5,0.5) の場合は、エントロピー値は 1 と計算されますが、 これは最も曖昧である

ことを意味しています。 一方で 確率分布が (1,0) であれば、エントロピー値は 0 になり、 最も

曖昧でない状態を意味します。

9.4 検証・感度分析

9.4.1 正解率と平均対数尤度

次の表はあるモデルについて 10件の検証データで確率推論を行った結果です。目的変数の状態に

は"はい"と"いいえ"があります。表の[検証データの値]は検証データでの目的変数の値です。[推論

による推定値]は、推論によって得られた確率分布を最大にする値(状態)です。 ["いいえ"の確率]、

["はい"の確率]は推論によって得られた目的変数の確率分布です。

Page 127: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

127

より検証データの値(以降、検証値と略します)と推論による推定値(以降、推定値と略します)が一

致するのは No=2,3,4,5,8,9 の 6件です。よって

[正解率] = N

C = 6/10 = 0.6

となります。平均対数尤度は iP に検証値の確率値(水色のセル)を代入して計算します。

[平均対数尤度] =

N

PN

i

i log

= 10

......)770041938.0log()267310197.0log(

= 0.8104

9.4.2 確率の差分

感度分析の[確率の差分]テーブルには、各説明変数で推論を行ったときの目的変数について次

のような値が表示されます。

確率値

説明変数の値を入力した条件での目的変数の確率値 (事後確率)

𝑃(𝑥|e)

確率の差分

目的変数についての事前確率と事後確率の差

𝑃(𝑥|e) − 𝑃(𝑥)

リフト値

観測が入力されたときある状態が発生する確率と、条件に関わらずその状態が発生

する確率の割合

𝑃(𝑥|𝑒)

𝑃(𝑥)

Page 128: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

128

9.4.3 相互情報量

相互情報量は観測を入力する前後のエントロピーの変化量で定義されます。

𝐼(𝑄; 𝑃) = 𝐻(𝑄) − 𝐻(𝑄; 𝑃)

ある変数について、エントロピーは次の式で計算できます。

𝐻(𝑄) = − ∑ 𝑃(𝑥) log 𝑃(𝑥)

𝑥∈𝑋

従って相互情報量は次式で計算できます。

𝐼(𝑄; 𝑃) = − ∑ 𝑃(𝑥) log 𝑃(𝑥) + ∑ 𝑃(𝑒) ∑ 𝑃(𝑥|𝑒)log𝑃(𝑥|𝑒)

𝑥∈𝑋𝑒∈𝑌𝑥∈𝑋

エントロピーは変数の確率分布のバラつき具合を表現しています。極端な例で 2状態の変数の

確率分布が(1,0) である場合、エントロピーが最大となり、2状態では 1.0 と計算できます。

一方で分布が一様分であれば、エントロピーの値は 0.0 となります。

相互情報量が大きければ、観測の入力以前と比べて確率分布のバラつきが大きくなっている

ことを示します。

Page 129: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

129

10 お問い合わせ

BayoLinkS に関するお問い合わせは、下記のお問い合わせフォームまたは E-Mail にて受け付け

ております。

BayoLinkS の使い方

(操作方法、インストールやライセンスに関する

トラブルなど)

・お問い合わせフォーム

https://www.msi.co.jp/bayolink/support-ssl.html

・メールアドレス

[email protected]

その他の BayoLinkS 全般について

(バージョンアップ、利用機種の変更、

ライセンスの再発行など)

・お問い合わせフォーム

https://www.msi.co.jp/bayolink/contact-ssl.html

・メールアドレス

[email protected]

下記を明記の上お問い合わせください。

ご利用の製品名

バージョン

シリアル ID

ご登録者様のお名前

ご質問事項

保守サポートお問い合わせについての注意事項

年間保守にご加入の方は、E-Mailによる使い方サポートサービスをご利用いただけます。

データやプロジェクトファイルなどは、直接メール添付をしないようお願いいたします(容量によ

り、エラーとなる場合がございます)。データおよびプロジェクトファイルをお送りいただく場合に

はいったんお送りいただく旨を E-Mail にてお知らせいただければ,こちらよりセキュアなデータ

転送サービスご利用についてご案内をいたします。

お問い合わせについての回答は一営業日以内に行います。

ご質問は原則として E-Mailのみで受け付けております。

Page 130: BayoLinkS 7 - msi.co.jp · ージ、列属性変更、正規化、再配置、匿 ¡化、層別サンプリング、データハンドリング、日付時刻処 理、行選択、日付選択、集計、パラメータ毎

BayoLink7操作マニュアル

130

株式会社 N T T デ ー タ 数理システム BayoLinkS 担当

〒160-0016

東京都新宿区信濃町 35 番地 信濃町煉瓦館 1F

TEL 03-3358-6681

FAX 03-3358-1727

URL: https://www.msi.co.jp/bayolink/