0

我想通过他们的总播放量来评估男性和女性用户组的统计差异(见下面的例子):

女性参赛作品示例

female

    users   artist  plays   gender  age
0   48591   sting   12763   f       25.0
1   48591   stars   8192    f       25.0

每个唯一女性用户的总播放次数

female_user_plays = female.groupby('users').plays.sum()

female_user_plays

users
5         5479
6         3782
7         7521
11        7160

男性条目示例

female
    users   artist         plays    gender  age
51  56496   iron maiden    456      m       28.0
52  56496   elle           407      m       28.0

每个唯一男性用户的总播放次数

male_user_plays = male.groupby('users').plays.sum()
male_user_plays

users
0         3282
1        25329
2        51522
3         1590

每个性别的平均播放次数

Average Total Male Plays: 11880
Average Total Female Plays: 13104

在尝试 t 检验之前,我将每个系列转换为值列表:

female_plays_list = female_user_plays.values.tolist()
male_plays_list = male_user_plays.values.tolist()

对于 t 检验:

ttest_ind(female_plays_list, male_plays_list, equal_var=False)

结果让我感到困惑,因为输出看起来很不一样,我认为这不是由于两个样本大小的差异......

Ttest_indResult(statistic=-8.9617251652001002, pvalue=3.3195063228833119e-19)

数组长度之外是否有任何原因可能导致这种情况?

4

1 回答 1

1

对 0-10000 的 100000000 个随机整数值的两个数组进行测试,得出以下结果:

In []: try1 = np.random.randint(1, 10000, 100000000)

In []: try2 = np.random.randint(1, 10000, 100000000)

In []: ttest_ind(try1, try2, equal_var=False)
Out[]: Ttest_indResult(statistic=-0.67549204672468233, pvalue=0.49936320345035146)

和不等长度给出以下内容:

In []: try1 = np.random.randint(1, 10000, 1000000)

In []: ttest_ind(try1, try2, equal_var=False)
Out[]: Ttest_indResult(statistic=-0.39754328321364363, pvalue=0.6909669583715552)

因此,除非我在测试中忽略了某个见解,或者您的数组长度更大,否则它必须是数组的特定值中的某些内容。

于 2018-03-05T16:35:07.780 回答