exponenta event banner

fishertest

Точный тест Фишера

Описание

пример

h = fishertest(x) возвращает тестовое решение для точного теста Фишера нулевой гипотезы об отсутствии неслучайных связей между двумя категориальными переменными в x, против альтернативы, что существует неслучайная ассоциация. Результат h является 1 если тест отклоняет нулевую гипотезу на уровне значимости 5%, или 0 в противном случае.

пример

[h,p,stats] = fishertest(x) также возвращает уровень значимости p испытания и структуры stats содержит дополнительные результаты теста, включая отношение шансов и его асимптотический доверительный интервал.

пример

[___] = fishertest(x,Name,Value) возвращает решение теста с использованием дополнительных параметров, заданных одним или несколькими аргументами пары имя-значение. Например, можно изменить уровень значимости теста или провести односторонний тест.

Примеры

свернуть все

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

Создайте таблицу непредвиденных обстоятельств 2 на 2, содержащую данные съемки. Строка 1 содержит данные для лиц, которые не получили прививку от гриппа, а строка 2 содержит данные для лиц, которые получили прививку от гриппа. Колонка 1 содержит число лиц, перенесших грипп, а колонка 2 содержит число лиц, которые этого не сделали.

x = table([3;1],[6;7],'VariableNames',{'Flu','NoFlu'},'RowNames',{'NoShot','Shot'})
x=2×2 table
              Flu    NoFlu
              ___    _____

    NoShot     3       6  
    Shot       1       7  

Используйте точный тест Фишера, чтобы определить, существует ли неслучайная связь между получением прививки от гриппа и заболением гриппом.

h = fishertest(x)
h = logical
   0

Возвращенное решение о тестировании h = 0 указывает, что fishertest не отвергает нулевую гипотезу отсутствия неслучайной связи между категориальными переменными на уровне значимости по умолчанию 5%. Поэтому, исходя из результатов теста, лица, которые не делают прививку от гриппа, не имеют иных шансов заболеть гриппом, чем те, кто сделал прививку от гриппа.

В небольшом опросе исследователь спросил 17 человек, сделали ли они прививку от гриппа в этом году и подхватили ли они грипп. Результаты показывают, что из девяти человек, которые не получили прививку от гриппа, трое заболели гриппом и шестеро не сделали.

x = [3,6;1,7];

Используйте точный тест правохвостого Фишера, чтобы определить, выше ли вероятность заболеть гриппом для людей, которые не получили прививку от гриппа, чем для людей, которые это сделали. Проведите тест на уровне значимости 1%.

[h,p,stats] = fishertest(x,'Tail','right','Alpha',0.01)
h = logical
   0

p = 0.3353
stats = struct with fields:
             OddsRatio: 3.5000
    ConfidenceInterval: [0.1289 95.0408]

Возвращенное решение о тестировании h = 0 указывает, что fishertest не отвергает нулевую гипотезу об отсутствии неслучайной связи между категориальными переменными на уровне значимости 1%. Поскольку это правохвостый тест гипотез, вывод заключается в том, что люди, которые не делают прививку от гриппа, не имеют больших шансов заболеть гриппом, чем те, кто сделал прививку от гриппа.

Загрузите данные больницы.

load hospital

hospital массив наборов данных содержит данные о 100 пациентах больницы, включая фамилию, пол, возраст, вес, статус курения, а также систолические и диастолические измерения артериального давления.

Чтобы определить, не зависит ли статус курения от пола, используйте crosstab создать таблицу непредвиденных обстоятельств 2 на 2 курильщиков и некурящих, сгруппированную по полу.

[tbl,chi2,p,labels] = crosstab(hospital.Sex,hospital.Smoker)
tbl = 2×2

    40    13
    26    21

chi2 = 4.5083
p = 0.0337
labels = 2x2 cell
    {'Female'}    {'0'}
    {'Male'  }    {'1'}

Строки результирующей таблицы непредвиденных расходов tbl соответствуют полу пациента, причем строка 1 содержит данные для женщин и строка 2 содержит данные для мужчин. Столбцы соответствуют состоянию курения пациента, причем столбец 1 содержит данные для некурящих, и столбец 2 содержит данные для курильщиков. Возвращенный результат chi2 = 4.5083 - значение статистики критерия хи-квадрат для критерия независимости хи-квадрат. Возвращенное значение p = 0.0337 - приблизительное p-значение, основанное на хи-квадрате распределения.

Использовать таблицу непредвиденных расходов, созданную crosstab чтобы выполнить точный тест Фишера на данные.

[h,p,stats] = fishertest(tbl)
h = logical
   1

p = 0.0375
stats = struct with fields:
             OddsRatio: 2.4852
    ConfidenceInterval: [1.0624 5.8135]

Результат h = 1 указывает, что fishertest отвергает нулевую гипотезу о неассоциации между статусом курения и полом на уровне значимости 5%. Другими словами, существует связь между полом и статусом курения. Соотношение шансов показывает, что пациенты мужского пола имеют примерно в 2,5 раза больше шансов быть курильщиками, чем пациенты женского пола.

Возвращенное значение p теста, p = 0.0375, близок, но не совсем такой, как результат, полученный crosstab. Это потому, что fishertest вычисляет точное значение p с использованием данных выборки, в то время как crosstab использует хи-квадратичное приближение для вычисления p-значения.

Входные аргументы

свернуть все

Таблица непредвиденных расходов, заданная как матрица 2 на 2 или таблица, содержащая неотрицательные целочисленные значения. Таблица непредвиденных расходов содержит частотное распределение переменных в выборке данных. Вы можете использовать crosstab для создания таблицы непредвиденных обстоятельств на основе выборочных данных.

Пример: [4,0;0,4]

Типы данных: single | double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Alpha',0.01,'Tail','right' задает правохвостый тест гипотезы на уровне значимости 1%.

Уровень значимости теста гипотезы, определяемый как пара, разделенная запятыми, состоящая из 'Alpha' и скалярное значение в диапазоне (0,1).

Пример: 'Alpha',0.01

Типы данных: single | double

Тип альтернативной гипотезы, определяемой как разделенная запятыми пара, состоящая из 'Tail' и одно из следующих.

'both'Двуххвостый тест. Альтернативная гипотеза заключается в том, что существует неслучайная связь между двумя переменными в xи отношение шансов не равно 1.
'right'Правохвостый тест. Альтернативная гипотеза заключается в том, что отношение шансов больше 1.
'left'Левохвостый тест. Альтернативная гипотеза заключается в том, что отношение шансов меньше 1.

Пример: 'Tail','right'

Выходные аргументы

свернуть все

Результат проверки гипотезы, возвращенный как логическое значение.

  • Если h является 1, то fishertest отвергает нулевую гипотезу в Alpha уровень значимости.

  • Если h является 0, то fishertest не может отклонить нулевую гипотезу в Alpha уровень значимости.

p-значение теста, возвращаемое как скалярное значение в диапазоне [0,1]. p - вероятность наблюдения проверочной статистики как экстремальной или более экстремальной, чем наблюдаемая величина при нулевой гипотезе. Малые значения p поставить под сомнение достоверность нулевой гипотезы.

Тестовые данные, возвращенные в виде структуры со следующими полями:

  • OddsRatio - мера связи между двумя переменными.

  • ConfidenceInterval - Асимптотический доверительный интервал для отношения шансов. Если какая-либо из частот соты в x равны 0, затем fishertest не вычисляет доверительный интервал и вместо этого отображает [-Inf Inf].

Подробнее

свернуть все

Точный тест Фишера

Точный тест Фишера - непараметрический статистический тест, используемый для проверки нулевой гипотезы о том, что между двумя категориальными переменными не существует неслучайных ассоциаций, против альтернативы, заключающейся в том, что между переменными существует неслучайная связь.

Точный тест Фишера предоставляет альтернативу критерию хи-квадрата для небольших образцов или образцов с очень неравномерными предельными распределениями. В отличие от критерия хи-квадрата, точный тест Фишера не зависит от допущений распределения большой выборки, а вместо этого вычисляет точное значение p на основе данных выборки. Хотя точный тест Фишера действителен для образцов любого размера, он не рекомендуется для больших образцов, потому что он является вычислительно интенсивным. Если все счетчики частот в таблице непредвиденных обстоятельств больше или равны 1e7, то fishertest ошибки. Для таблиц непредвиденных расходов, содержащих большие значения подсчета или хорошо сбалансированных, используйте crosstab или chi2gof вместо этого.

fishertest принимает таблицу непредвиденных обстоятельств 2 на 2 в качестве входных данных и вычисляет значение p теста следующим образом:

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

  2. Используя многомерное обобщение гипергеометрической функции вероятности, вычислите условную вероятность наблюдения точного результата в таблице непредвиденных обстоятельств, если нулевая гипотеза была верна, учитывая её суммы строк и столбцов. Условная вероятность равна

    Pcutoff = (R1! R2!) (C1! C2!) N!∏i,jnij!,

    где R1 и R2 - суммы строк, C1 и C2 - суммы столбцов, N - общее число наблюдений в таблице непредвиденных обстоятельств, nij - значение в i-й строке и j-м столбце таблицы.

  3. Найдите все возможные матрицы неотрицательных целых чисел, соответствующих строкам и столбцам. Для каждой матрицы вычислите связанную условную вероятность, используя уравнение для Pcutoff.

  4. Используйте эти значения для вычисления p-значения теста, основываясь на альтернативной гипотезе, представляющей интерес.

    • Для двустороннего теста суммировать все условные вероятности, меньшие или равные Pcutoff для наблюдаемой таблицы непредвиденных обстоятельств. Это представляет вероятность наблюдения за результатом как экстремальным или более экстремальным, чем фактический результат, если нулевая гипотеза была верной. Небольшие p-значения ставят под сомнение достоверность нулевой гипотезы, в пользу альтернативной гипотезы ассоциации между переменными.

    • Для левостороннего теста суммируйте условные вероятности всех матриц с частотой (1,1) ячейки, меньшей или равной n11.

    • Для правостороннего теста суммируйте условные вероятности всех матриц с частотой (1,1) ячейки, большей или равной n11 в наблюдаемой таблице непредвиденных обстоятельств.

Отношение шансов -

OR = n11n22n21n12.

Нулевая гипотеза условной независимости эквивалентна гипотезе о том, что отношение шансов равно 1. Левосторонняя альтернатива эквивалентна отношению шансов меньше 1, а правосторонняя альтернатива эквивалентна отношению шансов больше 1.

Асимптотический 100 (1-α)% доверительный интервал для отношения шансов составляет

CI = [exp (L−Φ−1 (1−α2) SE), exp (L +Φ−1 (1−α2) SE)],

где L - логарифмическое отношение шансов, Φ-1 (•) - обратная функция нормального обратного кумулятивного распределения, а SE - стандартная ошибка для логарифмического отношения шансов. Если 100 (1 - α)% доверительный интервал не содержит значения 1, то ассоциация значима на уровне α значимости. Если любая из четырех частот ячейки равна 0, то fishertest не вычисляет доверительный интервал и вместо этого отображает [-Inf Inf].

fishertest принимает только таблицы непредвиденных обстоятельств 2 на 2 в качестве входных данных. Чтобы проверить независимость категориальных переменных с более чем двумя уровнями, используйте критерий хи-квадрат, предоставленный crosstab.

См. также

|

Представлен в R2014b