def correlation(sd, a, b): sampleA = SelectWithSeed.pickItem(sd, a, 10) sampleB = SelectWithSeed.pickItem(sd, b, 10) cov = Covariance.covariance(sampleA, sampleB) stdDevA = StandardDeviation.standardDeviation(sampleA) stdDevB = StandardDeviation.standardDeviation(sampleB) return cov / (stdDevA * stdDevB)
def popcorrelation(data1, data2): covxy = 0 n = 0 xmean = Mean.mean(data1) ymean = Mean.mean(data2) xstd = StandardDeviation.stardardDev(data1) ystd = StandardDeviation.stardardDev(data2) if (len(data1) == len(data2)): for x, y in zip(data1, data2): n += 1 covxy += abs((int(x - xmean) * int(y - ymean)) / n) return covxy / (xstd * ystd)
def samplecorrelation(data1, data2): numerator = 0 n = 0 meanofx = Mean.mean(data1) meanofy = Mean.mean(data2) stdevx = StandardDeviation.stardardDev(data1) stdevy = StandardDeviation.stardardDev(data2) if len(data1) == len(data2): for x, y in zip(data1, data2): n += 1 numerator += abs( (int(x - meanofx) * int(y - meanofy)) / (n - 1)) return numerator / (stdevx * stdevy)
def setUp(self): self.sample = Sample() self.list1 = Randm.randList(1, 100, 30, 99) self.size = len(self.list1) self.standarddev = StandardDeviation.stardardDev(self.list1) self.merror = 3 self.mean = Mean.mean(self.list1)
def confInterval(data, cval=0.95): mean = Mean.mean(data) standardDev = StandardDeviation.stardardDev(data) n = len(data) zscr = ZScore.zscore(cval) num = round(zscr * (standardDev / nthroot.root(2, n)), 2) return round((mean - num), 2), round(mean), round((mean + num), 2)
def marginoferror(data): standardDev = StandardDeviation.stardardDev(data) zscr = abs(ZScore.zscore(data)) n = len(data) return zscr * (standardDev / (nthroot.root(2, n)))
def confInterval(data): zvalue = ZScore.zscore(data) stdDev = StandardDeviation.stardardDev(data) mean = Mean.mean(data) n = len(data) num = round(zvalue * (stdDev / nthroot.root(2, n)), 2) return round((mean - num), 2), round(mean), round((mean + num), 2)
def sampleSize(sd, data): e = MarginError.margin(sd, data) stdDev = StandardDeviation.standardDeviation(data) val = (1.96 * stdDev) / e sample = Exponentiation.exponent(val, 2) return sample
def zscore(data): newData = [] mean = Mean.mean(data) stdDev = StandardDeviation.stardardDev(data) for i in data: newData.append((i - mean)/stdDev) return newData
def test_StatisticFunctions_StandardDeviation(self): self.assertEqual(29.052495589880053, StandardDeviation.standardDeviation(self.testData))
def variance(data): return Exponentiation.power(StandardDeviation.stardardDev(data), 2)
def standardDev(self, data): self.result = StandardDeviation.stardardDev(data) return self.result
def samplestdev(data): zval = ZScore.zscore(data) stdDev = StandardDeviation.stardardDev(data) merror = MarginOfError.marginoferror(data) num = Exponentiation.power(((zval * stdDev) / (merror / 100)), 2) return round(num, 2)
def popCor(a, b): cov = Covariance.covariance(a, b) stdDevA = StandardDeviation.standardDeviation(a) stdDevB = StandardDeviation.standardDeviation(b) return cov / (stdDevA * stdDevB)
def skewness(data): mean = Mean.mean(data) median = Median.med(data) stdDev = StandardDeviation.stardardDev(data) return (3 * (mean - median)) / stdDev
def margin(sd, data): z_score = Zscore.zscore(sd, data) stdDev = StandardDeviation.standardDeviation(data) return z_score * stdDev