Калькулятор теста Бартлетта
@import url('https://fonts.googleapis.com/css?family=Droid+Serif|Raleway');
.axis--y .domain { display: none; }
h1 { text-align: center; font-size: 50px; margin-bottom: 0px; font-family: 'Raleway', serif; }
p { color: black; text-align: center; margin-bottom: 15px; margin-top: 15px; font-family: 'Raleway', sans-serif; }
words {
color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; padding-left: 100px; }
words_text {
color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; }
words_text_area {
display:inline-block; color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; padding-left: 100px; }
calcTitle {
text-align: center; font-size: 20px; margin-bottom: 0px; font-family: 'Raleway', serif; }
hr_top {
width: 30%; margin-bottom: 0px; border: none; height: 2px; color: black; background-color: black; }
hr_bottom {
width: 30%; margin-top: 15px; border: none; height: 2px; color: black; background-color: black; }
words label, input {
display: inline-block; vertical-align: baseline; width: 350px; }
#button { border: 1px solid; border-radius: 10px; margin-top: 20px; padding: 10px 10px; cursor: pointer; outline: none; background-color: white; color: black; font-family: 'Work Sans', sans-serif; border: 1px solid grey; /* Green */ }
#button:hover { background-color: #f6f6f6; border: 1px solid black; }
.label_radio { text-align: center; }
td, tr, th { border: 1px solid black; } table { border-collapse: collapse; } td, th { min-width: 50px; height: 21px; } .table_span_x, .table_span_y { width: 100%; display: block; }
words_table {
color: black; font-family: Raleway; max-width: 350px; margin: 25px auto; line-height: 1.75; padding-left: 20px; }
summary_table {
color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; padding-left: 20px; }
.label_radio { text-align: center; }
text_area_input {
padding-left: 5%; float: left; }
textarea, textarea:focus { margin-right: 5px; width: 85px; outline: 1px solid #aeaeae; } Тест Бартлетта используется для проверки того, взяты ли выборки из популяций с одинаковой дисперсией. Некоторые статистические тесты, такие как однофакторный дисперсионный анализ , предполагают, что дисперсии одинаковы для всех выборок. Для проверки этого предположения можно использовать тест Бартлетта.
Чтобы провести тест Бартлетта для пяти образцов, просто введите значения данных ниже и нажмите кнопку «Рассчитать». Статистика теста и соответствующее значение p будут показаны ниже. Значение р менее 0,05 является убедительным доказательством того, что дисперсии неодинаковы по выборкам.
Образец 1 || Образец 2 || Образец 3 || Образец 4 || Образец 5
//create function that performs t test calculations function calc() {
//define addition function function add(a, b) { return a + b; }
//get raw data //group a // var values_a_input = document.getElementsByClassName('a'); //var values_a_array = []; //for (var i = 0; i < values_a_input.length; i++) { // values_a_array[i] = values_a_input[i].innerText; // } //values_a_array = values_a_array.filter(n => n); //var group_a = values_a_array.map(Number); if(document.getElementById("a").value == '') { var group_a = ''; } else { var group_a = document.getElementById('a').value.match(/\d+/g).map(Number); }
if(document.getElementById("b").value == '') { var group_b = ''; } else { var group_b = document.getElementById('b').value.match(/\d+/g).map(Number); }
if(document.getElementById("c").value == '') { var group_c = ''; } else { var group_c = document.getElementById('c').value.match(/\d+/g).map(Number); }
if(document.getElementById("d").value == '') { var group_d = ''; } else { var group_d = document.getElementById('d').value.match(/\d+/g).map(Number); }
if(document.getElementById("e").value == '') { var group_e = ''; } else { var group_e = document.getElementById('e').value.match(/\d+/g).map(Number); }
var all_groups = (group_a.concat(group_b, group_c, group_d, group_e)).filter(n => n);
//get summary stats of each group if (group_a.length > 0) { var mean_group_a = math.mean(group_a); }; if (group_b.length > 0) { var mean_group_b = math.mean(group_b); }; if (group_c.length > 0) { var mean_group_c = math.mean(group_c); }; if (group_d.length > 0) { var mean_group_d = math.mean(group_d); }; if (group_e.length > 0) { var mean_group_e = math.mean(group_e); };
if (group_a.length > 0) { var var_group_a = math.var(group_a); }; if (group_b.length > 0) { var var_group_b = math.var(group_b); }; if (group_c.length > 0) { var var_group_c = math.var(group_c); }; if (group_d.length > 0) { var var_group_d = math.var(group_d); }; if (group_e.length > 0) { var var_group_e = math.var(group_e); };
if (group_a.length > 0) { var lnvar_group_a = Math.log(var_group_a); } else { var lnvar_group_a = 0;}; if (group_b.length > 0) { var lnvar_group_b = Math.log(var_group_b); } else { var lnvar_group_b = 0;}; if (group_c.length > 0) { var lnvar_group_c = Math.log(var_group_c); } else { var lnvar_group_c = 0;}; if (group_d.length > 0) { var lnvar_group_d = Math.log(var_group_d); } else { var lnvar_group_d = 0;}; if (group_e.length > 0) { var lnvar_group_e = Math.log(var_group_e); } else { var lnvar_group_e = 0;};
if (group_a.length > 0) { var df_group_a = group_a.length-1; } else { var df_group_a = 0;}; if (group_b.length > 0) { var df_group_b = group_b.length-1; } else { var df_group_b = 0;}; if (group_c.length > 0) { var df_group_c = group_c.length-1; } else { var df_group_c = 0;}; if (group_d.length > 0) { var df_group_d = group_d.length-1; } else { var df_group_d = 0;}; if (group_e.length > 0) { var df_group_e = group_e.length-1; } else { var df_group_e = 0;};
var total_df = [df_group_a, df_group_b, df_group_c, df_group_d, df_group_e].reduce(add, 0); var total_df1 = 1 / total_df;
var lnvar_array = [lnvar_group_a, lnvar_group_b, lnvar_group_c, lnvar_group_d, lnvar_group_e]; var df_array = [df_group_a, df_group_b, df_group_c, df_group_d, df_group_e]; var lnvar_df_array = [] for (var i = 0; i < lnvar_array.length; i++) { lnvar_df_array.push(lnvar_array[i] * df_array[i]); }
var sum_lnvar_df_array = lnvar_df_array.reduce(add, 0);
if (group_a.length > 0) { var flag_group_a = 1; } else { var flag_group_a = 0;}; if (group_b.length > 0) { var flag_group_b = 1; } else { var flag_group_b = 0;}; if (group_c.length > 0) { var flag_group_c = 1; } else { var flag_group_c = 0;}; if (group_d.length > 0) { var flag_group_d = 1; } else { var flag_group_d = 0;}; if (group_e.length > 0) { var flag_group_e = 1; } else { var flag_group_e = 0;};
if (group_a.length > 0) { var df1_group_a = 1/df_group_a; } else { var df1_group_a = 0;}; if (group_b.length > 0) { var df1_group_b = 1/df_group_b; } else { var df1_group_b = 0;}; if (group_c.length > 0) { var df1_group_c = 1/df_group_c; } else { var df1_group_c = 0;}; if (group_d.length > 0) { var df1_group_d = 1/df_group_d; } else { var df1_group_d = 0;}; if (group_e.length > 0) { var df1_group_e = 1/df_group_e; } else { var df1_group_e = 0;};
var df1_array = [df1_group_a, df1_group_b, df1_group_c, df1_group_d, df1_group_e]; var df1_array_sum = df1_array.reduce(add, 0);
var treatments = [flag_group_a, flag_group_b, flag_group_c, flag_group_d, flag_group_e].reduce(add, 0) - 1;
if (treatments == 1) { var total_var = jStat.pooledvariance([group_a, group_b]); var total_lnvar = Math.log(total_var); } else if (treatments == 2) { var total_var = jStat.pooledvariance([group_a, group_b, group_c]); var total_lnvar = Math.log(total_var); } else if (treatments == 3) { var total_var = jStat.pooledvariance([group_a, group_b, group_c, group_d]); var total_lnvar = Math.log(total_var); } else if (treatments == 4) { var total_var = jStat.pooledvariance([group_a, group_b, group_c, group_d, group_e]); var total_lnvar = Math.log(total_var); } //calculate test statistic var b_numerator = total_df * total_lnvar - sum_lnvar_df_array; var b_denominator = 1 - (-1 / (3*treatments)) * (df1_array_sum - total_df1); var b = b_numerator / b_denominator; var p = 1 - jStat.chisquare.cdf(b, treatments); console.log(df1_array, lnvar_array, total_df, total_var, total_lnvar, total_df1); //output results document.getElementById('B').innerHTML = "Test Statistic B: " + b.toFixed(5); document.getElementById('p').innerHTML = "p-value: " + p.toFixed(5); }