Ejemplo n.º 1
0
    def calcRegularizedGrangerCausality(self, pcaContribution, eta_xtkm,
                                        eta_xt, eta_ytkm):
        if (len(self.Xt) == 0):
            print "サンプルがありません"
            return False
        pca = PCAApplier(pcaContribution)
        import copy
        self.Xt = copy.deepcopy(pca.applyPCA(self.Xt))
        self.Xtkm = copy.deepcopy(pca.applyPCA(self.Xtkm))
        self.Ytkm = copy.deepcopy(pca.applyPCA(self.Ytkm))
        #        self.Xt   = copy.deepcopy(pca.applyKernelPCA(self.Xt))
        #        self.Xtkm = copy.deepcopy(pca.applyKernelPCA(self.Xtkm))
        #        self.Ytkm = copy.deepcopy(pca.applyKernelPCA(self.Ytkm))

        eigen_values = self.calcEquation21(eta_xtkm, eta_xt, eta_ytkm)
        eigen_value = max(eigen_values)

        if eigen_value == None:
            print "固有値が計算出来ません"
            return False

        return (np.log2(1 / (1 - eigen_value)) * 0.5).real