コード例 #1
0
def apply_SSA_decomposition_one(var, ncomp, data):
    """
    Applies SSA decomposition to one variable of the data

    :param var:
    :param ncomp:
    :param data:
    :return:
    """
    mdec = data[:, :, var]
    # print(mdec.shape, ncomp)
    ssa = SSA(ncomp)

    ldec = []
    for i in range(mdec.shape[0]):
        ssa.fit(mdec[i])
        ldec.append(ssa.decomposition())
    decvar = np.swapaxes(np.stack(ldec), 1, 2)
    return np.concatenate((data[:, :, 1:], decvar), axis=2)
コード例 #2
0
def apply_SSA_decomposition_y(ncomp, data):
    """
    Applies SSA decomposition to one variable of the data

    :param ncomp:
    :param data:
    :return:
    """
    mdec = data
    # print(mdec.shape, ncomp)
    ssa = SSA(ncomp)

    ldec = []
    for i in range(mdec.shape[0]):
        ssa.fit(mdec[i])
        ldec.append(ssa.decomposition())
    decvar = np.swapaxes(np.stack(ldec), 1, 2)
    # print(decvar.shape)
    return decvar
コード例 #3
0
def apply_SSA_decomposition_all(ncomp, data):
    """
    Applies SSA decomposition to one variable of the data

    :param var:
    :param ncomp:
    :param data:
    :return:
    """
    dmat = []
    ssa = SSA(ncomp)
    for m in range(data.shape[2]):
        mdec = data[:, :, m]

        ldec = []
        for i in range(mdec.shape[0]):
            ssa.fit(mdec[i])
            ldec.append(ssa.decomposition())
        decvar = np.swapaxes(np.stack(ldec), 1, 2)
        dmat.append(decvar)
    return np.concatenate(dmat, axis=2)