Выполнение теста chi-quare в Python 3 для проверки нормальности - PullRequest
0 голосов
/ 25 ноября 2018

Я получил следующий файл:

file

Я хочу проверить нормальность этого набора данных.Я хочу сделать это с помощью теста chisquare.

Я выполнил его в Excel и получаю следующие результаты (которых я хочу достичь в Python):

chisquare = 5.53
p-value = 0.14

Формулы какЯ сделал это в Excel следующим образом:

Сначала я вычислил значение z для каждого значения в каждом столбце.Затем я рассчитал ожидаемые значения ниже -1, между -1 и 0, между 0 и 1 и больше +1, на основе стандартного нормального распределения (n (0,1)).Затем я вычислил реальные значения (на основе z-значений) в этих диапазонах.

Затем я мог бы рассчитать значения хи-квадрат для каждого диапазона по (наблюдаемым значениям - ожидаемым значениям) ^ 2 / ожидаемым значениям.

Значения хи-квадрат суммируются, и это дает 5,53.Поскольку я использовал 4 диапазона, я использовал 3 степени свободы.5.53 и 3 степени свободы дают p-значение 0,14 (формула называется CHIDIST (значение хи-квадрат, степени свободы).

Вопрос в том, как я могу выполнить этот расчет в Python и сделать этос несколькими рядами?

1 Ответ

0 голосов
/ 25 ноября 2018

Я сделал быструю электронную таблицу для проверки значений, и она выглядит как

a,b,c 
1,2,3

Затем с Pandas

import pandas as pd
df = pd.read_csv('test.csv')  # above
df.iloc[:, 1:].values
> array([[2, 3]], dtype=int64)

Но это вложенный массив.В документах для chisquare предлагается уплощенный массив, поэтому вы можете попробовать

df.iloc[:, 1:].values.flatten()
> array([2, 3], dtype=int64)
...