Попытка работать вместе с групповиком и Ановой - PullRequest
1 голос
/ 07 марта 2020

У меня есть набор данных с категориальными значениями для размера семьи (от 1 до 4) и взятой ссуды (от 0 до 1). Я хочу знать, есть ли значительная разница между средним размером семьи и взятым кредитом. Я сделал groupby, чтобы получить количество кредитов по размеру семьи как:

gp = df.groupby(["Family", "Personal Loan"])["Personal Loan"].count()

с выводом

Family  Personal Loan
1       0                1365
        1                 107
2       0                1190
        1                 106
3       0                 877
        1                 133
4       0                1088
        1                 134

Теперь мне нужно применить f_two way anova, чтобы увидеть, есть ли существенная разница между кредит взят и размер семьи. Нужна помощь, как go об этом.

1 Ответ

0 голосов
/ 08 марта 2020

Невозможно выполнить двустороннюю анову с данными подсчета и двоичным ответом. То, что вы можете сделать, - это тест Чишка, чтобы проверить, что пропорции ссуды == 1 не равны во всех семьях:

import seaborn as sns
import pandas as pd
from scipy.stats import chi2_contingency

Мне нужно вернуть что-то вроде вашего исходного df:

df = pd.DataFrame({
    'Family':np.repeat(np.arange(1,5),[1472,1296,1010,1222]),
    'Personal Loan':np.repeat([0,1,0,1,0,1,0,1],
    [1365,107,1190,106,877,133,1088,134]),
})
gp = df.groupby(["Family","Personal Loan"])["Personal Loan"].count()
gp

Family  Personal Loan
1       0                1365
        1                 107
2       0                1190
        1                 106
3       0                 877
        1                 133
4       0                1088
        1                 134
Name: Personal Loan, dtype: int64

Теперь мы выполняем chi-sq с использованием кросс-таблицы:

contingency = pd.crosstab(df['Family'],df['Personal Loan'])
test = chi2_contingency(contingency)
test

(29.676116414854746, 1.6144121228248757e-06, 3, array([[1330.688,  141.312],
        [1171.584,  124.416],
        [ 913.04 ,   96.96 ],
        [1104.688,  117.312]]))

2-е значение, 1.614e-06, представляет собой p-значение вашего теста, что весь кредит == 1 крыса ios равны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...