obrientransform#
- scipy.stats.obrientransform(*образцы)[источник]#
Вычислить преобразование О’Брайена на входных данных (любое количество массивов).
Используется для проверки однородности дисперсии перед запуском односторонней статистики. Каждый массив в
*samplesявляется одним уровнем фактора. Еслиf_onewayвыполняется на преобразованных данных и обнаруживается значимым, дисперсии неравны. Согласно Максвеллу и Делейни [1], стр.112.- Параметры:
- sample1, sample2, …array_like
Любое количество массивов.
- Возвращает:
- obrientransformndarray
Преобразованные данные для использования в ANOVA. Первое измерение результата соответствует последовательности преобразованных массивов. Если все заданные массивы одномерны и одинаковой длины, возвращаемое значение является двумерным массивом; в противном случае это одномерный массив типа object, где каждый элемент является ndarray.
- Вызывает:
- ValueError
Если среднее преобразованных данных не равно исходной дисперсии, это указывает на отсутствие сходимости в преобразовании О’Брайена.
Ссылки
[1]S. E. Maxwell and H. D. Delaney, “Designing Experiments and Analyzing Data: A Model Comparison Perspective”, Wadsworth, 1990.
Примеры
Мы протестируем следующие наборы данных на различия в их дисперсии.
>>> x = [10, 11, 13, 9, 7, 12, 12, 9, 10] >>> y = [13, 21, 5, 10, 8, 14, 10, 12, 7, 15]
Применить преобразование О'Брайена к данным.
>>> from scipy.stats import obrientransform >>> tx, ty = obrientransform(x, y)
Используйте
scipy.stats.f_onewayприменить односторонний ANOVA-тест к преобразованным данным.>>> from scipy.stats import f_oneway >>> F, p = f_oneway(tx, ty) >>> p 0.1314139477040335
Если мы требуем, чтобы
p < 0.05для значимости, мы не можем заключить, что дисперсии различны.