Statistics

統計に対するこのDTDのサブセット化は、1変数統計を表\わすために基礎的なフレームワークを提供します。それは、ModelStatsとして特定のモデルに対して、DTDによって使用されます。


<!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の数と一致しなければなりません。