python笔记:7.2.1.3多重比较检验(例7-1像素影响数码相机销量)

 

# -*- coding: utf-8 -*-
"""
Created on Tue Jun 25 10:50:11 2019

@author: User
"""

# 《Python数据分析基础》中国统计出版社

#import numpy as np
from scipy import stats
import pandas as pd
#import statsmodels.api as sm
#import matplotlib.pyplot as plt
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from matplotlib.font_manager import FontProperties
myfont=FontProperties(fname='data\msyh.ttc')

dc_sales = pd.read_csv(u'data\\ch7\\dc_sales.csv',encoding = "gbk")
print(dc_sales.head())

dc_sales['pixel'] = dc_sales['pixel'].astype('category')
dc_sales['pixel'].cat.categories=['500万像素及以下','500-600万像素',
        '600-800万像素','800-1000万像素',
        '1000万像素及以上']
#dc_sales['pixel'].cat.set_categories=['500万像素及以下','500-600万像素',
#        '600-800万像素','800-1000万像素',
#        '1000万像素及以上']
print(dc_sales.head())

print(pd.pivot_table(dc_sales,
               index=['pixel'],
               columns=['market'],
               values=['sales'],
               aggfunc='sum'))

G=dc_sales['pixel'].unique()    #G用于统计变量pixel的像素属性
args=[]                         #列表args用于存储不同像素属性下的销售数据
for i in list(G):
    args.append(dc_sales[dc_sales['pixel']==i]['sales'])

print(args)
    
print("\n 进多重比较检验:")
dc_sales_anova_post=pairwise_tukeyhsd(dc_sales['sales'],
                                      dc_sales['pixel'],
                                      alpha=0.05)
print(dc_sales_anova_post.summary())

运行:

   market  pixel  sales
0       1      1     70
1       1      2    101
2       1      3    114
3       1      4    120
4       1      5    132
   market        pixel  sales
0       1    500万像素及以下     70
1       1   500-600万像素    101
2       1   600-800万像素    114
3       1  800-1000万像素    120
4       1   1000万像素及以上    132
            sales                                   
market          1    2    3    4    5    6    7    8
pixel                                               
500万像素及以下      70   67   82   87   80   80   87   96
500-600万像素    101   76   97   88   92   99  123   90
600-800万像素    114   96  128  103  107   91   99  119
800-1000万像素   120   98  132  128  132  132  131  119
1000万像素及以上    132  102  123  119  123  135  126  117
[0     70
5     67
10    82
15    87
20    80
25    80
30    87
35    96
Name: sales, dtype: int64, 1     101
6      76
11     97
16     88
21     92
26     99
31    123
36     90
Name: sales, dtype: int64, 2     114
7      96
12    128
17    103
22    107
27     91
32     99
37    119
Name: sales, dtype: int64, 3     120
8      98
13    132
18    128
23    132
28    132
33    131
38    119
Name: sales, dtype: int64, 4     132
9     102
14    123
19    119
24    123
29    135
34    126
39    117
Name: sales, dtype: int64]

 进多重比较检验:
   Multiple Comparison of Means - Tukey HSD,FWER=0.05   
========================================================
  group1      group2   meandiff  lower    upper   reject
--------------------------------------------------------
1000万像素及以上  500-600万像素 -26.375  -43.0016 -9.7484   True 
1000万像素及以上  500万像素及以下   -41.0   -57.6266 -24.3734  True 
1000万像素及以上  600-800万像素  -15.0   -31.6266  1.6266  False 
1000万像素及以上 800-1000万像素  1.875   -14.7516 18.5016  False 
500-600万像素  500万像素及以下  -14.625  -31.2516  2.0016  False 
500-600万像素  600-800万像素  11.375  -5.2516  28.0016  False 
500-600万像素 800-1000万像素  28.25   11.6234  44.8766   True 
500万像素及以下   600-800万像素   26.0    9.3734  42.6266   True 
500万像素及以下  800-1000万像素  42.875  26.2484  59.5016   True 
600-800万像素 800-1000万像素  16.875   0.2484  33.5016   True 
--------------------------------------------------------
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章