# -*- coding: utf-8 -*- """ Created on Mon Oct 5 16:16:12 2020 @author: ASUS """ import numpy import pandas import statsmodels.formula.api as smf import statsmodels.stats.multicomp as multi data = pandas.read_csv('LasVegas.csv', low_memory=False) #Có phải Spa liên quan đến số phiếu bầu hữu ích không? data['Hotel stars'] = pandas.to_numeric(data['Hotel stars'], errors='coerce') data['Helpful votes'] = pandas.to_numeric(data['Helpful votes'], errors='coerce') sub1=data[(data['Hotel stars']>=3) & (data['Hotel stars']<=5)] recode1 = {"NO":0 ,"YES":1} sub1['Spa1']= sub1['Spa'].map(recode1) sub1['Spa1'] = pandas.to_numeric(sub1['Spa1'], errors='coerce') ct1 = sub1.groupby('Spa1').size() print (ct1) print("========Phân tích ANOVA============") model1 = smf.ols(formula='Spa1 ~ C(Score)', data=sub1) results1 = model1.fit() print(results1.summary()) print("Giá trị trung bình của Spa1 liên quan đến điểm của các phiếu bầu") sub2 = sub1[['Spa1', 'Score']].dropna() m1= sub2.groupby('Score').mean() print(m1) print("Độ lệch chuẩn của Spa1 liên quan đến điểm của các phiếu bầu") sd1 = sub2.groupby('Score').std() print(sd1) # Phân tích ANOVA cho thấy, F = 0.3679 với p = 0.832 (Với mức ý nghĩa là 0.05). Điều đó ta không thể bác bỏ giả #thuyết vô hiệu rằng những khách sạn có DV Spa không có liên quan đến việc chấm điểm cho các bình luận khảo sát. #Biến giải thích nhiều hơn 2 loại print("oo") sub3 = sub1[['Score', 'Member years']].dropna() sub3['Member years'] = pandas.to_numeric(sub1['Member years'], errors='coerce') print(sub3['Member years'].value_counts().sort_index()) # model2 = smf.ols(formula="Score ~ C(Member years)", data=sub3).fit() # print(model2.summary()) print("Giá trị trung bình bởi những gì xảy ra với điểm số của các phiếu bầu với Member years") m1= sub3.groupby('Member years').mean() print(m1) print("Độ lệch chuẩn bởi những gì xảy ra với điểm số của các phiếu bầu với Member years") sd1 = sub3.groupby('Member years').std() print(sd1) # Phân tích sâu mc1 = multi.MultiComparison(sub3['Score'], sub3['Member years']) res1 = mc1.tukeyhsd() print(res1.summary())