def created_mean(data): total = 0.0 for k in range(len(data)): total = add(total, data[k]) result = division(total, len(data)) return "{0:.2f}".format(round(result, 2))
def created_mean_deviation(datax): meanx = created_mean(datax) sumx = 0.0 for k in range(len(datax)): diff = abs(subtract(datax[k], meanx)) sumx = add(sumx, diff) mean_dev = division(sumx, len(datax)) return "{0:.2f}".format(round(mean_dev, 2))
def created_zscore(datax): meanx = created_mean(datax) stdx = square_root(created_variance2(datax)) zscore = [] for k in range(len(datax)): diff = subtract(datax[k], meanx) zscore.append(division(diff, stdx)) zscore = ["%.2f" % item for item in zscore] return [float(k) for k in zscore]
def created_sample_correlation(datax, datay): meanx = created_mean(datax) meany = created_mean(datay) sumprod = 0.0 sumx = 0.0 sumy = 0.0 for k in range(len(datax)): temp = multiply(subtract(datax[k], meanx), subtract(datay[k], meany)) sumprod = add(sumprod, temp) sumx = add(sumx, square(subtract(datax[k], meanx))) sumy = add(sumy, square(subtract(datay[k], meany))) corr = division(sumprod, multiply(square_root(sumx), square_root(sumy))) return "{0:.2f}".format(round(corr, 2))
def test_division(self): self.assertEqual(division(10,2), 5.0)