Один образец и два образца t-тестов в Python - PullRequest
0 голосов
/ 13 марта 2020

У меня есть сомнения, как это сделать. Новое в мире статистики и Python. Студент пытается выбрать между двумя процессорами. Он хочет использовать процессор для своих исследований для запуска высокопроизводительных алгоритмов, поэтому единственное, что его волнует, это скорость. Он выбирает высокопроизводительный алгоритм для большого набора данных и запускает его на обоих процессорах по 10 раз, рассчитывая время каждого запуска в часах. Результаты приведены в приведенных ниже списках TestSample1 и TestSample2.

from scipy import stats 
import numpy as nupy
TestSample1 = nupy.array([11,9,10,11,10,12,9,11,12,9])
TestSample2 = nupy.array([11,13,10,13,12,9,11,12,12,11])

Предположение: оба приведенных выше образца набора данных являются случайными, независимыми, параметры c и нормально распределенные

Подсказка: Вы можете импортировать функцию ttest из scipy для выполнения t-тестов

Первый T-тест Один образец t-теста Проверьте, равно ли среднее значение TestSample1 нулю.

  1. Нулевая гипотеза состоит в том, что среднее значение равно нулю.
  2. Альтернативная гипотеза состоит в том, что оно не равно нулю.

Вопрос 2 Учитывая, 1. Нулевая гипотеза: между наборами данных нет существенной разницы 2. Альтернативная гипотеза: есть существенная разница. Проведите тестирование с двумя образцами и проверьте, отклонять ли нулевую гипотезу.

Вопрос 3 - Выполните тестирование с двумя образцами и проверьте, есть ли значительная разница между скоростями двух образцов: - TestSample1 & TestSample3

Он пытается третий Блок обработки - TestSample3.

TestSample3 = nupy.array ([9,10,9,11,10,13,12,9,12,12])

Предположение: оба набора данных (TestSample1 и TestSample3) являются случайными, независимыми, параметри c и нормально распределенными

1 Ответ

1 голос
/ 14 марта 2020

Вопрос 1

Способ сделать это с помощью SciPy был бы следующим:

stats.ttest_1samp(TestSample1, popmean=0)

Хотя в этом контексте выполнять тест бесполезно, потому что мы уже знаем, что нулевая гипотеза должна быть ложной. Отрицательные времена невозможны, поэтому единственный способ для среднего значения численности населения быть равным нулю был бы, если бы каждое измеренное время всегда было нулевым, что явно не так.

Вопрос 2

Вот как сделать t-тест с двумя выборками для независимых выборок с помощью SciPy:

stats.ttest_ind(TestSample1, TestSample2)

Выход:

Ttest_indResult(statistic=-1.8325416653445783, pvalue=0.08346710398411555)

Итак, t-statisti c -1,8, но его отклонение от нуля не является формально значимым (р = 0,08). Этот результат не окончен. Конечно, было бы лучше иметь более точные измерения, а не округлять их до часов.

В любом случае, я бы сказал, что, учитывая ваши заявленные настройки, вам также не нужен этот тест. Маловероятно, что два разных процессора работают одинаково, и вы просто хотите решить, какой из них go. Просто выбор того, у которого среднее время меньше, независимо от результатов теста значимости, здесь, безусловно, является правильным решением.

Вопрос 3

Это аналогично Вопросу 2.

...