[파이썬][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의 다양한 통계 함수를 사용하여 다양한 통계 분석 작업을 수행하는 방법을 보여줍니다.