[戻る]

Bartlette法による等分散性の検定


標本集団間の等分散性を検定します。 ANOVAが仮定している諸条件の中でも、特に等分散性の仮定はシビアであるとのことですので、検定やる前に必ずチェックしましょう。 



半角文字列で入力し、ブロックごとに改行を入れて下さい。
最初から表示されている数列は入力例です。

数値の区切り方
カンマ,  タブ,  スペース



ソースコード(Ruby)

# Bartlett’s test for equality of variances
# (C) Copyright 2002, Hisashi SATO 
#
# total(), average(), varianth() はそれぞれ 合計、平均、分散を求めるメソッド

   def B_test(array)

   df		= Array.new(array.size,0.0) #自由度
   var		= Array.new(array.size,0.0) #分散
   log_var	= Array.new(array.size,0.0) #分散の対数
   df_var		= Array.new(array.size,0.0) #自由度×分散
   df_log_var	= Array.new(array.size,0.0) #自由度×分散の対数
   reverse_df	= Array.new(array.size,0.0) #自由度の逆数
	
   for block in 0..array.size-1
	df[block]		= array[block].size-1
	var[block]	= varianth(array[block])
	log_var[block]	= log(var[block])
	df_var[block]	= df[block] * var[block]
	df_log_var[block]	= df[block] * log_var[block]
	reverse_df[block]	= 1 / df[block]
   end
   
   q2 = total(df)
   q3 = log(total(df_var)/q2)
   q4 = total(df_log_var)
   q5 = q2*q3-q4
   q6 = 1.0 + (1 / (3*array.size-3)) * (total(reverse_df) - 1/q2)
   
   return q5/q6
   end






戻る