data-science-summary/summary
Box cox 변환 in python
고수트
2020. 9. 14. 22:59
반응형
<엔지니어는 구현을 못하면 모르는것이다>
BOX-COX 변환은 정규분포가 아닌 자료를 정규분포로 변환하기 위해 사용됨
lambda 값을 통해 조정
scipy 모듈의 stats 서브 모듈 사용
=> box-cox 변환된 값과 최적의 lamda 값이 구할수 있음
from scipy import stats
import matplotlib.pyplot as plt
# 그림판준비
fig = plt.figure()
# 2행 1열의 세부 그림장 생성
ax1 = fig.add_subplot(131)
ax2 = fig.add_subplot(133)
# log gamma continuous random variable 생성
x = stats.loggamma.rvs(5, size=500) + 5
# Q-Q 플롯 그리기
prob = stats.probplot(x, dist=stats.norm, plot=ax1)
ax1.set_title('Q-Q original x')
# box-cox 변환 사용 => 조금 더 정규화됨
x_trans, optimal_lambda = stats.boxcox(x)
prob = stats.probplot(x_trans, dist=stats.norm, plot=ax2)
ax2.set_title('Q-Q box-cox-translation')
plt.show()
# box-cox 최적의 lambda 값 찾는법
print('최적의 람다값 : ', optimal_lambda)
반응형