SlideShare a Scribd company logo
RパッケージBNSLの概要
@ AMBN 2017 サテライトワークショップ
2017年9月19日
鈴木譲 (大阪大学)
本日のお話の手順
• ベイジアンネットワークの構造学習
• 無向森の構造学習 (離散)
• 無向森の構造学習 (連続)
• 応用例
• よくある質問
• 他ツールとの比較
• まとめと今後の課題
ベイジアンネットワークの構造学習
Bayesian Network Structure Learning (BNSL)
データフレーム
構造
p=3のとき
森の構造学習
Forest Structure Learning (FSL)
データフレーム
構造
p=3のとき
BNSLの基本的な使い方(1): 離散 BN
library(BNSL)
g=bnsl(asia)
plot(g)
ASIA (Lauritzen 1996)
p=8
変数 意味 (Yes/No)
Asia 最近アジアに行った
Smoking 常習喫煙者
Tuberculosis 結核
Lung Cancer 肺がん
Bronchitis 気管支炎
E T(結核)またはL(肺がん)の論理和
Chest X-ray 肺の X 線撮影での異常
Dyspnoea 呼吸困難
ベイジアンネットワーク (BN)
分布の因数分解を、有向非巡回グラフ(DAG)で表現したもの
(同値)
統計学: データから正しい構造を推定
• サンプル数 nが大きいときに、正しい構造を推定
BN=分布データ
推定
乱数発生
ベイズ統計学: データのもとでの事後確率最大化
P(構造|データ)
= P(構造) 𝑃 データ 構造, パラメータ 𝑃(パラメータ|構造)𝑑パラメータ
パラメータを周辺化した事後確率
構造 (1)-(11)のどれか
パラメータ 各部分の条件付き確率
構造の事前確率 パラメータの事前確率
事前確率としては、標準的なもの
変数の個数pとともに指数的な計算?
Alarm p=37
最も知られたベンチマーク
library(BNSL)
g=bnsl(alarm)
plot(g)
PCで、1日かかる
g=bnsl(alarm[,1:20])
など、変数の個数を限定する
BNSLの高速化の検討
アプローチ 現状 将来 (1年以内)
分枝限定法
(最適な構造)
ICML-96、UAI-17
通常の方法より10倍速い
PCで1時間以内に
nを定数として、pの多項式時間
ヒューリスティック
(近似)
親集合の個数を制限
構造の探索のしかたを制限
やり方は無数にある
{D,X}は、
Eの親集合
BNではなく、事後確率を最大にする森を求める
高速化のためにRcppを適用
• Rでプログラミングするより、50-100倍高速
• C++で関数を構築して、Rから呼び出す
Rにはポインタがない。RcppではRの関数が使えない
R, C++を知っていても、インターフェイスになれるのに
若干時間がかかる
alarmはBNで1日かかるが、森だと5秒で完了
pの2乗の時間
asia alarm
BNSLの基本的な使い方(2): 離散 森
library(BNSL)
df=alarm
mm=mi_matrix(df)
edge.list=kruskal(mm)
g=graph_from_edgelist(edge.list, directed=FALSE)
V(g)$label <- colnames(df)
plot(g,vertex.size=20.0)
(デモだけやって、プログラムはあとで)
データ -> 相互情報量の推定値 -> 森
(Chow-Liu, Kruskal)
分布が森で表現されることを仮定
相互情報量の推定値大きいものから、
ループができない限り、辺を結んでいく
相互情報量
独立であるとき
だけ0になる
独立性を仮定した場合
とのK-L情報量
相互情報量 を推定したい
離散
連続だと、かなりむずかしい
独立性を検知できる推定量 (Suzuki 93)
(負のときは0とする)
Suzuki 93を用いると、事後確率最大の森が生成される
Rパッケージ BNSLの主な関数
関数名 機能
mi 相互情報量の推定
mi_matrix データフレームから相互情報量の推定量の行列を生成
cmi 条件付き相互情報量の推定
kruskal Chow-Liuアルゴリズムの実行で必要
parent_set ベイジアンネットワーク構築の親集合
bnsl ベイジアンネットワークの→の向き、変数の順序を決定
mi(x, y, proc=0)
等しい長さのベクトルx,yから、相互情報量を推定。
Jeffreys’ (proc=0), MDL (proc=1), 最尤 (proc=9), 連続を含む (proc=10)
BNSLの基本的な使い方(3): 連続 森
library(BNSL)
df=read.csv("nikkei225-2.csv")[,1:30]
m=nrow(df)-1 # 2015年の営業日数-1
differ=df[1:m,]
for(i in 1:m)differ[i,]=df[i+1,]-df[i,]
mm=mi_matrix(differ, proc=10)
edge.list=kruskal(mm)
g=graph_from_edgelist(edge.list, directed=FALSE)
V(g)$label <- colnames(df)
plot(g,vertex.size=10.0)
日経225銘柄の前日との差分
• PCでの実行時間: 3時間
• 離散でも連続でもない (整数値だが、取りうる値が多い)
有限個とみるのも、連続値の正規分布とみるのも難しい
quantmodパッケージ (金融データ処理)
Install.packages(“quantmod”)以外に、install.packages(“XML”)が必要
通常のAPIとは異なり、webで公開されているデータを獲得している
(RFinanceYJ パッケージは、バグが多い)
Wouter Thielen さん
getSymbols.yahooj
担当者 (東京在住)
Joshua Ulrich さん
Quantmod パッケージ
責任者 (米国在住)
時系列のクラスxtsのオブジェクトが得られる
始値 最高値 終値最安値 取引高 調整値
同業8社の株価
(データサイエンス 新興企業)
8社の株価の相関係数
• ある銘柄の取引で成功した場合、同様の成功が得られるのは、どの銘柄か
• ある銘柄の変動を、他の銘柄から予測できないか。
8社の株価の相互情報量
(連続な変量として処理)
1: 2158 UBIC
2: 2389 オプト
3: 3622 ネットイヤー
4: 3655 ブレインパッド
5: 3680 ホットリンク
6: 3905 データセクション
7: 3906 ALBERT
8: 6031 サイジニア
8社の株値の関連性を森で表すと
連続: 正規分布を仮定する場合
相関係数の推定に帰着
一般の場合は、どうするのか
X,Yが正規分布でないとき
Xが離散、Yが連続のとき
mi(x,y proc=10)の動作 (Suzuki,16)
X, Y ともに等頻度の分割表ができる
Xを等頻度に分割
Yを等頻度に分割
X,Yは離散でも連続でもよいが、区切って頻度を数える
相互情報量の推定量 𝐽 𝑛を計算
いろいろなサイズの分割表を生成して、 𝐽 𝑛の最大値を計算
連続値は、量子化される
メッシュに区切っていく
(離散などで) 同じ値が境界にあるとき
nが大きいと、メッシュを細かくしても、推定できる
連続値も離散値も
区別しない
データセット(連続)
• 日経225銘柄 (2015年4月-2016年3月)の終値
(前日との差分をとったもの、年間データのない2社を除く)
nikkei225-2.csv
• 乳がん患者の遺伝子発現データ
(p51遺伝子をもつサンプル192個、もたないサンプル58個)
breastcancer.csv
ゲノム解析への応用 (1)
Int. J. Approximate Reasoning, 2016
青: p値の大きな遺伝子
赤: 症例/対照
1000個の連続変量
1個の2値変量
乳がん患者の遺伝子発現データ
(p51遺伝子をもつサンプル192個、
もたないサンプル58個)
大規模なグラフの作図は igraphよりCytoscape
論文に投稿すると、査読者もイチコロ
ゲノム解析への応用 (2)
Int. J. Approximate Reasoning, 2016
青: 遺伝子発現量
赤: SNP (3値)
マイクロアレイからRNA-seq へ
ゲノム解析データが大量に取得できるが、確率的モデルが異なる
古い 主流になりつつある
(産総研瀬々氏のスライド)
多い質問(1): BNだと向きがわかるが、無向だとわからない
BNの構造学習
因数分解して同じになる構造は
同じスコア(事後確率)になるので、方向は判定できない
3構造と1構造は区別される
区別されない
3構造間は
区別されない
多い質問(2): スコアとして、BDeu, MDL, AICのどれがいいのですか
どれが良いかは、データによる。ちまたにあふれたガセを信じべからず
• MDLは、事後確率最大の近似解
• AICは、他のと比べると、過学習で枝が多くなる
• BDeuは、デファクトに近い待遇をうけてきたが、
• 致命的な性質が証明された (Suzuki 2017)
少ないサンプルでも枝が多くなる。
使われなくなると予想。
他ツールとの比較 (自己評価)
bnlearn BayoLink BNSL
連続 △ ☓ ◯
研究の最先端 ☓ ☓ ◎
大規模な
BNの構造学習
近似を許して、大規
模な処理を行う
近似を許して、大規
模な処理を行う
最適解が求まる場
合しか動かない
ユーザ数 ◎ ◯ △
価格 無料 (Rパッケージ) 有料 無料 (Rパッケージ)
グラフィック △ ◎ ☓
まとめと今後の課題
RパッケージBNSLの使い方と、知っておくべき理論について説明
今後の課題
連続変数でも対応可能な、BNの構造学習
最適性を犠牲にしてでも、大規模なBNの構造学習を可能にする
ベンチマーク alarmを1時間で処理できるレベルに
グラフィックやマクロを整備して、商品価値を高める
学者が、論文を広めるためにつくったRパッケージという感が強い
民間で広く使っていただくことが重要

More Related Content

What's hot

スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
Hidetoshi Matsui
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
takehikoihayashi
 
傾向スコアの概念とその実践
傾向スコアの概念とその実践傾向スコアの概念とその実践
傾向スコアの概念とその実践
Yasuyuki Okumura
 
相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定
Joe Suzuki
 
2 3.GLMの基礎
2 3.GLMの基礎2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
 
因子分析
因子分析因子分析
因子分析
Mitsuo Shimohata
 
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
Hiroki Itô
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心takehikoihayashi
 
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
Shinohara Masahiro
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8
matsuolab
 
機械学習モデルの列挙
機械学習モデルの列挙機械学習モデルの列挙
機械学習モデルの列挙
Satoshi Hara
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
Kota Mori
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
Hirotaka Hachiya
 
データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎
Hirotaka Hachiya
 
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするためにベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
 

What's hot (20)

スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
 
傾向スコアの概念とその実践
傾向スコアの概念とその実践傾向スコアの概念とその実践
傾向スコアの概念とその実践
 
相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定
 
2 3.GLMの基礎
2 3.GLMの基礎2 3.GLMの基礎
2 3.GLMの基礎
 
因子分析
因子分析因子分析
因子分析
 
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
 
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8
 
機械学習モデルの列挙
機械学習モデルの列挙機械学習モデルの列挙
機械学習モデルの列挙
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
 
データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎データ解析7 主成分分析の基礎
データ解析7 主成分分析の基礎
 
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするためにベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
 

More from Joe Suzuki

RとPythonを比較する
RとPythonを比較するRとPythonを比較する
RとPythonを比較する
Joe Suzuki
 
R集会@統数研
R集会@統数研R集会@統数研
R集会@統数研
Joe Suzuki
 
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
Joe Suzuki
 
分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する
Joe Suzuki
 
E-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka UniversityE-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka University
Joe Suzuki
 
UAI 2017
UAI 2017UAI 2017
UAI 2017
Joe Suzuki
 
AMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップAMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップ
Joe Suzuki
 
Forest Learning from Data
Forest Learning from DataForest Learning from Data
Forest Learning from Data
Joe Suzuki
 
A Bayesian Approach to Data Compression
A Bayesian Approach to Data CompressionA Bayesian Approach to Data Compression
A Bayesian Approach to Data Compression
Joe Suzuki
 
A Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent LearningA Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent Learning
Joe Suzuki
 
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
Joe Suzuki
 
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
Joe Suzuki
 
研究紹介(学生向け)
研究紹介(学生向け)研究紹介(学生向け)
研究紹介(学生向け)
Joe Suzuki
 
Bayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal MeasuresBayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal Measures
Joe Suzuki
 
MDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/MeasureMDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/Measure
Joe Suzuki
 
The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...
Joe Suzuki
 
Universal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or ContinuousUniversal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or Continuous
Joe Suzuki
 
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Joe Suzuki
 
The Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu AlgorithmThe Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu Algorithm
Joe Suzuki
 
Bayes Independence Test
Bayes Independence TestBayes Independence Test
Bayes Independence Test
Joe Suzuki
 

More from Joe Suzuki (20)

RとPythonを比較する
RとPythonを比較するRとPythonを比較する
RとPythonを比較する
 
R集会@統数研
R集会@統数研R集会@統数研
R集会@統数研
 
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
 
分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する
 
E-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka UniversityE-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka University
 
UAI 2017
UAI 2017UAI 2017
UAI 2017
 
AMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップAMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップ
 
Forest Learning from Data
Forest Learning from DataForest Learning from Data
Forest Learning from Data
 
A Bayesian Approach to Data Compression
A Bayesian Approach to Data CompressionA Bayesian Approach to Data Compression
A Bayesian Approach to Data Compression
 
A Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent LearningA Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent Learning
 
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
 
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
 
研究紹介(学生向け)
研究紹介(学生向け)研究紹介(学生向け)
研究紹介(学生向け)
 
Bayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal MeasuresBayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal Measures
 
MDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/MeasureMDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/Measure
 
The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...
 
Universal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or ContinuousUniversal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or Continuous
 
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
 
The Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu AlgorithmThe Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu Algorithm
 
Bayes Independence Test
Bayes Independence TestBayes Independence Test
Bayes Independence Test
 

CRAN Rパッケージ BNSLの概要