통계
-
통계-17 다변량분석(주성분, 인자, 군집, 생존)통계 2023. 6. 5. 14:06
1. 다변량 분석 다변량 분석은 한 번에 둘 이상의 변수를 분석하는 방법이다. 다변량 분석의 목적은 차원 축소(주성분 분석, 인자 분석), 분류(군집 분석, 판별 분석, cart 군집화), 예측(회귀 분석), 상관관계파악(다변량분산분석, 다중비교), 범주형 자료의 분석(로지스틱 회귀, 대응 분석)이 있다. 다변량 데이터가 정규분포를 따르는지 확인하기 위해 다변량 산점도 그래프, 단변량 카이제곱 검정, 다변량 shapiro-wilk 검정, 다변량 커트리스 마라테스 테스트 등을 통하여 정규성 검정을 진행한다. 2. PCA(주성분 분석) pca는 차원 축소 기법 중 하나이다. 차원 축소란 원 데이터의 분포를 최대한 유지하면서 데이터의 차원을 줄이는 것을 말한다. 차원을 축소함으로써 데이터를 가볍고 해석하기 쉽..
-
통계-16 ar, ma, arma, arima, sarima통계 2023. 6. 4. 19:48
1. 자기 회귀 모델(ar) ar(autogressive)는 자기 자신을 종속 변수로 과거를 독립변수로 가지는 모델이다. 모델의 현재 값이 이전 값들의 선형조합으로 구성된다는 것을 의미한다. np.random.seed(0) n = 100 ar_params = [0.7] ma_params = [] residuals = np.random.normal(0,1,n) data = [0] for i in range(1,n): data.append(ar_params[0] * data[i-1] + residuals[i]) df = pd.DataFrame({'date': pd.date_range(start= '2023-01-01',periods =n, freq='d'),'value': data}) df = df.set_..
-
통계-15 정규화, 표준화, 변환통계 2023. 6. 4. 16:23
1. 최소-최대 정규화(min-max-scaling) min-max scaling은 데이터- 최소값/최대값-최소값 공식을 사용하며 모든 데이터를 0과 1 사이의 범위로 변환하는 것으로 정규화한다. dates = pd.date_range(start= '2023-01-01',periods =100, freq='d') values = np.random.randint(0,100,size=100) data = pd.DataFrame({'date':dates , 'value':values}) min_value = data['value'].min() max_value = data['value'].max() data['value_normaized'] = (data['value']- min_value)/(max_valu..
-
통계-14 이상치통계 2023. 6. 4. 15:43
1. 이상치 이상치는 데이터셋에서 다른 관측치들과 동떨어진 값이며 잘못된 결과나 오류를 유발할 수 있기 때문에 이상치를 식별하고 적절하게 처리하는 것이 중요하다. 이상치는 예측하기 어려우며 처리하는 과정에서 데이터의 특성을 변경할 수도 있고 주관적인 해석이 이루어질 수 있다. 대용량으로 이상치를 처리하는 것은 더욱 어려우며 이상치를 탐지하는 것은 어려운 일이기 때문에 강력한 알고리즘과 지식이 필요하다. 이러한 이상치를 처리하기 위한 방법이 평활(smoothing)이며 스무딩은 잡음이나 불규칙한 변동을 완화시키기 위해 데이터의 추세나 패턴을 부드럽게 만드는 방법이다. 대표적으로 이동평균과 지수 평활법이 있다. 2. 이동 평균법(moving average) 이동 평균법은 일정 기간별 이동 평균을 계산하고 이..
-
통계-13 결측치통계 2023. 6. 1. 10:34
1. 결측치 결측치는 대부분의 시계열 데이터가 가지고 있는 문제이며 데이터가 누락되어 있는 것이다. 결측치가 있는 데이터로 분석을 진행하면 정확도와 신뢰도가 떨어질 수 있기 때문에 결측치를 전처리 하는 것은 필수적이다. data = pd.DataFrame({ 'a':[1,2,np.nan,4,5], 'b':[6,np.nan,8,9,10], 'c':[11,12,13,np.nan,15] }) print(data.isnull()) a b c 0 False False False 1 False True False 2 True False False 3 False False True 4 False False False 결측치가 있는 데이터를 생성하고 innull 함수를 통해 어떤 부분이 결측치가 있는지 확인한다. pl..
-
통계-12 시계열 데이터통계 2023. 5. 31. 15:52
1. 시계열 데이터 시계열 데이터는 시간을 독립변수로 가지는 데이터이다. 시간의존성: 데이터들이 시간적 연관성을 가지며 서로 영향을 미친다. 계절성: 일정한 주기를 가지며 반복되는 패턴이 나타날 수 있다. 추세: 추세가 증가하거나 감소하는 등 일정한 추세를 가질 수 있다. 자기상관성: 시간적으로 인접한 데이터 사이에 상관관계가 있을 수 있다. 불규칙성: 예측할 수 없는 불규칙한 변동이 발생할 수 있다. np.random.seed(42) dates = pd.date_range(start="2023-01-01", periods=1000, freq='D') values = np.random.randn(1000) data = pd.DataFrame({ 'Date' : dates, 'Value' : values ..
-
통계-11 크루스칼 왈리스 검정, 프리드만 검정통계 2023. 5. 31. 15:22
1. 크루스칼 왈리스 검정(Kruskal-Wallis) 크루스칼 왈리스 검정은 세 개 이상의 집단 간에 차이가 있는지를 검정하며 비모수적인 검정이다. 정규 분포를 따르는 경우에는 anova 검정을 사용하며 비모수적인 검정이 필요할 때 크루스칼 왈리스 검정을 사용하게 된다. 크루스칼 왈리스 검정의 방법은 윌콕슨 순위 합 검정의 확장이며 세 개 이상의 집단의 순위합을 비교하며 모든 그룹의 중앙값이 같다는 귀무가설을 가진다. np.random.seed(1) group1 = np.random.normal(loc=5, scale=1, size=20) group2 = np.random.normal(loc=7, scale=1, size=25) group3 = np.random.normal(loc=10, scale=1..
-
통계-10 윌콕슨 순위합 검정통계 2023. 5. 31. 14:30
1. 윌콕슨 순위합 검정, 맨 휘트니 검정(Wilcoxon rank-sum test, u-test) 윌콕슨 순위합 검정은 비모수적인 검정으로 두 개의 표본을 비교하는 방법이다. 두 집단의 값들에 대해 각각 순위를 매기고 두 집단을 합쳐서 순위를 구한다. 그 후에 두 집단의 순위합을 따로 구하고 그 차이에 대하여 검정을 진행하는 방식이다. 윌콕슨 부호 순위 검정은 단일 집단에서 중앙값을 비교하며 윌콕슨 순위 합 검정은 순위합을 비교하는 점에서 차이가 있다. data = { 'group1' : [3,2,5,1,4,2,6,7,9,8], 'group2' : [6,4,7,2,6,3,7,9,10,11] } df = pd.DataFrame(data) df.to_csv("./data/mannwhitneyu_sample..