[python] SciPy를 사용하여 선형 회귀 분석 하기
선형 회귀 분석은 데이터의 관계를 설명하기 위해 사용되는 통계적인 기법입니다. 파이썬의 SciPy 패키지를 사용하면 간단하게 선형 회귀 분석을 수행할 수 있습니다.
이번 예제에서는 SciPy의 linregress
함수를 사용하여 선형 회귀 분석을 수행하는 방법을 알아보겠습니다.
1. 필요한 패키지 가져오기
import numpy as np
from scipy import stats
먼저 numpy
와 scipy.stats
모듈을 가져옵니다. numpy
는 수치 연산을 위한 패키지이고, scipy.stats
는 확률 분포와 통계 기능을 제공하는 패키지입니다.
2. 데이터 준비하기
# 독립 변수
x = np.array([1, 2, 3, 4, 5])
# 종속 변수
y = np.array([2, 3, 4, 5, 6])
독립 변수 x
와 종속 변수 y
를 생성합니다. 이 예제에서는 간단한 선형 관계를 가정하고 있는데, y
는 x
에 1을 더한 값을 가지도록 설정하였습니다.
3. 선형 회귀 분석 수행하기
slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
linregress
함수를 사용하여 선형 회귀 분석을 수행합니다. 이 함수는 x
와 y
의 값에 대한 기울기(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는 이 관계가 통계적으로 유의미한지를 나타냅니다. 표준 오차는 회귀 직선의 예측 정확도를 나타냅니다.