def pearson(data_x: list, data_y: list) -> float:
    """
    :param data_x: Primeira lista contendo os valores de uma entidade de uma amostra.
    :param data_y: Segunda lista contendo os valores de outra entidade da mesma amostra.
    :return: valor do Coeficiente de Pearson para as duas entidades, baseado nas
    amostras inseridas.
    """

    x_avg = lib.averageWithoutNumPy(data_x)
    y_avg = lib.averageWithoutNumPy(data_y)

    xi_Xavg, yi_Yavg = [], []
    for x, y in zip(data_x, data_y):
        xi_Xavg.append(x - x_avg)
        yi_Yavg.append(y - y_avg)

    sumprod, denominator_x, denominator_y = 0, 0, 0
    for i, j in zip(xi_Xavg, yi_Yavg):
        sumprod += i * j
        denominator_x += i**2
        denominator_y += j**2

    return sumprod / (math.sqrt(denominator_x) * math.sqrt(denominator_y))
Beispiel #2
0
def jao_da_faca(data: list, flag: int = 0, n=None):
    """
    :param n: Opcional, representa o nivel de confiança exigido.
    :param data: Lista dos dados da amostra.
    :param flag: Estimativa a ser utilizada.
    :return:
    """
    avg = lib.averageWithoutNumPy(data)
    if flag == 0:
        return jack_knife_avg(data)
    elif flag == 1:
        return jack_knife_variance(data)
    elif flag == 2:
        return math.sqrt(jack_knife_variance(data))
    elif flag == 3:
        return coefficients.confidenceIntervalStdDeviation \
            (len(data), n, math.sqrt(jack_knife_variance(data)), jack_knife_avg(data))
Beispiel #3
0
def bootstrap(data: list, rep: int) -> float:
    """
    :param data: Lista contendo os dados da amostra.
    :param rep: Numero de repetições a ser realizada.
    :return:
    """

    avg = lib.averageWithoutNumPy(data)
    print('Média: ', avg)
    averages, buffer = [], []

    for _ in range(rep):
        buffer = data.copy()
        buffer.pop(random.randrange(0, len(data)))
        averages.append(lib.sumWithoutMath(buffer) / len(buffer))
        buffer.clear()

    return lib.sumWithoutMath(averages) / len(averages)
Beispiel #4
0
def a(data_y, data_x):
    b_ = b(data_x, data_y)
    return str(
        lib.averageWithoutNumPy(data_y) - b_ * lib.averageWithoutNumPy(data_x))
def confidenceIntervalWithoutStdDeviation(percentage: float,
                                          sample: list) -> tuple:
    return (lib.averageWithoutNumPy(sample) + (lib.tStudent(percentage, len(sample)) * lib.stdDeviation(sample) / math.sqrt(len(sample)))), \
           (lib.averageWithoutNumPy(sample) - (lib.tStudent(percentage, len(sample)) * lib.stdDeviation(sample) / math.sqrt(len(sample))))