## データ・ファイル

Huginグラフィカル・ユーザー・インタフェースは，データ・ファイルの保存と読み込みをサポートします．データ・ファイルは，以下のようにケースの集合を格納します．

図 1:ある標本データ・ファイル

図 2: 他の標本データ・ファイル

図1に示すように，最初の行は，ネットワーク中のノードの名前で，一方，その下の各行は，各変数に値を割り当てられたケース，すなわち，各ノードに1つのオブザべーションを持つオブザベーションの集合を指定します．オブザベーションには欠損値があるかもしれません． 欠損値は， * を用いて指定されます．

データ・ファイルの最初の行は，必ずネットワーク中のノードの（部分集合）の名前を格納していることに注意してください．ノードのラベルではなく，名前を指定することが重要です．名前は，各ノードのためのユニークな（他にない）識別子です． したがって，図1のデータ・ファイルは，ネットワークが， 名前 E， T， L， S， A ， D， B，Xのノードを持つことを仮定しています．これは，図3（ノードにノード・ラベルが表示されている）に示すネットワークのノード名です.

図 3: "Chest Clinic"のベイジアンネットワーク表現

このネットワークのドメインに関する詳細は，Chest Clinicを参照．

### データ・ファイルの形式は，下記の文法で記述できます:

<Data file> ::= <Header> <Case>*
<Header> ::= # <Separator> <Node list> | <Node list>
<Separator> ::= , | <Empty>
<Node list> ::= <Node name> | <Node list> <Separator> <Node name>
<Case> ::= <Case count> <Separator> <Data list> | <Data list>
<Case count> ::= <Nonnegative real number>
<Data list> ::= <Data> | <Data list> <Separator> <Data>
<Data> ::= <Value> | * | ? | <Empty>
<Value> ::= <State index> | <Label> | <Real number> | true | false
<State index> ::= #<Integer>

ここで:

- <Header>は， ファイル中の1行を占めます．同様に，各 <Case> は1行を占めます．
- # が<Header>の最初のエレメントの場合，<Case>は， <Case count>を含みます．
- 各<Case>は，<Header>に指定された各ノードの <Data> 項目を格納します．<Data list>中の i番目の<Data> 項目（それが <Value>である場合）は，<Header>の<Node list>中のi番目のノードに対して有効であるはずです．
- <Data> が *， ?， または <Empty>である場合，そのデータは，'missing'（欠損値）として取られます．
- <Separator> が <Empty>の場合，<Empty>には個別の項目が何も使用できません．
- <Value>は，<Likelihood>が使用できない例外とともに，節 8.8のように定義されています．
- CG，数字つきノード，および区間ノードには，<Real number> は，有効な指定です．数字つきノードと区間ノードについて，許容されるな値は，名前つきノードのステート値よって定義されます．
- ラベルつきノードには，<Label>が有効な指定です．ラベル（重複した文字列）は，名前つきノードのユニークなステート・ラベルにマッチしなければなりません．ラベルが単一の語である場合は，引用は省略されます．
- 論理ノードには，真と偽が有効な指定です．

Back