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