2022.03.19 - [๋ฐ์ดํฐ ๋ถ์/04. Data Analysis] - [ํต๊ณ์ ๋ชจ๋ธ๋ง] ์๊ณ์ด ๋ถ์ - ์ ์์ฑ(stationary)๊ณผ ์ฐจ๋ถ [ํต๊ณ์ ๋ชจ๋ธ๋ง] ์๊ณ์ด ๋ถ์ - ์ ์์ฑ(stationary)๊ณผ ์ฐจ๋ถ 2022.03.18 - [๋ฐ์ดํฐ ๋ถ์/04. Data Analysis] - [ํต๊ณ์ ๋ชจ๋ธ๋ง] ์๊ณ์ด ๋ถ์ [ํต๊ณ์ ๋ชจ๋ธ๋ง] ์๊ณ์ด ๋ถ์ ํญ์ ์๊ณ์ด ๋ถ์์ ์ด๋ ต๊ณ ๋ณต์กํ๋ค๋ ์๊ฐ์ ์ฝ๋๋ฅผ ํ๋ํ๋ ์ดํดํ๋ฉด์ ์์ฑํ๊ธฐ ํ๋ค์ xod22.tistory.com ์ ๋ฒ ๊ธ์์๋ ์ ์์ฑ๊ณผ ์ฐจ๋ถ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํด๋ดค์ต๋๋ค. ์ค๋์ ์ด์ด์ ์๊ณ์ด ๋ถ์์ ํ ๋ ๊ฒฐ์ธก๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ๊ณผ trend(์ถ์ธ)๋ฅผ ๋ถ๋๋ฝ๊ฒ ๋ณด๊ธฐ์ํ ๋ฐฉ๋ฒ์ธ Smoothing์ ๋ํด ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋น! ๊ฒฐ์ธก๊ฐ ์ฒ๋ฆฌ : ๋๋ก ์๊ณ์ด ๋ฐ์ดํฐ..
2022.03.18 - [๋ฐ์ดํฐ ๋ถ์/04. Data Analysis] - [ํต๊ณ์ ๋ชจ๋ธ๋ง] ์๊ณ์ด ๋ถ์ [ํต๊ณ์ ๋ชจ๋ธ๋ง] ์๊ณ์ด ๋ถ์ ํญ์ ์๊ณ์ด ๋ถ์์ ์ด๋ ต๊ณ ๋ณต์กํ๋ค๋ ์๊ฐ์ ์ฝ๋๋ฅผ ํ๋ํ๋ ์ดํดํ๋ฉด์ ์์ฑํ๊ธฐ ํ๋ค์๋๋ฐ ํ๋ํ๋ ์ฐพ์๋ณด๋ฉด์ ๊ณต๋ถ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์๊ณ์ด ๋ฐ์ดํฐ๋ ์๊ณ์ด ๋ฐ์ดํฐ๋ ์ผ์ ํ ์๊ฐ xod22.tistory.com ์ ๋ฒ ๊ธ์ ์ด์ด์ ์ ์์ฑ๊ณผ ์ฐจ๋ถ์ ๋ํด์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ์ ์์ฑ(stationary)๊ณผ ๋น์ ์์ฑ(non-stationary) : ์ถ์ธ๋ ๊ณ์ ์ฑ์ด ์๋ ์๊ณ์ด์ ์ ์์ฑ์ ๋ํ๋ด๋ ์๊ณ์ด์ด ์๋๋ค. ์ถ์ธ์ ๊ณ์ ์ฑ์ ์๋ก ๋ค๋ฅธ ์๊ฐ์ ์๊ณ์ด์ ๊ฐ์ ์ํฅ์ ์ค ๊ฒ์ด๊ธฐ ๋๋ฌธ! 1. ํจํค์ง ์ํฌํธ from statsmodels.tsa.stattools import a..
ํญ์ ์๊ณ์ด ๋ถ์์ ์ด๋ ต๊ณ ๋ณต์กํ๋ค๋ ์๊ฐ์ ์ฝ๋๋ฅผ ํ๋ํ๋ ์ดํดํ๋ฉด์ ์์ฑํ๊ธฐ ํ๋ค์๋๋ฐ ํ๋ํ๋ ์ฐพ์๋ณด๋ฉด์ ๊ณต๋ถ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์๊ณ์ด ๋ฐ์ดํฐ๋ ์๊ณ์ด ๋ฐ์ดํฐ๋ ์ผ์ ํ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์์ฐจ์ ์ผ๋ก ๊ธฐ๋ก๋ ๊ด์ธก ๋ฐ์ดํฐ๋ค. ๊ด์ธก ์ฃผ๊ธฐ์๋ฐ๋ผ, ์๊ณ์ด ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ๋ณ, ์ผ๋ณ, ์ฃผ๋ณ, ์๋ณ, ๋ถ๊ธฐ๋ณ, ๋
๋๋ณ๋ก ๊ตฌ๋ถ๋๋ค. ์๊ณ์ด ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์(์์ธก)ํ๊ธฐ ์ ์ ์ํํ๋ ์ค๋น๋จ๊ณ๋ค. ์๊ณ์ด ๋ถ์์์๋ ๋ฐ์ดํฐ์ ๋ด์ฌ๋ ์์ฑ์ ๋ํด ๋ค์ํ ๊ฐ๋๋ก ์ดํดํ๋ ๊ฒ์ด ํ์ํ๋ค. ์๋ฏธ์๊ณ ์ ํํ ์์ธก์ ํ๊ธฐ ์ํด์ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ํ๋ณดํ๋ ๊ฒ์ด ํ์ํ๋ค. ์ค์ต - ๋ฐ์ดํฐ : ํธ์ฃผ ๋น๋จ๋ณ ์น๋ฃ์ฝ(anti-diabetic) ์๋ณ Sales ๋ฐ์ดํฐ ์ฌ์ฉ 1. ํจํค์ง ์ํฌํธ from dateutil.parser imp..
์ ํํ๊ท ๊ฐ์ 1. ํจํค์ง ์ํฌํธ import statsmodels.api as sm import statsmodels.formula.api as smf import statsmodels.graphics.api as smg import patsy import matplotlib.pyplot as plt import numpy as np import pandas as pd from scipy import stats 2. ๋ฐ์ดํฐ ์์ฑ y=np.array([1,2,3,4,5]) x1=np.array([6,7,8,9,10]) x2=np.array([11,12,13,14,15]) data={"y":y, "x1":x1, "x2":x2} 3. ๋ชจ๋ธ ์์ฑ y, X=patsy.dmatrices("y~1+x1+x2+x1:..
๋ถ์ฐ๋ถ์(ANOVA) ์ข
์๋ณ์(y)๊ฐ ์ฐ์ํ์ด๊ณ ๋
๋ฆฝ๋ณ์(x)๊ฐ ๋ฒ์ฃผํ ๋ณ์์ธ ๊ฒฝ์ฐ, ๋ถ์ฐ๋ถ์์ ๋ฒ์ฃผ์ ๋ฐ๋ผ ๋ ๊ฐ ์ด์์ ์ง๋จ์์ ๊ทธ๋ฃน ํ๊ท ๊ฐ ์ฐจ์ด๋ฅผ ๊ทธ๋ฃน ๋ด ๋ณ๋์ ๋น๊ตํ์ฌ ์ดํด๋ณด๋ ํต๊ณ ๋ถ์ ๋ฐฉ๋ฒ์ด๋ค. ์ฆ, ๋ ๊ฐ ์ด์ ์ง๋จ๋ค์ ํ๊ท ๊ฐ ์ฐจ์ด์ ๋ํ ํต๊ณ์ ์ ์์ฑ์ ๊ฒ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋
๋ฆฝ๋ณ์(x)์ ๊ฐ์์ ๋ฐ๋ผ ์ผ์๋ฐฐ์น ๋ถ์ฐ๋ถ์, ์ด์๋ฐฐ์น ๋ถ์ฐ๋ถ์, ๋ค์๋ฐฐ์น ๋ถ์ฐ๋ถ์์ผ๋ก ๋๋์ด์ง๋ฉฐ, ๋ถ์์๋ F-๊ฒ์ ํต๊ณ๋์ ์ด์ฉํ๋ค. ์ค์ต 1. ํจํค์ง ์ํฌํธ from scipy.stats import f_oneway 2. ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ from sklearn.datasets import load_iris import pandas as pd iris=load_iris() iris_dataframe=pd.Dat..
์๊ด๊ด๊ณ ๋ ๊ฐ ๊ทธ๋ฃน๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ถ์ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ค. 1. Pearson 2. Spearman 3. Kendall ํฌ๊ฒ ์ด๋ฌํ ๋ฐฉ๋ฒ์ด ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๊ณ , ์ค์ต์ผ๋ก ํผ์ด์จ, ์คํผ์ด๋ง ์๊ด๊ณ์ ๋ถ์์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค! * ์๊ด๊ด๊ณ๊ฐ ๋ฐ๋์ ์ธ๊ณผ๊ด๊ณ๋ฅผ ๋ปํ๋ ๊ฒ์ ์๋๋ค. ์๊ด๊ด๊ณ๊ฐ ์กด์ฌํ๋๋ผ๋ ์๋ฌด๋ฐ ์ธ๊ณผ๊ด๊ณ๊ฐ ์์ ์๋ ์๊ธฐ ๋๋ฌธ์ ํด์์ ์ฃผ์ํด์ผํ๋ค..! Pearson correlation(ํผ์ด์จ ์๊ด๊ณ์) ๋ ๋ณ์ ๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๊ตฌํ ๋ ๊ฐ์ฅ ๋ง์ด ํ์ฉ๋๋ ๊ณต์์ด๋ค. ํด๋น ์๊ด๊ณ์๋ ๋ ๋ณ์๊ฐ ์ ํ์ ์ธ ๊ด๊ณ๊ฐ ์๋์ง ํ๋จํ๋๋ฐ ์ฌ์ฉ๋๋ค. ํผ์ด์จ ์๊ด๊ณ์๊ฐ 0์ ๊ฐ๊น์ด ์์น๋ฅผ ๋ณด์ด๋๋ผ๋ ์ ํ์ ์ธ ๊ด๊ณ๊ฐ ๋ฎ๋ค๋ ๊ฒ์ผ ๋ฟ ๋น์ ํ์ ์ธ ๊ด๊ณ๋ก ์ ์๋ฏธํ ๊ด๋ จ์ด ์์ ์๋ ์๋ค. ์์น๋ -1~1์ ๊ฐ์ ..
๋ฑ๋ถ์ฐ ๊ฒ์ : ๋ฑ๋ถ์ฐ ๊ฒ์ ์ '๋ถ์ฐ์ ๋์ง์ฑ ๊ฒ์ '์ด๋ผ๊ณ ๋ ํ๋ค. ๋์ ์ง๋จ์ ๋ถ์ฐ์ด ๊ฐ์์ง ๋ค๋ฅธ์ง๋ฅผ ํต๊ณ์ ์ผ๋ก ๊ฒ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. * ๋ถ์ฐ์ด ๊ฐ์ง ์์ผ๋ฉด anova๋ถ์์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ํ๋์ด์ผํ๋ ๋ถ์์ด๋น..! H0(๊ท๋ฌด๊ฐ์ค) : ๋ชจ๋ ์ง๋จ์ ๋ถ์ฐ์ ์ฐจ์ด๊ฐ ์๋ค. H1(๋๋ฆฝ๊ฐ์ค) : ์ ์ด๋ ํ๋ ์ด์์ ์ง๋จ์ ๋ถ์ฐ์ ์ฐจ์ด๊ฐ ์๋ค. ๋ฑ๋ถ์ฐ ๊ฒ์ ์ ์ํํ๋ ํจ์๋ ๋ค์ ๋๊ฐ์ง๊ฐ ์๋ค. -Bartlett.test -levene.test -> ๋๊ฐ์ง ๋ค ๋ถ์ฐ์ ๋์ง์ฑ์ ๊ฒ์ ํ๋ ๋ฐฉ๋ฒ์ด์ง๋ง Levene ๊ฒ์ ๊ณผ ๋ฌ๋ฆฌ Bartlett ๊ฒ์ ์ ํ๋ณธ์ด ์ ๊ท์ฑ์ ๋ง์กฑํ ๋(์ฆ ์ ๊ท๋ถํฌ๋ฅผ ๋จ ๋)์๋ง ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. Levene ๊ฒ์ ์ ํ๋ณธ์ด ์ ๊ท์ฑ์ ๋ง์กฑํ๋ ๋ง์กฑํ์ง ์๋ ์๊ด์์ด ์ฌ์ฉํ ์ ์๋ค..
์ ๊ท๋ถํฌ, F๋ถํฌ, ํฌ์์ก ๋ถํฌ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค! ์ ๊ท๋ถํฌ 1. ํจํค์ง ์ํฌํธ import scipy as sp import seaborn as sns import numpy as np import matplotlib as mpl import matplotlib.pylab as plt %matplotlib inline 2. ์ ๊ท๋ถํฌ ๊ฐ์ฒด ์์ฑ X=sp.stats.norm() 3. plotํ ๊ณต๊ฐ ๋ง๋ จ fig, axes=plt.subplots(1, 3, figsize=(12,3)) x_min_999, x_max_999=X.interval(0.999) x999=np.linspace(x_min_999, x_max_999, 1000) 4. plotํ๊ธฐ #PDF : ํ๋ฅ ๋ฐ๋ํจ์ axes[0].plot(x9..