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 
--------------------------------------------------------
 

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