[python] SciPy를 사용하여 선형 회귀 분석 하기

선형 회귀 분석은 데이터의 관계를 설명하기 위해 사용되는 통계적인 기법입니다. 파이썬의 SciPy 패키지를 사용하면 간단하게 선형 회귀 분석을 수행할 수 있습니다.

이번 예제에서는 SciPy의 linregress 함수를 사용하여 선형 회귀 분석을 수행하는 방법을 알아보겠습니다.

1. 필요한 패키지 가져오기

import numpy as np
from scipy import stats

먼저 numpyscipy.stats 모듈을 가져옵니다. numpy는 수치 연산을 위한 패키지이고, scipy.stats는 확률 분포와 통계 기능을 제공하는 패키지입니다.

2. 데이터 준비하기

# 독립 변수
x = np.array([1, 2, 3, 4, 5])

# 종속 변수
y = np.array([2, 3, 4, 5, 6])

독립 변수 x와 종속 변수 y를 생성합니다. 이 예제에서는 간단한 선형 관계를 가정하고 있는데, yx에 1을 더한 값을 가지도록 설정하였습니다.

3. 선형 회귀 분석 수행하기

slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)

linregress 함수를 사용하여 선형 회귀 분석을 수행합니다. 이 함수는 xy의 값에 대한 기울기(slope), 절편(intercept), 상관 계수(r_value), p-value (p_value), 표준 오차(std_err)를 반환합니다.

4. 결과 확인하기

print("기울기:", slope)
print("절편:", intercept)
print("상관 계수:", r_value)
print("p-value:", p_value)
print("표준 오차:", std_err)

분석 결과를 출력합니다. 위 코드를 실행하면 기울기, 절편, 상관 계수, p-value, 표준 오차가 출력됩니다.

5. 결과 해석하기

선형 회귀 분석의 결과를 해석하는 것은 분야에 따라 달라질 수 있습니다. 기울기는 독립 변수가 종속 변수에 미치는 영향의 크기를 나타내며, 절편은 독립 변수가 0일 때 종속 변수의 값입니다. 상관 계수는 독립 변수와 종속 변수 간의 선형 관계의 강도를 나타내며, p-value는 이 관계가 통계적으로 유의미한지를 나타냅니다. 표준 오차는 회귀 직선의 예측 정확도를 나타냅니다.

6. 참고 자료