Statistics
<!ELEMENT ModelStats ( Extension*, UnivariateStats+ ) > |
モデルに対する統計は、単一のフィールドに対する統計の集まり(collection)からなります。
一変数統計
<!ENTITY % AGGREGATE "(Counts?, NumericInfo?)" > <!ELEMENT UnivariateStats ( Extension*, (%AGGREGATE;)?, DiscrStats?, ContStats? ) > <!ATTLIST UnivariateStats field %FIELD-NAME; #IMPLIED > |
UnivariateStats要素は、一つのマイニングフィールドについての統計情報を含んでいます。ModelStatsの中のUnivariateStats要素はフィールド名を持たなければなりません。他の場合、属性「field」が見当たらないかもしれません。離散的な統計と連続的な統計が、数値のフィールドに対して同時に可能\です。数値のフィールドがあまりにも多くの離散値を持っている場合、この事は重要かもしれません。統計は最も頻度の高い値(the most frequent values)およびさらに完全なヒストグラム分配(complete histogram distribution)を含むことができます。
順序フィールドの統計はDiscrStatsに含まれています。
<!ELEMENT Counts EMPTY> <!ATTLIST Counts totalFreq %NUMBER; #REQUIRED missingFreq %NUMBER; #IMPLIED invalidFreq %NUMBER; #IMPLIED > |
要素Countsは、欠損か、無効か、有効であるのそれらの状態に関しての値の頻度のためのカウンターを実行します。
totalFreqはレコードをすべて数えます。すべてのマイニングフィールドの統計に対するものと同じである。missingFreqは、値が欠損しているレコードを数えます。invalidFreqは有効ではなかった値のレコードを数えます。全頻度(total frequency)は、欠損値と無効値を含んでいます。
<!ELEMENT NumericInfo (Quantile*) > <!ATTLIST NumericInfo minimum %NUMBER; #IMPLIED maximum %NUMBER; #IMPLIED mean %NUMBER; #IMPLIED standardDeviation %NUMBER; #IMPLIED median %NUMBER; #IMPLIED interQuartileRange %NUMBER; #IMPLIED > |
値のために、中間(mean)、最小(minimum)、最大(maximum)および標準偏差(standardDeviation)は普通に定義されます。中央値(median)は50%の四分位点として計算されます。interQuartileRangeは(75%quantile-25%quantile)として、計算されます。
<!ELEMENT Quantile EMPTY> <!ATTLIST Quantile quantileLimit %PERCENTAGE-NUMBER; #REQUIRED quantileValue %NUMBER; #REQUIRED > |
quantileLimitは0と100の間のパーセンテージの数です。quantileValueはフィールド値のドメインに対応する値です。
<!ELEMENT DiscrStats ( Extension*, (%STRING-ARRAY;)?, (%INT-ARRAY;)? ) > <!ATTLIST DiscrStats modalValue CDATA #IMPLIED > |
modalValueは最も頻度の高い離散値(most frequent discrete value)です。INT-ARRAYは、すべての頻度数(frequency numbers)のコンパクトな表\現を含んでいます。もし、文字列値の配列があるなら、INT-ARRAYの中の頻度数はそれそれの文字列値に対応します。そうでなければ、頻度数は、DataDictionaryの中で与えられるような(有効な)値のリストに対応します。統計がDerivedFieldを参照するなら、DerivedFieldが有効な値のリストを指定する手段を持たないので、値はすべてSTRING-ARRAYにリストされます。DiscrStatsが文字列値の配列を含んでおり、対応するDataFieldが、有効な値のリストを定義するなら、両方の集合は同じである。
<!ELEMENT ContStats ( Extension*, Interval*, (%INT-ARRAY;)?, (%NUM-ARRAY;)?, (%NUM-ARRAY;)? )> <!ATTLIST ContStats totalValuesSum %NUMBER; #IMPLIED totalSquaresSum %NUMBER; #IMPLIED > |
3つのARRAYは頻度、値の合計、および各々のintervalに対して2乗された値の合計を含んでいます。
注:intervalはDataDictionaryのためのDTDで定義されます。
例えば、分割(Partition)は、レコードの部分集合の統計を含んでいます。たとえば、クラスタ中の集団(population)を記述することができます。
<!ELEMENT Partition (PartitionFieldStats+) > <!ATTLIST Partition name CDATA #REQUIRED size %NUMBER; #IMPLIED > |
名前(name)は分割(partition)を識別します。サイズ(size)はレコードの数です、PartitionFieldStatsの中のAGGREGATEはすべては、total - frequency = sizeを持っていなければなりません。
<!ELEMENT PartitionFieldStats ( (%AGGREGATE;), (%NUM-ARRAY;)* ) > <!ATTLIST PartitionFieldStats field %FIELD-NAME; #REQUIRED > |
fieldは、バックグラウンド統計用のMiningField(の名前)を参照する。NUM-ARRAYのシーケンスはContStatsに対するのと同じ物です。categoricalなフィールド対しては、頻度数を含むただ一つの配列が存在します。数値のフィールドに対しては、第2および第3の配列が、値の和および2乗和をそれぞれ含んでいます。各配列中の値の数は、フィールドのUnivariateStatsの中のカテゴリーの数、もしくはintervalの数と一致しなければなりません。