Двухпробный тест Колмогорова-Смирнова в Python Scipy на данных мозга - PullRequest
0 голосов
/ 16 мая 2018

У меня есть измерения анатомии мозга от 2 разных групп людей. В одной группе больше людей, чем в другой (скажем, n и m человек в каждой). Я должен выполнить тест KS на этих данных. Мне немного непонятно, какие аргументы нужно передать тесту KS для двух сиппи. Будут ли аргументы для теста ksipy 2 sample ks для каждого человека из группы 1 против каждого в группе 2 в цикле for? Или это каждая функция в группе 1 против всех других функций в группе 2?

Я написал этот код, но он явно неправильный, поскольку я использую iteritems () для циклического перебора столбцов, когда, возможно, это должно быть n * m?

for group1, group2 in zip(group1.transpose().iteritems(), 
group2.transpose().iteritems()):

    value, pvalue = ks_2samp(np.array(group1[1]), np.array(group2[1]))
    print(value, pvalue)
    if pvalue > 0.05:
        print('Samples are likely drawn from the same distributions 
        (fail to reject H0)')
    else: 
        print('Samples are likely drawn from the different 
        distributions (reject H0)')

1 Ответ

0 голосов
/ 16 мая 2018

Скажем, одним из измерений является масса мозга. Соберите все измерения массы мозга для группы 1 в последовательность (или 1-й массив) и сделайте то же самое для группы 2. Передайте эти две последовательности в ks_2samp. Это проверит, происходят ли массы мозга двух групп из одного и того же распределения.

Например, если group1 и group2 - это фреймы данных Pandas со строкой для каждого индивидуума и со столбцами для различных измерений, связанных с каждым индивидуумом, включая один, называемый «масса» для массы мозга, вы должны сделать:

value, pvalue = ks_2samp(group1['mass'].values, group2['mass'].values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...