[파이썬][Scipy] mean, median, mode, ttest_ind, normaltest, linregress 예제
Scipy의 통계 관련 함수인 mean
, median
, mode
, ttest_ind
, normaltest
, 그리고 linregress
의 예제를 제공하겠습니다.
mean
함수 예제:
mean
함수는 배열의 평균값을 계산합니다.
mport numpy as np
from scipy import stats
data = np.array([2, 3, 5, 7, 11, 13, 17, 19])
mean_value = np.mean(data)
print("평균값:", mean_value)
median
함수 예제:
median
함수는 배열의 중앙값을 계산합니다.
mport numpy as np
from scipy import stats
data = np.array([2, 3, 5, 7, 11, 13, 17, 19])
median_value = np.median(data)
print("중앙값:", median_value)
mode
함수 예제:
mode
함수는 배열의 최빈값(가장 자주 나타나는 값)을 계산합니다. 최빈값이 여러 개일 수 있으므로 결과는 배열 형태로 반환됩니다.
mport numpy as np
from scipy import stats
data = np.array([2, 3, 5, 7, 3, 11, 13, 17, 19, 11, 2])
mode_values = stats.mode(data)
print("최빈값:", mode_values.mode)
ttest_ind
함수 예제:
ttest_ind
함수는 두 개의 독립적인 표본 간의 t-검정을 수행합니다.
mport numpy as np
from scipy import stats
group1 = np.array([25, 30, 35, 40, 45])
group2 = np.array([30, 32, 35, 38, 42])
t_statistic, p_value = stats.ttest_ind(group1, group2)
print("t-통계량:", t_statistic)
print("p-값:", p_value)
normaltest
함수 예제:
normaltest
함수는 주어진 데이터가 정규 분포를 따르는지 검정합니다.
mport numpy as np
from scipy import stats
data = np.random.normal(0, 1, 1000) # 평균 0, 표준 편차 1인 정규 분포에서 1000개의 데이터 생성
statistic, p_value = stats.normaltest(data)
print("검정 통계량:", statistic)
print("p-값:", p_value)
if p_value < 0.05:
print("데이터는 정규 분포를 따르지 않습니다.")
else:
print("데이터는 정규 분포를 따를 가능성이 있습니다.")
linregress
함수 예제:
linregress
함수는 선형 회귀 분석을 수행하고 회귀 계수, p-값 등을 반환합니다.
mport numpy as np
from scipy import stats
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
print("기울기 (slope):", slope)
print("절편 (intercept):", intercept)
print("상관 계수 (r-value):", r_value)
print("p-값 (p-value):", p_value)
print("표준 오차 (std_err):", std_err)
위의 예제들은 Scipy의 다양한 통계 함수를 사용하여 다양한 통계 분석 작업을 수행하는 방법을 보여줍니다.