반응형
단순선형회귀분석 코드
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf
x=np.array([1,1,2,3,4])
y=np.array([1,2,2,3,4])
data = pd.DataFrame({'x':x, 'y':y})
my_fit = smf.ols('y~x', data=data).fit()
print(my_fit.summary())
통계값 해석
1. R-squared(결정계수) : 모델의 적합도.
2. Adj. R-squared(수정된 결정계수) : 결정계수는 변수가 많아질수록 커지므로 변수의 중요성을 설명하지 못한다. 분모에 변수의 개수가 들어가있는 수정된 결정계수를 사용하면, 변수의 중요도를 알 수 있다(변수를 추가했는데, 수정된 결정계수값이 오히려 적어질 수 있음)
3. F-statistic(F통계량 값), Prob(F-statictic) (p-value) : 회귀모형의 통계적 유의미성 검증 결과. 95%로 추정할 때 0.05이하면 통계적으로 유의미하다.
4. log-liklelihood : 로그우도
5. AIC, BIC : 작을수록 좋다
모델 파라미터 값
y = a0 + a1*x 일때
Intercept : 모델의 절편 a0
x : x의 계수 a1
coef : 값
t : t통계량
p>|t|(p-value) : 해당 계수의 통계적 유의미성 (95% 유의수준에서 0.05이하면 유의미하다고 판단)
다중선형회귀분석 코드
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf
x1=np.array([1,1,2,3,4])
x2=np.array([2,4,5,7,9])
x3=np.array([3,4,3,6,10])
y=np.array([1,2,2,3,4])
data = pd.DataFrame({'x1':x1, 'x2':x2, 'x3':x3, 'y':y})
my_fit = smf.ols('y~x1 + x2 + x3', data=data).fit()
print(my_fit.summary())
반응형