Калькулятор коррекции непрерывности

@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; }

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; }

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; }

words_intro {

color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; } Поправка на непрерывность используется, когда вы хотите использовать нормальное распределение для аппроксимации биномиального распределения. Этот калькулятор позволяет применить поправку на непрерывность к нормальному распределению, чтобы найти приблизительные вероятности для биномиального распределения. Просто введите соответствующие значения для данного биномиального распределения ниже, а затем нажмите кнопку «Рассчитать». n (количество испытаний) Х (количество успехов) p (вероятность успеха в данном испытании)  Точные биномиальные вероятности: Р(Х = 3 ): 0,23040

Р (Х ≤ 3 ): 0,92196

Р (Х < 3 ): 0,68256

Р (Х ≥ 3 ): 0,31744

Р(Х > 3 ): 0,08704

Приблизительные вероятности с использованием поправки на непрерывность: Р( 2,5 <Х < 3,5 ): 0,23040

Р (Х < 3,5 ): 0,92196

Р (Х < 2,5 ): 0,68256

Р(Х > 2,5 ): 0,31744

Р(Х > 3,5 ): 0,08704

function binomialCalc() {

//get input values var X = document.getElementById('X').value; var p = document.getElementById('p').value; var n = document.getElementById('n').value;

//calculate cumulative probabilities var probArray = []; for (var i = 0; i <= X; i++) { probArray[i] = (math.factorial(n) / (math.factorial(n-i) * math.factorial(i))) * Math.pow(p, i) * Math.pow((1-p), (n-i)); }

//assign probabilities to variable names var exactProb = (math.factorial(n) / (math.factorial(n-X) * math.factorial(X))) * Math.pow(p, X) * Math.pow((1-p), (n-X)); var lessEqualProb = math.sum(probArray); var lessProb = lessEqualProb - exactProb; var greaterEqualProb = 1 - lessProb; var greaterProb = 1 - lessEqualProb;

//output probabilities document.getElementById('exactProb').innerHTML = exactProb.toFixed(5); document.getElementById('lessEqualProb').innerHTML = lessEqualProb.toFixed(5); document.getElementById('lessProb').innerHTML = lessProb.toFixed(5); document.getElementById('greaterEqualProb').innerHTML = greaterEqualProb.toFixed(5); document.getElementById('greaterProb').innerHTML = greaterProb.toFixed(5);

//change X to reflect value that user entered document.getElementsByClassName('user_X')[0].innerHTML = X; document.getElementsByClassName('user_X')[1].innerHTML = X; document.getElementsByClassName('user_X')[2].innerHTML = X; document.getElementsByClassName('user_X')[3].innerHTML = X; document.getElementsByClassName('user_X')[4].innerHTML = X;

//find correct continuity correction values var user_X1 = X-.5; var user_X2 = X-(-.5); var user_X3 = X-(-.5); var user_X4 = X-.5; var user_X5 = X-.5; var user_X6 = X-(-.5);

//apply continuity correction values document.getElementById('user_X1').innerHTML = (user_X1).toFixed(1); document.getElementById('user_X2').innerHTML = (user_X2).toFixed(1); document.getElementById('user_X3').innerHTML = (user_X3).toFixed(1); document.getElementById('user_X4').innerHTML = (user_X4).toFixed(1); document.getElementById('user_X5').innerHTML = (user_X5).toFixed(1); document.getElementById('user_X6').innerHTML = (user_X6).toFixed(1);

//find z scores var mean_z = n*p; var stdev_z = Math.sqrt(n*p*(1-p));

//find z-scores var approxProb1 = jStat.normal.cdf(user_X2, mean_z, stdev_z) - jStat.normal.cdf(user_X1, mean_z, stdev_z); var approxProb2 = jStat.normal.cdf(user_X3, mean_z, stdev_z); var approxProb3 = jStat.normal.cdf(user_X4, mean_z, stdev_z); var approxProb4 = 1-jStat.normal.cdf(user_X5, mean_z, stdev_z); var approxProb5 = 1-jStat.normal.cdf(user_X6, mean_z, stdev_z);

//output probabilities document.getElementById('approxProb1').innerHTML = approxProb1.toFixed(5); document.getElementById('approxProb2').innerHTML = approxProb2.toFixed(5); document.getElementById('approxProb3').innerHTML = approxProb3.toFixed(5); document.getElementById('approxProb4').innerHTML = approxProb4.toFixed(5); document.getElementById('approxProb5').innerHTML = approxProb5.toFixed(5); }