Значение p, сгенерированное scipy.stats.chi2_contingency для тестирования независимости - PullRequest
0 голосов
/ 26 апреля 2018

Для тестирования, если две функции являются независимыми или нет, H0: A и B независимы H1: A и B являются зависимыми

р <0,05, тогда А и В зависят </p>

После попытки следующего кода, где очень ясно, что эти два массива являются зависимыми (это одни и те же массивы)

obs = np.array([[10, 10, 10], [10, 10, 10]])
scipy.stats.chi2_contingency(obs)

Я получаю следующий результат:

(0.0, 1.0, 2, array([[10., 10., 10.],
        [10., 10., 10.]]))

т.е.. Значение p равно 1,0> 0,05, поэтому мы принимаем нулевую гипотезу о том, что два массива не зависят друг от друга.

Есть ли предположение, что я ошибся или оно генерирует 1-p значения?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Мое мнение ...

«Тест на недопустимость» получил «неправильное имя». На самом деле тест должен называться «тест на зависимость», где:

H0: нет зависимости -> выполняется, если p_value

H1: зависимость -> сохраняется, если p_value> treshold

где порог - это «уровень значимости», обычно альфа = 0,05

Поэтому [[1, 50], [50, 50]] дает значение p, близкое к 1, тогда как случайные матрицы дают значение p, близкое к 0.

0 голосов
/ 26 апреля 2018

Вы получите правильные вычисления. Это только означает, что переменные, которые вы имеете, являются независимыми и не имеют связи или связаны друг с другом. Независимость событий означает, что она не будет влиять или влиять на возникновение другого события.

В вашем примере все значения вероятности одинаковы, поэтому с точки зрения вероятности событие получения события A не зависит от другого события B.

  P(A|B) = P(A)  or P(B|A) = P(B)

, который считывает вероятность события A для данного события B, совпадает с вероятностью A, поскольку A и B независимы. Таким образом, P (A), P (B), P (A | B) и P (B | A) одинаковы, так как A и B независимы на основе статистики chisq.

...