コード例 #1
0
    def get_report(self, doc: Printer):
        doc.add_heading(
            "Группа эталонов. {}".format(Sample.display_file_group(
                self.factor)), 0)

        doc.add_heading(
            "Распределение средних значений фактор-образцов {}".format(
                self.factor_name), 1)
        for std, ml in zip(self.stds, self.max_list):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            doc.add_paragraph(str_arr(ml))

        doc.add_heading(
            "Результаты визуального анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 1)
        for std, va in zip(self.stds, self.va):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            doc.add_picture(va)

        doc.add_heading(
            "Результаты статистического анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 1)
        for std, stat in zip(self.stds, self.stat):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_stats(stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 1)
        for std, ntest in zip(self.stds, self.ntest):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_ntest(ntest, doc)
コード例 #2
0
    def get_report(self, doc: Printer):
        doc.add_heading("Группа эталонов. Группа образцов", 0)

        for factor, factor_name in enumerate(FACTORS_L):
            doc.add_heading("Для фактора {}".format(factor_name), 1)

            doc.add_heading(
                "Распределения средних значений фактор-образцов {}".format(
                    factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                doc.add_paragraph("Количество значений равно = {}".format(
                    len(self.max_list[idx][factor])))
                doc.add_paragraph(str_arr(self.max_list[idx][factor]))

            doc.add_heading(
                "Результаты визуального анализа распределений средних значений фактор-образцов {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                doc.add_picture(self.va[idx][factor])

            doc.add_heading(
                "Результаты статистического анализа распределений средних значений фактор-образцов {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                report_stats(self.stat[idx][factor], doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределений средних значений фактор-образцов {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                report_ntest(self.ntest[idx][factor], doc)
コード例 #3
0
    def get_report(self, doc: Printer):
        doc.add_heading(
            "{} {}. Группа эталонов".format(self.sample_name,
                                            self.factor_name), 0)

        # Значения
        doc.add_heading(
            "Последовательность расстояний от максимумов значений эталона до максимумов фактор-образца",
            1)
        for std, xr in zip(self.stds, self.distance):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            # doc.add_paragraph("Количество значений равно = {}".format(len(xr)))
            doc.add_paragraph(str_arr(xr))
        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов значений эталона",
            1)
        for std, va in zip(self.stds, self.va):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            doc.add_picture(va)
        doc.add_heading(
            "Результат статистического анализа распределения расстояний от максимумов значений эталона",
            1)
        for std, stat in zip(self.stds, self.stat):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_stats(stat, doc)
        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от максимумов значений эталона",
            1)
        for std, ntest in zip(self.stds, self.ntest):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_ntest(ntest, doc)

        # Амплитуды
        doc.add_heading(
            "Последовательность расстояний от максимумов амплитуд значений эталона до максимумов фактор-образца",
            1)
        for std, xr in zip(self.stds, self.distance_apl):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            # doc.add_paragraph("Количество значений равно = {}".format(len(xr)))
            doc.add_paragraph(str_arr(xr))
        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов амплитуд значений эталона",
            1)
        for std, va_apl in zip(self.stds, self.va_apl):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            doc.add_picture(va_apl)
        doc.add_heading(
            "Результат статистического анализа распределения расстояний от максимумов амплитуд значений эталона",
            1)
        for std, stat_apl in zip(self.stds, self.stat_apl):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_stats(stat_apl, doc)
        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона",
            1)
        for std, ntest_apl in zip(self.stds, self.ntest_apl):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_ntest(ntest_apl, doc)
コード例 #4
0
def report_ntest(report, doc: Printer):
    res_ok = "пройден"
    res_nok = "не пройден"

    shapiro = report["shapiro"]
    doc.add_paragraph("Тест нормальности Шапиро-Вилка: {}".format(
        res_ok if shapiro["res"] else res_nok))

    agostino = report["agostino"]
    doc.add_paragraph(
        "Тест нормальности Д'Агостино и Пирсона: из {0} прогонов доля {1}/{0} = {2:.2f} отклоняет "
        "гипотезу о нормальности на уровне отклонения {3}".format(
            agostino["num_tests"], agostino["num_rejects"], agostino["ratio"],
            agostino["alpha"]))

    ks = report["ks"]
    doc.add_paragraph(
        "Тест нормальности Колмогорова-Смирнова: из {0} прогонов доля {1}/{0} = {2:.2f} отклоняет "
        "гипотезу о нормальности на уровне отклонения {3}".format(
            ks["num_tests"], ks["num_rejects"], ks["ratio"], ks["alpha"]))

    if report['qq'] and doc.destination == "doc":
        img = plot_image(test_normal_plot, report)
        doc.add_paragraph("QQ-тест:")
        doc.add_picture(img, width=Cm(12.5))
コード例 #5
0
def report_std(std: Standard, doc: Printer):
    doc.add_heading("Эталон {}".format(std.name), 1)
    doc.add_paragraph("Количество значений равно = {}".format(len(std.data)))
    doc.add_paragraph(str_arr(std.data))
    doc.add_paragraph("Количество максимумов равно = {}".format(
        len(std.seq_max)))
    doc.add_paragraph(str_arr(std.seq_max))
コード例 #6
0
def report_sample_factor(sample: Sample, factor: int, doc: Printer):
    doc.add_heading("Фактор-образец {}".format(FACTORS[factor].lower()), 2)
    doc.add_paragraph("Количество значений равно = {}".format(
        len(sample.data[factor])))
    doc.add_paragraph(str_arr(sample.data[factor]))
    doc.add_paragraph("Количество максимумов равно = {}".format(
        len(sample.seq_max[factor])))
    doc.add_paragraph(str_arr(sample.seq_max[factor]))
コード例 #7
0
    def get_report(self, doc: Printer):
        doc.add_heading(
            "{} {}. Эталон {}".format(self.sample_name, self.factor_name,
                                      self.std.name), 0)

        # Значения
        doc.add_heading(
            "Последовательность расстояний от максимумов значений эталона до максимумов фактор-образца",
            1)
        doc.add_paragraph(str_arr(self.distance))

        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов значений эталона",
            1)
        doc.add_picture(self.va)

        doc.add_heading(
            "Результат статистического анализа распределения расстояний от максимумов значений эталона",
            1)
        report_stats(self.stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от максимумов значений эталона",
            1)
        report_ntest(self.ntest, doc)

        # Амплитуды
        doc.add_heading(
            "Последовательность расстояний от максимумов амплитуд значений эталона до максимумов фактор-образца",
            1)
        doc.add_paragraph(str_arr(self.distance_apl))

        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов амплитуд значений эталона",
            1)
        doc.add_picture(self.va_apl)

        doc.add_heading(
            "Результат статистического анализа распределения расстояний от максимумов амплитуд значений эталона",
            1)
        report_stats(self.stat_apl, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона",
            1)
        report_ntest(self.ntest_apl, doc)
コード例 #8
0
    def get_report(self, doc: Printer):
        doc.add_heading("Эталон {}. Группа образцов".format(self.std.name), 0)

        for factor in range(4):
            factor_name = FACTORS[factor].lower()
            doc.add_heading("Для фактора {}".format(factor_name), 1)
            doc.add_heading(
                "Распределение средних значений эталона {} для образцов {}".
                format(self.std.name, factor_name), 2)
            doc.add_paragraph(str_arr(self.max_list[factor]))
            doc.add_heading(
                "Результаты  визуального анализа распределений средних значений эталона {} для фактор-образцов {}"
                .format(self.std.name, factor_name), 2)
            doc.add_picture(self.va[factor])
            doc.add_heading(
                "Результаты тестирования нормальности распределений средних значений эталона {} для фактор-образцов {}"
                .format(self.std.name, factor_name), 2)
            report_ntest(self.ntest[factor], doc)
            doc.add_heading(
                "Результаты статистического анализа распределений средних значений эталона {} для фактор-образцов {}"
                .format(self.std.name, factor_name), 2)
            doc.add_paragraph("\tВыборочное среднее = {:.2f}".format(
                self.stat[factor][0]))
            doc.add_paragraph("\tСтандартное отклонение = {:.2f}".format(
                self.stat[factor][1]))
            doc.add_paragraph(
                "\tДоверительный интервал = ({:.2f}, {:.2f})".format(
                    *self.stat[factor][2]))

            doc.add_heading(
                "Распределение средних амплитуд эталона {} для образцов {}".
                format(self.std.name, factor_name), 2)
            doc.add_paragraph(str_arr(self.max_list_apl[factor]))
            doc.add_heading(
                "Результаты  визуального анализа распределений средних амплитуд эталона {} для фактор-образцов {}"
                .format(self.std.name, factor_name), 2)
            doc.add_picture(self.va_apl[factor])
            doc.add_heading(
                "Результаты тестирования нормальности распределений средних амплитуд эталона {} для фактор-образцов {}"
                .format(self.std.name, factor_name), 2)
            report_ntest(self.ntest_apl[factor], doc)
            doc.add_heading(
                "Результаты статистического анализа распределений средних амплитуд эталона {} для фактор-образцов {}"
                .format(self.std.name, factor_name), 2)
            report_stats(self.stat_apl[factor], doc)
コード例 #9
0
    def get_report(self, doc: Printer):
        doc.add_heading("Группа эталонов. {}".format(self.sample_name), 0)

        for factor, factor_name in enumerate(FACTORS_L):
            doc.add_heading("Для фактора {}".format(factor_name), 1)

            doc.add_heading(
                "Последовательности расстояний от фактор-образца {}".format(
                    factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Последовательность расстояний от максимумов фактор-образца {} до ближайшего максимума эталона {}"
                    .format(factor_name, std.name), 2)
                # doc.add_paragraph("Количество значений равно = {}".format(len(self.distance[idx][factor])))
                doc.add_paragraph(str_arr(self.distance[idx][factor]))

            doc.add_heading(
                "Результаты визуального анализа распределения расстояний от фактор-образца {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Результаты визуального анализа распределения расстояний до эталона {}"
                    .format(std.name), 2)
                doc.add_picture(self.va[idx][factor])

            doc.add_heading(
                "Результаты статистического анализа распределения расстояний от фактор-образца {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Результаты статистического анализа распределения расстояний до эталона {}"
                    .format(std.name), 2)
                report_stats(self.stat[idx][factor], doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний от фактор-образца {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Результаты тестирования нормальности распределения расстояний до эталона {}"
                    .format(std.name), 2)
                report_ntest(self.ntest[idx][factor], doc)
コード例 #10
0
    def get_report(self, doc: Printer):
        doc.add_heading("Группа эталонов. Группа образцов", 0)

        for idx, std in enumerate(self.stds):
            for factor in range(4):
                factor_name = FACTORS[factor].lower()
                doc.add_heading(
                    "Для эталона {} и фактора {}".format(
                        std.name, factor_name), 1)
                doc.add_heading(
                    "Распределение средних значений эталона {} для фактора {}".
                    format(std.name, factor_name), 2)
                doc.add_paragraph(str_arr(self.max_list[idx][factor]))
                doc.add_heading(
                    "Результаты  визуального  анализа распределений средних значений эталона {} для фактор-образцов {}"
                    .format(std.name, factor_name), 2)
                doc.add_picture(self.va[idx][factor])
                doc.add_heading(
                    "Результаты тестирования нормальности распределений средних значений эталона {} для фактор-образцов {}"
                    .format(std.name, factor_name), 2)
                report_ntest(self.ntest[idx][factor], doc)
                doc.add_heading(
                    "Результаты статистического анализа распределений средних значений эталона {} для фактор-образцов {}"
                    .format(std.name, factor_name), 2)
                report_stats(self.stat[idx][factor], doc)

                doc.add_heading(
                    "Распределение средних амплитуд эталона {} для фактора {}".
                    format(std.name, factor_name), 2)
                doc.add_paragraph(str_arr(self.max_list_apl[idx][factor]))
                doc.add_heading(
                    "Результаты  визуального  анализа распределений средних амплитуд эталона {} для фактор-образцов {}"
                    .format(std.name, factor_name), 2)
                doc.add_picture(self.va_apl[idx][factor])
                doc.add_heading(
                    "Результаты тестирования нормальности распределений средних амплитуд эталона {} для фактор-образцов {}"
                    .format(std.name, factor_name), 2)
                report_ntest(self.ntest_apl[idx][factor], doc)
                doc.add_heading(
                    "Результаты статистического анализа распределений средних амплитуд эталона {} для фактор-образцов {}"
                    .format(std.name, factor_name), 2)
                report_stats(self.stat_apl[idx][factor], doc)
コード例 #11
0
    def get_report(self, doc: Printer):
        doc.add_heading(
            "Группа эталонов. {} {}".format(self.sample_name,
                                            self.factor_name), 0)

        doc.add_heading(
            "Последовательности расстояний от фактор-образца {}".format(
                self.factor_name), 1)
        for std, xr in zip(self.stds, self.distance):
            doc.add_heading(
                "Последовательность расстояний до эталона {}".format(std.name),
                2)
            doc.add_paragraph("Количество значений равно = {}".format(len(xr)))
            doc.add_paragraph(str_arr(xr))

        doc.add_heading(
            "Результаты визуального анализа распределения расстояний от фактор-образца {}"
            .format(self.factor_name), 1)
        for std, va in zip(self.stds, self.va):
            doc.add_heading(
                "Результаты визуального анализа распределения расстояний до эталона {}"
                .format(std.name), 2)
            doc.add_picture(va)

        doc.add_heading(
            "Результаты статистического анализа распределения расстояний от фактор-образца {}"
            .format(self.factor_name), 1)
        for std, stat in zip(self.stds, self.stat):
            doc.add_heading(
                "Результаты статистического анализа распределения расстояний до эталона {}"
                .format(std.name), 2)
            report_stats(stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от фактор-образца {}"
            .format(self.factor_name), 1)
        for std, ntest in zip(self.stds, self.ntest):
            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний до эталона {}"
                .format(std.name), 2)
            report_ntest(ntest, doc)
コード例 #12
0
    def get_report(self, doc: Printer):
        doc.add_heading("Эталон {}. Группа образцов".format(self.std.name), 0)

        doc.add_heading(
            "Распределение средних значений фактор-образцов {}".format(
                self.factor_name), 2)
        doc.add_paragraph(str_arr(self.max_list))

        doc.add_heading(
            "Результаты визуального анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 2)
        doc.add_picture(self.va)

        doc.add_heading(
            "Результаты статистического анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 2)
        report_stats(self.stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 2)
        report_ntest(self.ntest, doc)
コード例 #13
0
    def get_report(self, doc: Printer):
        doc.add_heading(
            "{}. Эталон {}".format(self.sample_name, self.std.name), 0)

        # Значения
        doc.add_heading(
            "Ряды расстояний и распределения расстояний от максимумов значений эталона до ближайшего "
            "максимума образца", 1)
        for factor, xr in zip(FACTORS_L, self.distance):
            doc.add_paragraph(
                "Ряд расстояний от максимумов значений эталона до ближайшего максимума фактор-образца {}:"
                .format(factor))
            doc.add_paragraph(str_arr(xr))

        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов значений эталона",
            1)
        for factor, va in zip(FACTORS_L, self.va):
            doc.add_heading(
                "Результаты визуального анализа до ближайшего максимума фактор-образца {}"
                .format(factor), 2)
            doc.add_picture(va)

        doc.add_heading(
            "Результаты статистического анализа распределения расстояний от максимумов значений эталона",
            1)
        for factor, stat in zip(FACTORS_L, self.stat):
            doc.add_heading(
                "Результаты статистического анализа до ближайшего максимума фактор-образца {}"
                .format(factor), 2)
            report_stats(stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от максимумов значений эталона",
            1)
        for factor, ntest in zip(FACTORS_L, self.ntest):
            doc.add_heading(
                "Результаты тестирования нормальности до ближайшего максимума фактор-образца {}"
                .format(factor), 2)
            report_ntest(ntest, doc)

        # Амплитуды
        doc.add_heading(
            "Ряды расстояний и распределения расстояний от максимумов амплитуд значений эталона до "
            "ближайшего максимума образца", 1)
        for factor, xr in zip(FACTORS_L, self.distance_apl):
            doc.add_paragraph(
                "Ряд расстояний от максимумов амплитуд значений эталона до ближайшего максимума фактор-образца {}:"
                .format(factor))
            doc.add_paragraph(str_arr(xr))

        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов амплитуд значений эталона",
            1)
        for factor, va_apl in zip(FACTORS_L, self.va_apl):
            doc.add_heading(
                "Результаты визуального анализа до ближайшего максимума фактор-образца {}"
                .format(factor), 2)
            doc.add_picture(va_apl)

        doc.add_heading(
            "Результаты статистического анализа распределения расстояний от максимумов амплитуд значений эталона",
            1)
        for factor, stat_apl in zip(FACTORS_L, self.stat_apl):
            doc.add_heading(
                "Результаты статистического анализа до ближайшего максимума фактор-образца {}"
                .format(factor), 2)
            report_stats(stat_apl, doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона",
                1)
        for factor, ntest_apl in zip(FACTORS_L, self.ntest_apl):
            doc.add_heading(
                "Результаты тестирования нормальности до ближайшего максимума фактор-образца {}"
                .format(factor), 2)
            report_ntest(ntest_apl, doc)
コード例 #14
0
    def get_report(self, doc: Printer):
        doc.add_heading("{}. Группа эталонов".format(self.sample_name), 0)

        for idx, std in enumerate(self.stds):
            doc.add_heading("Для эталона {}".format(std.name), 1)

            # Значения
            doc.add_heading(
                "Последовательности расстояний от максимумов значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Последовательность расстояний до максимумов фактор-образца {}."
                    .format(factor_name), 2)
                doc.add_paragraph(str_arr(self.distance[idx][factor]))

            doc.add_heading(
                "Результаты визуального анализа распределения расстояний от максимумов значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Результаты визуального анализа распределения расстояний до максимумов фактор-образца {}"
                    .format(factor_name), 2)
                doc.add_picture(self.va[idx][factor])

            doc.add_heading(
                "Результат статистического анализа распределения расстояний от максимумов значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Результат статистического анализа распределения расстояний до максимумов фактор-образца {}"
                    .format(factor_name), 2)
                report_stats(self.stat[idx][factor], doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний от максимумов значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Результаты тестирования нормальности распределения расстояний до максимумов фактор-образца {}"
                    .format(factor_name), 2)
                report_ntest(self.ntest[idx][factor], doc)

            # Амплитуды
            doc.add_heading(
                "Последовательности расстояний от максимумов амплитуд значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Последовательность расстояний до максимумов фактор-образца {}."
                    .format(factor_name), 2)
                doc.add_paragraph(str_arr(self.distance_apl[idx][factor]))

            doc.add_heading(
                "Результаты визуального анализа распределения расстояний от максимумов амплитуд значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Результаты визуального анализа распределения расстояний до максимумов фактор-образца {}"
                    .format(factor_name), 2)
                doc.add_picture(self.va_apl[idx][factor])

            doc.add_heading(
                "Результат статистического анализа распределения расстояний от максимумов амплитуд значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Результат статистического анализа распределения расстояний до максимумов фактор-образца {}"
                    .format(factor_name), 2)
                report_stats(self.stat_apl[idx][factor], doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона {}"
                .format(std.name), 1)
            for factor, factor_name in enumerate(FACTORS_L):
                doc.add_heading(
                    "Результаты тестирования нормальности распределения расстояний до максимумов фактор-образца {}"
                    .format(factor_name), 2)
                report_ntest(self.ntest_apl[idx][factor], doc)
コード例 #15
0
def report_stats(stats, doc: Printer):
    doc.add_paragraph("\tВыборочное среднее = {:.2f}".format(stats[0]))
    doc.add_paragraph("\tСтандартное отклонение = {:.2f}".format(stats[1]))
    doc.add_paragraph(
        "\tДоверительный интервал = ({:.2f}, {:.2f})\n".format(*stats[2]))