안녕하세요! 오늘은 본캠프 39일차입니다!
오늘은 프로젝트 2일차입니다!
저희가 선택한 모빌리티 데이터에 대해 분석해보았는데,
주요변수들과 Fault_Condition과의 관계를 보면
상관관계도 유의미한 값이 없고 분포를 보았을 때도 별다른 유의미한 값이 없어서 팀원들간에 고민을 하다가 통계분석으로 넘어가기로 했어요!
저는 온도와 Fault_Condition과의 관계와 Fuel_Efficiency와 Fault_Condition과의 관계를 분석해보았습니다!
🔹온도와 Fault_Condition 정규성 검정🔹
귀무가설(H₀) : 온도는 정규분포를 따른다
대립가설(H₁) : 온도는 정규분포를 따르지 않는다
#Shapiro-Wilk Test
from scipy.stats import shapiro
stat, p = shapiro(df['Temperature (°C)'])
print(f"Shapiro-Wilk Test: W = {stat:.4f}, p-value = {p:.4f}")
Shapiro-Wilk Test: W = 0.9566, p-value = 0.0000
P-value = 0.000 < 0.05 이므로 귀무가설 기각 대립가설 채택
❗️온도는 정규 분포를 따르지 않는다.
#히스토그램 시각화
import seaborn as sns
import matplotlib.pyplot as plt
sns.histplot(df['Temperature (°C)'], kde=True)
plt.title('Temperature Distribution')
plt.show()
❗️온도는 정규 분포를 따르지 않는다.

🔹온도와 Fault_Condition 가설 설정🔹
귀무가설(H₀) : 온도는 결함 여부에 영향을 미치지 않는다
대립가설(H₁) : 온도는 결함 여부에 영향을 미친다
#Kruskal-Wallis
from scipy.stats import kruskal
# 결함 상태별 Temperature 데이터 그룹화
groups = [df[df['Fault_Condition'] == val]['Temperature (°C)'] for val in sorted(df['Fault_Condition'].unique())]
# Kruskal-Wallis 검정 수행
stat, p = kruskal(*groups)
print(f"Kruskal-Wallis Test: H = {stat:.4f}, p-value = {p:.4f}")
Kruskal-Wallis Test: H = 1.2324, p-value = 0.7453
P-value = 0.7453 > 0.05 이므로 귀무가설 채택
❗️온도는 결함 상태에 따라 차이가 없다고 볼 수 있다.
🔹Fuel_Efficiency와 Fault_Condition 정규성 검정🔹
귀무가설(H₀) : Fuel_Efficiency는 정규분포를 따른다
대립가설(H₁) : Fuel_Efficiency는 정규분포를 따르지 않는다
#Shapiro-Wilk Test
from scipy.stats import shapiro
stat, p = shapiro(df['Fuel_Efficiency'])
print(f"Shapiro-Wilk Test for Fuel_Efficiency: \nW = {stat:.4f}, p-value = {p:.4f}")
Shapiro-Wilk Test for Fuel_Efficiency: W = 0.9481, p-value = 0.0000
P-value = 0.000 < 0.05 이므로 귀무가설 기각 대립가설 채택
❗️연비(Fuel_Efficiency)는 정규 분포를 따르지 않는다.
🔹Fuel_Efficiency와 Fault_Condition 가설 설정🔹
귀무가설(H₀) : Fuel_Efficiency는 결함 여부에 영향을 미치지 않는다
대립가설(H₁) : Fuel_Efficiency는 결함 여부에 영향을 미친다
#Kruskal-Wallis
from scipy.stats import kruskal
# Fault_Condition별로 Fuel_Efficiency 값을 그룹화
groups = [df[df['Fault_Condition'] == val]['Fuel_Efficiency'] for val in sorted(df['Fault_Condition'].unique())]
# Kruskal-Wallis 검정 수행
stat, p = kruskal(*groups)
print(f"Kruskal-Wallis Test for Fuel_Efficiency by Fault_Condition:\nH = {stat:.4f}, p-value = {p:.4f}")
Kruskal-Wallis Test for Fuel_Efficiency by Fault_Condition:
H = 5.0726, p-value = 0.1666
P-value = 0.1666 > 0.05 이므로 귀무가설 채택
❗️연비(Fuel_Efficiency)는 결함 상태에 따라 차이가 없다고 볼 수 있다.
오늘 가설에 따른 정규성 검정과 Kruskal-Wallis Test를 통해서 가설 설정과 분석하는 방법, 분석 값에 따른 결론 도출 내는 것을 복습하면서 조금은 더 친해진 것 같아요!!
오늘도 수고하셨습니다!!
'2025 내일배움캠프 QAQC_2기' 카테고리의 다른 글
| 2025 내일배움캠프 QAQC_2기 본캠프 41일차 (4) | 2025.07.09 |
|---|---|
| 2025 내일배움캠프 QAQC_2기 본캠프 40일차 (1) | 2025.07.08 |
| 2025 내일배움캠프 QAQC_2기 본캠프 38일차 (0) | 2025.07.04 |
| 2025 내일배움캠프 QAQC_2기 본캠프 37일차 (0) | 2025.07.03 |
| 2025 내일배움캠프 QAQC_2기 본캠프 36일차 (1) | 2025.07.02 |