기본 콘텐츠로 건너뛰기

라벨이 IQR인 게시물 표시

[matplotlib]quiver()함수

[matplotlib] boxplot 그리기

boxplot 박스플롯은 다음의 형태를 가집니다. 그림 1. boxplot 박스 플롯은 그림 1과 같이 자료의 4분위수를 표시합니다. 박스 아래의 수평바 : 이상치를 제외한 자료의 최소값(하한값) 박스의 하단 : Q 1 박스 내부의 선 : Q 2 , 자료의 중간값(median) 박스 상단: Q 3 박스 위의 수평바: 이상치를 제외한 자료의 최대값(상한값) 박스와 수염모양의 바를 벗어난 점: 이상치 최대값과 최소값은 식 1과 같이 계산합니다. IQR = Q 3 - Q 1 (식 1) 하한 = Q 1 - IQR·1.5 상한 = Q 3 + IQR·1.5 boxplot은 다음 함수로 작성할 수 있습니다. plt.boxplot(x, norch=None, sym=None, vert=None) x: 배열, 벡터의 시퀀스 2차원일 경우 열단위로 작성 norch: True → 중앙값 주변에 신뢰구간(CI)를 나타냄 sym: 이상치 표시 , 기본값은 None whis: 상한과 하한의 계산하기 위해 IQR에 고려하는 가중치로 기본값은 1.5 하한(lower whisker)의 위치: Q 1 - whis × (Q 3 -Q 1 ) 상한(upper whisker)의 위치: Q 3 + whis × (Q 3 -Q 1 ) vert True → 박스 그림을 수직으로 작성(기본값 None과 같음) False : → 박스그림을 수평으로 작성 np.random.seed(3) da=np.random.randn(1000, 3) plt.figure(figsize=(4, 3)) plt.boxplot(da, sym="b1", notch=True) plt.show() fig, ax=plt.subplots(figsize=(4,3)) box=ax.boxplot(da, notch=True, sym="g+", vert=False) ax.set_xlabel("valu...

[data analysis] 변동: 사분위수(Quantile)

변동(Variation) 관련내용 범위(range) 4분위수(Quantile) 중간값 절대 편차(MAD) 분산(Variance) 표준편차(Standard Deviation) 분산계수(Variation Coefficient) 4분위수(Quantile) 4분위(quantile)는 변동을 측정하는 다양한 방법 중의 하나입니다. 예를 들어 자료 {4, 6, 2, 4, 6, −4, −7, 145}의 경우 이상치로 간주할 수 있는 현저하게 큰 값을 포함하고 있습니다. 이러한 경우 범위는 그 자료의 변동 특성을 올바르게 나타낼 수 없습니다. 대신에 전체 데이터들을 순서적으로 정렬하여 몇 개의 그룹으로 구분하여 각 그룹의 경계값들을 기준으로 데이터의 퍼짐의 정도 즉, 변동을 나타낼 수 있습니다. 그러므로 이상치에 대한 영향을 감소시킬 수 있습니다. 4분위수는 데이터 셋 전체를 4부분으로 구분하며 다음 과정으로 계산합니다. 오름차순으로 정렬 중간값(median)을 결정(Q 2 ) 2 번에서 결정한 중간값을 기준으로 작은 값들 사이에 중간값(Q 1 )과 큰 값들 사이에 중간값(Q 3 )을 결정합니다. 위의 과정으로 산출한 4 분위수Q 1 , Q 2 , 그리고 Q 3 는 각각 전체 데이터의 25%, 50%, 그리고 75%에 대응하는 값입니다. 이 분위수는 numpy의 quantile(x), percentile(x) 함수를 사용하여 결정할 수 있습니다. numpy.quantile(x, q, axis=none) 지정된 축을 따라 데이터(x)의 q번째 분위수를 계산합니다. q: [0, 1]사이의 값 또는 그 사이 값들로 구성된 리스트 예로 4분위수의 경우 :0.25, 0.50, 0.75 axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정 axis = 1 → 행 axis = 0 → 열 axis를 지정하지 않는 경우 객체를 1차원으로 인식하여 모든 값들에 대해 계산합니다. np.precentile()...