Пример #1
0
    def test_sobol(self):
        ## Minimal
        df_first = gr.eval_hybrid(self.md, df_det="nom")
        df_sobol = gr.tran_sobol(df_first)
        self.assertTrue(set(df_sobol.columns) == set(["y0", "ind"]))
        self.assertTrue(set(df_sobol["ind"]) == set(["S_x0", "S_x1"]))

        ## Full
        df_full = gr.tran_sobol(df_first, full=True)
        self.assertTrue(set(df_full.columns) == set(["y0", "ind"]))
        self.assertTrue(
            set(df_full["ind"]) == set(["S_x0", "S_x1", "T_x0", "T_x1", "var"
                                        ]))

        ## Total order
        df_total = gr.eval_hybrid(self.md, df_det="nom", plan="total")
        df_sobol_total = gr.tran_sobol(df_total)
        self.assertTrue(set(df_sobol.columns) == set(["y0", "ind"]))
        self.assertTrue(set(df_sobol["ind"]) == set(["S_x0", "S_x1"]))
Пример #2
0
    def test_hybrid(self):
        df_min = gr.eval_hybrid(self.md, df_det="nom")
        self.assertTrue(
            set(df_min.columns) == set(self.md.var + self.md.out +
                                       ["hybrid_var"]))
        self.assertTrue(df_min._meta["type"] == "eval_hybrid")

        df_seeded = gr.eval_hybrid(self.md, df_det="nom", seed=101)
        df_piped = self.md >> gr.ev_hybrid(df_det="nom", seed=101)
        self.assertTrue(df_seeded.equals(df_piped))

        df_total = gr.eval_hybrid(self.md, df_det="nom", plan="total")
        self.assertTrue(
            set(df_total.columns) == set(self.md.var + self.md.out +
                                         ["hybrid_var"]))
        self.assertTrue(df_total._meta["type"] == "eval_hybrid")

        df_skip = gr.eval_hybrid(self.md, df_det="nom", skip=True)
        self.assertTrue(
            set(df_skip.columns) == set(self.md.var + ["hybrid_var"]))

        ## Raises
        md_buckle = models.make_plate_buckle()
        with self.assertRaises(ValueError):
            gr.eval_hybrid(md_buckle, df_det="nom")