반응형
import pandas as pd
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn as sns
filename_Single ='D:/a.xlsx'
df_Single= pd.read_excel(filename_Single, sheet_name=2, engine='openpyxl')
filename_Dual ='D:/b.xlsx'
df_Dual= pd.read_excel(filename_Dual, sheet_name=2, engine='openpyxl')
# ------- 평균/ 표준편차 구하기 --------------------------------
Single_R = df_Single.loc[df_Single['ResponseTime'] != '-']
a_Single = Single_R['ResponseTime'].astype('float') # 통계를 위해 사용 변수
Dual_R = df_Dual.loc[df_Dual['ResponseTime'] != '-']
a_Dual = Dual_R['ResponseTime'].astype('float') # 통계를 위해 사용 변수
average_Single = np.mean(a_Single)
std_Single = np.std(a_Single)
average_Dual = np.mean(a_Dual)
std_Dual = np.std(a_Dual)
print("Single Average : ", average_Single, " Dual Average : ", average_Dual)
print("Single STD :", std_Single, " Dual STD : ", std_Dual)
#-----------------2 sample t test ------------------------------
#-----------------2.1 정규성 검정 --------------------------------
# p value > 0.05 귀무가설채택( 귀무가설: 정규분포 한다)
print("---------Nornality test---------")
Normal_test = stats.ranksums(a_Single, a_Dual)
print(Normal_test)
#-----------------2.2 등분산 검정 --------------------------------
# 귀무가설 : 등분산 한다, P value > 0.05 채택, 0.05< pvalue-> 등분산 하지 않으므로, 2sample t진행(이분산)
print("---------equality test---------")
equal_test = stats.levene(a_Single, a_Dual)
print(equal_test)
#-----------------2.3 2 sample T 검정 ---------------------------
# 귀무가설 : a=b, P value > 0.05 채택, 0.05< pvalue-> 같지 않다
print("---------2 sample t test---------")
two_sample = stats.ttest_ind(a_Single, a_Dual, equal_var= False)
print(two_sample)
# 귀무가설 H0: a=b / 대립가설 H1: a=/b
# P vale > 0.05 귀무가설 채택 / p value < 0.05 대립가설 채택
#-----------------3. Graphic ---------------------------
#----1) 1개 데이타 box plot 그리기 -----------------------
# plt.boxplot(a_Single, sym='r+')
# plt.title("Response time")
# plt.show()
#----2) 여러개 데이타 box plot그리기 ----------------------
fig, ax = plt.subplots()
ax.boxplot([a_Single, a_Dual])
ax.set_ylim(0.0, 4.0)
ax.set_xlabel("Camera count")
ax.set_ylabel("value")
plt.show()
반응형
'- 배움이 있는 삶 > - AI | Big data' 카테고리의 다른 글
[22/9/21] 러시아 푸틴 연설, 부분 동원령 발표 (2) | 2022.09.21 |
---|---|
python- 비율검정 ( 1 proportion / 2 proportion) test (2) | 2022.08.30 |
[python] excel 내 특수문자 제외, 형변환 후 평균 구하기 (1) | 2022.08.24 |
파이썬 프로그래밍 기초(1)- 8차 연산자 (소수점 출력) (0) | 2022.08.05 |
평균의 종류 - 산술평규, 기하평균, 조화 평균 (0) | 2022.08.04 |