기본 콘텐츠로 건너뛰기

라벨이 정규성인 게시물 표시

[matplotlib]quiver()함수

[data analysis] 다중 회귀모형의 진단

다중 회귀모형의 진단 내용 정규성(normality) 과 이상치(outlier) 평가 독립성 선형성과 자기상관 등분산성 단순회귀모형과 같이 회귀분석은 몇 가지 가정 을 전제한 상태에서 모형을 구축합니다. 그러므로 그 가정의 충족되지 않은 자료들에서 생성된 모형의 경우 적용과 적합성에 문제가 발생됩니다. 예를 들어 데이터가 정규분포를 따르지 않는 상태에서 구축된 회귀모형의 예측 범위는 매우 넓어질 수 있으므로 그 자체의 의미가 감소됩니다. 또한 변수들의 독립성에 문제가 있는 경우 반응변수에 대한 설명변수들의 선택에서 발생하는 오류는 실제와 다른 결과를 가져올 수 있습니다. 이 원인들은 모두 회귀모형의 신뢰도를 악화시키며 예측정도를 빈약하게 만들 수 있습니다. 정규성(normality) 과 이상치(outlier) 평가 예 1) 다음 코드에 의해 생성된 자료 코스피지수(kos), 코스탁지수(kq), kodex 레버리지(kl), kodex 인버스(ki), 그리고 원달러환율(WonDol)의 일일 종가들을 설명변수로 사용하여 삼성전자(sam)의 일일 종가를 추정하는 회귀모델을 구축해 봅니다. (이 자료에서 설명변수는 반응변수보다 1일 앞선 데이터 입니다.) import numpy as np import pandas as pd import yfinance as yf st=pd.Timestamp(2023,1, 10) et=pd.Timestamp(2024, 5, 30) code=["^KS11", "^KQ11", "122630.KS", "114800.KS","KRW=X","005930.KS"] nme=["kos","kq","kl", "ki", "WonDol","sam" ] da={} for i, j in zip(nme,c...

[data analysis] 회귀모형에서 이상치(outlier) 파악

회귀모형에서 이상치(outlier) 파악 관련된 내용 Hat 행렬 레버리지(Leverage) 스튜던트 잔차(rstudent) Cook's Distance(D) 회귀계수의 검정에서 사용한 f분포는 기본적으로 검정대상이 정규분포에 부합한다는 가정하에 실시합니다. 이점은 회귀분석의 기본가정인 정규성에 대한 이유가 되며 이것을 확인하기 위해 모델에 의해 생성되는 확률변수인 잔차의 정규성을 검정합니다. 정규성을 시각적으로 판단하기 위해 그림 1과 같은 q-q plot을 사용하며 정량적인 검정을 위해 Shapiro-wilk 또는 Anderson-Darling 검정방법을 적용할 수 있습니다. 그림 1은 stats.probplot() 에 의한 qq plot으로 양끝에서 정규성에 이탈하는 모양을 나타냅니다. 이에 대한 정량적인 검정은 stats.shapiro() 함수에 의해 실행합니다. 그림 1은 다음 코드로 생성되는 특정한 기간의 코스피 주가의 Open과 Close에 대한 회귀모델에서의 오차(error)에 대한 것입니다. 이 과정에서 원시데이터는 표준화하였습니다. import numpy as np import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LinearRegression from scipy import stats import matplotlib.pyplot as plt import FinanceDataReader as fdr st=pd.Timestamp(2021,1, 1) et=pd.Timestamp(2024, 5, 10) kos=fdr.DataReader('KS11',st, et)[["Open","Close"]] kos.index=range(len(kos)) X=kos.values[:,0].reshape(-1,1) y=k...

[data analysis] Q-Q plot

Q-Q plot 관련된 내용 Q-Q plot shapiro-Wilk test Kolmogorov-Smirnov Test Anderson-Darling 검정 Jarque-Bera test Q-Q(사분위수) plot은 두 자료들을 분위수로 구분한 후 동일한 분위수 값들에 대해 작성한 도표로서 두 그룹의 분포를 비교하는 방법으로 역누적분포에 의해 설명됩니다. 역누적분포 (Inverse cumulative distribution) 는 누적분포의 역함수입니다. 예를 들어 표준정규분포의 누적분포와 역누적분포는 그림 1과 같이 나타낼 수 있습니다. 그림 1. 표준정규분포의 (a) pdf, cdf와 (b)역누적확률분포. x=np.linspace(-3, 3,1000) pdf=stats.norm.pdf(x) cdf=stats.norm.cdf(x) q=np.linspace(0, 1, 1000) ppf=stats.norm.ppf(q) plt.figure(figsize=(8, 5)) plt.subplots_adjust(wspace=0.3) plt.subplot(1,2,1) plt.plot(x, pdf, color="blue", label="PDF") plt.plot(x, cdf, color="red", label="CDF") plt.xlabel("x") plt.ylabel("probability") plt.legend(loc="best") plt.title("(a)", loc="left") plt.subplot(1,2,2) plt.plot(q, ppf, color="green", label="Inverse CDF") plt.xlabel("probaility(q)") plt.ylabel("I(q)") plt.leg...

[data analysis]정규성검정(Normality Test)

정규성검정(Normality Test) 관련된 내용 Q-Q plot shapiro-Wilk test Kolmogorov-Smirnov Test Anderson-Darling 검정 Jarque-Bera test 중심극한정리 에 의해 자료의 샘플 수가 증가할수록 정규분포에 근접합니다. 특히 표본평균들의 분포인 표본분포는 정규분포에 부합합니다. 그러나 평균이 아닌 원시데이터(raw data)의 경우 정규분포에 부합여부가 중요한 경우가 있습니다. 예를 들어 회귀분석의 경우 관찰값과 회귀 모형에 의한 예측값들의 차이를 잔차(residuals) 라고 하는데 잔차가 정규분포에 부합한다는 가정하에 실시됩니다. 그 가정에 부합하는가의 여부가 성립된 모형의 적합도를 결정할 판단근거가 됩니다. 정규성 검정은 다음 방법을 사용합니다. Quantile-Quantile plot: 시각적 분석에 의한 결정 Shaprio-Wilks test: 표본수(n < 2000)인 경우에 주로 사용 Kolmogoroves-Smrinov test: n > 2000인 경우에 사용 Jarque-Bera Test