5.3 Accumulated Local Effects (ALE)
Accumulated Local Effects (ALE) Plot
누적 국소 효과1는 특성이 머신러닝 모델의 예측에 평균적으로 어떻게 영향을 미치는지를 설명합니다. ALE 플롯은 PDP(부분 의존도 플롯)보다 빠르고 편향되지 않은 대안입니다.
부분 의존도 플롯에 관한 챕터는 이해하기 쉽고 두 방법 모두 동일한 목표를 공유하므로 먼저 읽는 것이 좋습니다. 둘 다 특성이 평균적으로 예측에 영향을 미치는 방법을 설명합니다. 다음 단락에서, 저는 부분 의존도 플롯이 특성들이 서로 연관되어 있을 때 심각한 문제를 가지고 있다는 것을 여러분에게 확신시키고 싶습니다.
동기 및 이해
머신러닝 모델의 특성이 상관 관계가 있는 경우 부분 의존도를 신뢰할 수 없습니다. 다른 특성과 강하게 상관되는 특성에 대한 부분 의존도 플롯의 계산에는 현실적으로 가능성이 없는 인공 데이터 관측치의 예측을 평균화하는 작업이 포함됩니다. 이렇게 하면 추정된 특성 효과가 크게 편향될 수 있습니다. 방의 수와 거주지의 크기에 따라 집의 가치를 예측하는 머신러닝 모델의 부분 의존도를 계산한다고 상상해 보세요. 우리는 거주지 크기가 예측된 가치에 미치는 영향에 관심이 있습니다. 참고로 부분 의존도 플롯의 방법은 1) 특성을 선택 2) 그리드를 정의. 3) 그리드당 값: a) 특성를 그리드 값 및 b) 평균 예측을 계산 4) 곡선을 그립니다. PDP의 첫 번째 격자 값(예: \(30m^2\))을 계산하기 위해 모든 관측치의 거주지 크기를 \(30m^2\)로 대체합니다. 방이 10개인 집도 마찬가지입니다. 저한테는 아주 특이한 집처럼 느껴지네요. 부분 의존도 플롯은 특성 효과 추정에서 이러한 비현실적인 집을 포함하며 모든 것에 괜찮은 척 합니다. 다음 플롯은 두 개의 상관된 특성와 부분 의존도 플롯 방법이 예상할 수 없는 관측치의 예측을 평균화하는 방법을 보여 줍니다.
플롯 5.10: x1과 x2가 강하게 연관되어 있습니다. 0.75에서 x1의 특성 효과를 계산하기 위해 PDP는 x1 = 0.75에서 x2의 분포가 x2(수직선)의 한계 분포와 같다고 잘못 가정하여 모든 관측치(instance)의 x1을 0.75로 대체합니다. 따라서 PDP가 평균 효과 계산에 사용하는 x1과 x2(예: x1=0.75에서 x2=0.2)의 가능성이 적은 조합이 생깁니다.
특성의 상관 관계를 나타내는 특성 효과 추정치를 얻으려면 어떻게 해야 할까요? 특성의 조건부 분포에 대해 평균을 낼 수 있습니다. 즉, 그리드 값이 x1인 관측치의 예측값을 평균할 수 있습니다. 조건부 분포를 사용하여 특성 효과를 계산하는 해결책을 한계 플롯(Marginal Plots) 또는 M-플롯이라고 합니다(한계점 분산이 아니라 조건부 분포를 기반으로 하기 때문에 이름이 혼란스러울 수 있습니다.). 잠깐만요, 제가 ALE 그래프에 대해 얘기하겠다고 약속하지 않았나요? M-플롯은 우리가 찾고 있는 해결책이 아닙니다. M-Plots는 왜 우리의 문제를 해결하지 않을까요? 약 \(30m^2\)의 모든 주택에 대한 예측을 평균화하면 상관관계 때문에 거주지 크기와 방 수에 대한 복합 효과를 추정할 수 있습니다. 거주지 크기가 주택의 예측 값에 영향을 미치지 않는다고 가정하고, 방의 수만이 영향을 받는다고 가정합니다. M-플롯은 여전히 방의 크기가 예측값을 증가시킨다는 것을 보여줍니다. 방의 수는 거주 면적에 따라 증가하기 때문입니다. 다음 플롯은 M-Plot의 방법을 보여 줍니다.
플롯 5.11: x1과 x2가 강하게 연관되어 있습니다. M-플롯 평균은 조건부 분포에 대한 값입니다. 여기서 x1 = 0.75에서 x2의 조건부 분포입니다. 로컬 예측을 평균화하면 두 특성의 효과가 혼합됩니다.
M-Plot은 예상할 수 없는 데이터 관측치의 평균 예측을 피하지만 특성의 효과와 모든 상관 특성의 효과를 혼합합니다. ALE 플롯은 특성의 조건부 분포에 기반하여 평균 대신 예측의 차이를 계산하여 이 문제를 해결합니다. \(30m^2\)에서 거주지 크기의 효과를 위해 ALE 방법은 약 \(30m^2\)의 모든 집을 사용하고, 모델 예측에서 이 집들이 \(31m^2\)인 예측값에서 \(29m^2\)인 예측값을 뺀 것으로하는 예측치를 얻습니다. 이것은 거주지 크기의 순수한 효과를 계산해주었고, 그 효과와 상관관계가 있는 특성의 효과를 섞지 않습니다. 차이를 사용하면 다른 특성의 효과를 차단할 수 있습니다. 다음 플롯은 ALE 플롯이 계산되는 방법을 직관적으로 보여줍니다.
플롯 5.12: x2와 상관되는 특성 x1에 대한 ALE 계산입니다. 먼저 특성을 간격(수직선)으로 나눕니다. 간격의 데이터 관측치(점)의 경우 간격의 상한과 하한(수평선)으로 특성를 교체할 때 예측의 차이를 계산합니다. 이러한 차이는 나중에 누적되고 중앙에 배치되므로 ALE 곡선이 생성됩니다.
각 플롯 유형(PD, M, ALE)이 특정 그리드 값 v에서 특성의 효과를 계산하는 방법을 요약하려면 다음을 수행합니다.
- Partial Dependenc Plot: “각 데이터 관측치에 해당 특성에 대한 v 값이 있을 때 모델이 예측하는 평균값을 보여줍니다. v 값이 모든 데이터 관측치에 적합한지 여부는 무시합니다.”
- M-Plot: “이 특성에 대해 v에 가까운 값을 가진 데이터 관측치의 평균 예측값을 보여줍니다. 효과는 해당 특성 때문일 수도 있지만 상관 관계가 있는 특성 때문일 수도 있습니다.”
- ALE Plot: “이 구간의 데이터 관측치에 대해 v 주변의 작은 “구간”에서 모델 예측이 어떻게 변화하는지 보여줍니다.”
이론
PD와 M, ALE 플롯이 수학적으로 어떻게 다를까요? 세 가지 방법 모두 공통적으로 복잡한 예측 함수 f를 한 가지(또는 두 가지) 특성에만 의존하는 함수로 줄이는 것입니다. 세 가지 방법 모두 다른 특성의 효과를 평균화하여 함수를 감소시키지만, 예측의 평균 또는 예측의 차이를 계산하는지, 한계 분포 또는 조건부 분포에서 평균화가 수행되는지 여부는 서로 다릅니다.
부분 의존도 플롯은 한계 분포에 대한 예측의 평균을 나타냅니다.
\[\begin{align*}\hat{f}_{x_S,PDP}(x_S)&=E_{X_C}\left[\hat{f}(x_S,X_C)\right]\\&=\int_{x_C}\hat{f}(x_S,x_C)\mathbb{P}(x_C)d{}x_C\end{align*}\]이 값은 \(x_C\)의 모든 특성에서 평균되는 특성 값 \(x_S\)의 예측 함수 f 값입니다. 평균화는 확률 분포에 의해 가중되는 예측에 대한 정수인 집합 C의 특성에 대한 한계 기대 E를 계산하는 것을 의미합니다. 어려운말처럼 들리지만 한계 분포에 비해 예상되는 값을 계산하기 위해 모든 데이터 관측치를 선택하여 S 집합의 특성에 대해 특정 그리드 값을 갖도록 하고 조작된 데이터 세트에 대한 예측을 평균화하면 됩니다. 이 절차를 통해 특성의 한계 분포를 평균화할 수 있습니다.
M-플롯은 조건부 분포에 대한 예측의 평균을 나타냅니다.
\[\begin{align*}\hat{f}_{x_S,M}(x_S)&=E_{X_C|X_S}\left[\hat{f}(X_S,X_C)|X_S=x_s\right]\\&=\int_{x_C}\hat{f}(x_S,x_C)\mathbb{P}(x_C|x_S)d{}x_C\end{align*}\]PDP와 비교할 때 변경되는 유일한 것은 각 그리드 값에서 한계 분포를 가정하는 대신 관심 특성의 각 그리드 값에 따라 예측을 평균화하는 것입니다. 실제로, 이것은 우리가 이웃을 정의해야 한다는 것을 의미합니다. 예를 들어, \(30m^2\)의 예측 주택 가치에 대한 영향을 계산할 때, 우리는 \(28\)에서 \(32m^2\) 사이의 모든 주택의 예측을 평균화할 수 있습니다.
ALE 플롯은 예측의 변화를 평균화하고 그리드 위에 누적합니다(나중에 더 설명).
\[\begin{align*}\hat{f}_{x_S,ALE}(x_S)=&\int_{z_{0,1}}^{x_S}E_{X_C|X_S}\left[\hat{f}^S(X_s,X_c)|X_S=z_S\right]dz_S-\text{constant}\\=&\int_{z_{0,1}}^{x_S}\int_{x_C}\hat{f}^S(z_s,x_c)\mathbb{P}(x_C|z_S)d{}x_C{}dz_S-\text{constant}\end{align*}\]이 공식은 M-Plots에 대한 세 가지 차이를 나타냅니다. 첫째, 예측 자체의 변화가 아니라 예측의 변화를 평균화합니다. 변경 내용은 경사(gradient)로 정의되지만 나중에 실제 계산의 경우 간격에 따른 예측의 차이로 대체됩니다.
\[\hat{f}^S(x_s,x_c)=\frac{\delta\hat{f}(x_S,x_C)}{\delta{}x_S}\]두 번째의 차이점은 z에 대한 적분입니다. S 집합의 특성 범위 위에 지역의 경사를 누적하여 특성이 예측에 미치는 영향을 계산합니다. 실제 계산을 위해 z는 예측의 변화를 계산하는 간격의 그리드로 대체됩니다. ALE 방법은 예측을 직접 평균화하는 대신 특성 S를 조건으로 예측 차이를 계산하고 특성 S에 대한 미분을 적분하여 효과를 추정합니다. 바보같이 들리네요. 미분 및 적분은 처음 숫자를 빼고 같은 숫자를 다시 더하는 것과 같이 서로를 취소합니다. 왜 여기가 이렇게 표현됐을까요? 미분(또는 간격 차이)은 관심 특성의 효과를 분리하고 상관 특성의 효과를 차단합니다.
ALE 플롯과 M-플롯의 세 번째 차이점은 결과에서 상수를 빼는 것입니다. 이 단계에서는 데이터에 대한 평균 효과가 0이 되도록 ALE 플롯을 중앙에 배치합니다.
한 가지 문제가 남아 있습니다. 모든 모델에 경사가 있는 것은 아닙니다. 예를 들어 랜덤 포레스트에는 경사가 없습니다. 하지만 보시다시피 실제 계산은 경사 없이 작동하며 간격을 사용합니다. ALE 플롯의 추정치를 좀 더 자세히 살펴보겠습니다.
추정치
먼저 ALE 플롯이 단일 숫자 특성, 두 개의 숫자 특성 및 단일 범주형 특성에 대해 어떻게 추정되는지 설명하겠습니다. 로컬 효과를 추정하기 위해 특성를 여러 간격으로 나누고 예측의 차이를 계산합니다. 이 절차에서는 경사를 근사화하고 경사가 없는 모델에서도 작동합니다.
먼저 우리는 비중심적 효과를 추정합니다.
\[\hat{\tilde{f}}_{j,ALE}(x)=\sum_{k=1}^{k_j(x)}\frac{1}{n_j(k)}\sum_{i:x_{j}^{(i)}\in{}N_j(k)}\left[f(z_{k,j},x^{(i)}_{\setminus{}j})-f(z_{k-1,j},x^{(i)}_{\setminus{}j})\right]\]이 공식을 오른쪽부터 보겠습니다. Acculated Local Effects라는 이름은 이 공식의 모든 개별 구성 요소를 잘 반영합니다. ALE 방법의 핵심은 관심 특성을 그리드 값 z로 대체하는 예측의 차이를 계산하는 것입니다. 예측 차이점은 특정 간격에 있는 개별 관측치에 대해 특성이 갖는 효과입니다. 오른쪽의 합계는 공식에 \(N_j(k)\)로 표시되는 간격 내에 모든 관측치의 효과를 합산한 값입니다. 이 간격에 대한 예측의 평균 차이를 얻기 위해 이 간격을 관측치 수(\(n_j(k)\))로 나눕니다. 이 간격의 평균은 ALE 이름의 Local이라는 용어가 적용됩니다. 왼쪽 합계 기호는 모든 간격에 걸쳐 평균 효과를 누적함을 의미합니다. 예를 들어, 세 번째 간격에 있는 특성 값의 (중심화되지 않은) ALE는 첫 번째, 두 번째 및 세 번째 간격의 효과의 합계입니다. ALE의 Acculated라는 단어는 이를 반영합니다.
이 효과는 평균 효과가 0이 되도록 중심화 합니다.
\[\hat{f}_{j,ALE}(x)=\hat{\tilde{f}}_{j,ALE}(x)-\frac{1}{n}\sum_{i=1}^{n}\hat{\tilde{f}}_{j,ALE}(x^{(i)}_{j})\]ALE 값은 데이터의 평균 예측과 비교하여 특정 값에서 특성의 주효과로 해석할 수 있습니다. 예를 들어, ALE 추정치가 \(x_j=3\)인 경우 -2는 j번째 특성의 값이 3이면 평균 예측에 비해 예측이 2만큼 낮다는 것을 의미합니다.
특성의 분포의 분위수는 간격을 정의하는 그리드로 사용됩니다. 분위수를 사용하면 각 간격에 동일한 수의 데이터 관측치가 있는지 확인할 수 있습니다. 수량에는 간격의 길이가 매우 다를 수 있다는 단점이 있습니다. 이 경우 관심 특성이 매우 치우친 경우(예: 많은 낮은 값과 몇 개의 매우 높은 값만 해당) 일부 이상한 ALE 플롯이 나타날 수 있습니다.
두 특성의 교호작용에 대한 ALE plots
ALE 플롯은 두 특성의 상호 작용 효과도 표시할 수 있습니다. 계산 원리는 단일 특성에 대한 원리와 동일하지만, 2차원으로 효과를 축적해야 하기 때문에 간격 대신 직사각형 셀로 작업합니다. 전체 평균 효과에 대한 조정 외에도 두 특성의 주효과에 대해서도 조정합니다. 즉, 두 특성에 대한 ALE는 특성의 주효과를 포함하지 않는 두 번째 효과를 추정합니다. 두 특성에 대한 ALE는 두 특성의 추가 상호 작용 효과만 표시합니다. 2D ALE 플롯의 공식은 길고 읽기 불편하기 때문에 생략합니다. 계산에 관심이 있으신 분은 논문의 공식 (13) – (16)을 참조하세요. 저는 시각화를 사용하여 2차 ALE 계산에 대한 직관성을 나타낼 것입니다.
플롯 5.13: 2D-ALE를 계산합니다. 두 특성 위에 그리드를 그립니다. 각 그리드 셀에서 내부 모든 관측치에 대한 두 번째의 차이를 계산합니다. 먼저 x1 및 x2 값을 셀 모서리의 값으로 바꿉니다. a, b, c 및 d가 변형된 관측치의 "코너"-예측을 나타내는 경우(플롯에 표시된 대로) 두 번째의 차이는 (d - c) - (b - a)입니다. 각 셀의 평균 2차 차이는 그리드를 통해 누적되어 중앙에 위치합니다.
이전 플롯에서는 상관 관계 때문에 많은 셀이 비어 있습니다. ALE 플롯에서는 회색으로 표시되거나 어둡게 표시된 상자를 사용하여 이 작업을 시각화할 수 있습니다. 또는 빈 셀의 누락된 ALE 추정치를 가장 가까운 비어 있지 않은 셀의 ALE 추정치로 대체할 수 있습니다.
두 특성에 대한 ALE 추정치는 특성의 2차 효과만 나타내기 때문에 해석에 각별한 주의가 필요합니다. 두 번째 효과는 특성의 주효과를 고려한 후 특성의 추가적인 상호작용 효과입니다. 두 특성이 상호 작용하지 않고 각각 예측된 결과에 선형 효과가 있다고 가정합시다. 각 특성에 대한 1D ALE 플롯에서 추정 ALE 곡선으로 직선이 표시됩니다. 그러나 2D ALE 추정치를 표시할 때는 0에 가까워야 합니다. 2차 효과는 교호작용의 추가 효과에 불과하기 때문입니다. ALE 플롯과 PD 플롯은 이 점에서 다릅니다. PDP는 항상 총 효과를 나타내고 ALE 플롯은 첫 번째 또는 두 번째 효과를 표시합니다. 이는 기본 수학에 의존하지 않는 설계 결정입니다. 부분 의존도 플롯에서 낮은 순서 효과를 빼서 순수 주 또는 2차 효과를 얻거나, 낮은 순서 효과를 빼지 않도록 하여 전체 ALE 플롯을 추정할 수 있습니다.
누적된 국소 효과는 임의로 높은 순서(3개 이상의 특성의 상호 작용)에 대해서도 계산할 수 있지만, PDP 장에서 주장했듯이, 높은 상호작용을 시각화하거나 의미 있게 해석할 수 없기 때문에 최대 2개의 특성만이 의미가 있습니다.
범주형 특성에 대한 ALE
누적된 로컬 효과 방법에는 특정 방향으로 효과를 누적하기 때문에 순서를 지정할 특성 값이 필요합니다. 그러나 범주형 특성에는 순서가 없습니다. 범주형 특성에 대한 ALE 플롯을 계산하려면 순서를 만들거나 찾아야 합니다. 범주의 순서는 누적된 로컬 효과의 계산 및 해석에 영향을 미칩니다.
한 가지 해결책은 다른 특성과의 유사도에 따라 범주를 정렬하는 것입니다. 두 범주 사이의 거리는 각 특성의 거리에 대한 합입니다. 특성의 거리는 Kolmogorov-Smirnov distance라 불리는 두 범주의 누적 분포(숫자 특성의 경우) 또는 상대 빈도 표(분류 특성의 경우)를 비교합니다. 모든 범주 간의 거리를 확보하면, 거리 매트릭스를 1차원 거리 측정으로 줄이기 위해 다차원 스케일링을 사용합니다. 이것은 우리에게 범주의 유사성에 기초한 순서를 보여줍니다.
이를 좀 더 명확하게 하기 위한 한 가지 예가 있습니다. “계절”과 “날씨”의 두 가지 범주형 특성과 “온도”라는 숫자의 특성을 가지고 있다고 가정해 보겠습니다. 첫 번째 범주형 특성(시즌)의 경우 ALE를 계산하려고 합니다. 이 특성에는 “봄”, “여름”, “가을”, “겨울” 범주가 있습니다. 범주 “봄”과 “여름” 사이의 거리를 계산합니다. 거리는 온도와 날씨에서의 거리의 합입니다. 온도의 경우 계절 “봄”이 있는 모든 관측치를 취하며, 경험적 누적 분포 함수를 계산하고, 계절 “여름”이 있는 경우에도 동일하게 수행하며, Kolmogorov-Smirnov 통계량으로 거리를 측정합니다. 모든 “봄” 관측치에 대해 우리가 계산하는 기상 특성의 경우, 각 날씨 유형에 대한 확률을 계산하고, “여름” 관측치에 대해 동일한 작업을 수행하고, 확률 분포의 절대 거리를 합산합니다. “봄”과 “여름”이 기온과 날씨가 매우 다를 경우, 총 범주 거리는 큽니다. 다른 계절 쌍을 사용하여 절차를 반복하고 다차원 스케일링을 통해 결과 거리 행렬을 단일 치수로 줄입니다.
예시
ALE 플롯을 보겠습니다. 저는 부분 의존도 플롯이 실패하는 시나리오를 만들었습니다. 시나리오는 예측 모델과 두 개의 강력한 상관 특성으로 구성됩니다. 예측 모델은 대부분 선형 회귀 모델이지만, 우리가 관측치를 관찰하지 못한 두 특성의 조합에서 이상한 행동을 합니다.
플롯 5.14: 두 가지 특성과 예측된 결과입니다. 모델은 두 특성(음영 배경)의 합계를 예측합니다. 단, x1이 0.7보다 크고 x2가 0.3보다 작으면 모델은 항상 2를 예측합니다. 이 영역은 데이터의 분포와 거리가 멀며 모델의 성능에 영향을 주지 않으며 해석에도 영향을 미쳐서는 안 됩니다.
이것이 현실적이고 적절한 시나리오일까요? 모델을 학습할 때 학습 알고리즘은 기존 학습 데이터 관측치의 손실을 최소화합니다. 이상한 일은 훈련 자료의 분포 밖에서 일어날 수 있습니다. 왜냐하면 그 모델은 이상한 행동을 한 것에 대해 처벌을 받지 않기 때문입니다. 데이터 분포를 떠나는 것을 외삽(extrapolation)이라고 하며, 적대적 예제에 관한 장에서 설명한 머신러닝 모델을 속이는 데에도 사용할 수 있습니다. ALE 플롯에 비해 부분 의존도 플롯이 어떻게 동작하는지 간단한 예제에서 확인할 수 있습니다.
플롯 5.15: PDP(상단 행)와 ALE(하부 행)로 계산된 특성 효과를 비교합니다. PDP 추정치는 데이터 분포 외부에 있는 모델의 홀수 동작(플롯에서 스텝 점프)에 영향을 받습니다. ALE 플롯은 머신러닝 모델이 데이터가 없는 영역을 무시한 채 특성와 예측 사이에 선형 관계가 있음을 올바르게 식별합니다.
그런데 우리 모델이 x1 > 0.7, x2 < 0.3에서 이상하게 행동하는 것을 보면 흥미롭지 않나요? 음, 그렇기도하고 안그렇기도 합니다. 이러한 관측치는 물리적으로 불가능하거나 최소한 가능성이 매우 낮은 데이터 관측치이므로 일반적으로 이러한 관측치를 보는 것은 적절하지 않습니다. 그러나 테스트 분포가 약간 다를 수 있고 일부 관측치가 실제로 해당 범위에 있다고 의심되는 경우 이 영역을 특성 효과 계산에 포함시키는 것으로 의도적인 결정을 내릴 수 있습니다. 하지만 우리가 아직 데이터를 관찰하지 못한 분야를 포함시키는 것은 의식적인 결정이어야 하며 PDP와 같은 선택 방법의 부작용이 되어서는 안 됩니다. 나중에 모델이 다른 분산 데이터와 함께 사용될 것으로 의심되는 경우 ALE 플롯을 사용하여 예상한 데이터의 분포를 시뮬레이션하는 것이 좋습니다.
실제 데이터셋으로 전환하여 날씨와 일별을 기준으로 임대 자전거 수를 예측하고 ALE 플롯이 약속된 대로 제대로 작동하는지 확인해 보겠습니다. 우리는 회귀나무를 훈련하여 주어진 날에 대여된 자전거의 수를 예측하고 ALE 플롯을 사용하여 온도, 상대 습도 및 풍속이 예측에 어떤 영향을 미치는지 분석합니다. ALE 플롯의 내용을 살펴보겠습니다.
플롯 5.16: ALE는 온도, 습도 및 풍속별 자전거 예측 모델에 대한 플롯입니다. 기온은 예측에 강한 영향을 미칩니다. 평균적인 예측은 온도가 상승할수록 상승하지만, 다시 25도 이상으로 떨어집니다. 습도는 부정적인 영향을 미칩니다. 60% 이상이 되면 상대 습도가 높을수록 예측치가 낮아집니다. 풍속은 예측에 큰 영향을 미치지 않습니다.
온도, 습도, 풍속, 그리고 다른 모든 특성들 간의 상관 관계를 살펴보겠습니다. 데이터에는 범주형 특성도 포함되므로 두 특성이 모두 숫자일 때만 작동하는 Pearson 상관 계수를 사용할 수 없습니다. 대신, 저는 선형 모델을 훈련시켜 온도를 예측합니다. 예를 들어, 다른 특성 중 하나를 입력으로 합니다. 그런 다음 선형 모형의 다른 형상이 설명하는 분산을 측정하고 제곱근을 취합니다. 다른 특성이 숫자인 경우 결과는 표준 Pearson 상관 계수의 절대값과 동일합니다. 그러나 “분산 설명”(ANOVA=ANalysis Of VAriance 라고도 불림)의 모델 기반 접근방식은 다른 특성이 범주형일지라도 작동합니다. “분산 설명” 측정값은 항상 0(연결 없음)과 1 사이에 있습니다(다른 특성에서 온도를 완벽하게 예측할 수 있음). 다른 모든 특성과 함께 온도, 습도 및 풍속의 설명된 분산(explained variance)을 계산합니다. 설명된 분산(상호 관계)이 높을수록 PD 플롯에 더 많은 (잠재적) 문제가 발생합니다. 다음 플롯은 날씨 특성이 다른 특성과 얼마나 강하게 연관되어 있는지를 시각화합니다.
플롯 5.17: 모든 특성과 온도, 습도 및 풍속 간의 상관 관계 강도(예: 특성으로 예측 및 계절화하기 위한 온도를 가진 선형 모델을 학습할 때 설명된 분산의 양으로 측정됩니다). 온도의 경우, 놀랍게도 계절과 월과의 상관관계가 높습니다. 습도는 날씨 상황과 관련이 있습니다.
이러한 상관 관계 분석은 부분 의존도 플롯, 특히 온도 특성에 문제가 발생할 수 있음을 보여줍니다. 자, 직접 보세요.
플롯 5.18: 온도, 습도 및 풍속을 위한 PDP입니다. ALE 플롯에 비해 PDP는 고온 또는 높은 습도의 예상 자전거 수가 더 적습니다. PDP는 모든 데이터 관측치를 사용하여 고온의 영향을 계산합니다(예: 계절이 "겨울"인 경우). ALE 플롯을 더 신뢰할 수 있습니다.
다음으로 범주형 특성에 대한 ALE 플롯을 보겠습니다. 이 달은 예측된 자전거 수에 미치는 영향을 분석하고자 하는 범주형 특성입니다. 논쟁의 여지없이, 그 달들은 이미 일정한 순서를 가지고 있습니다(1월에서 12월). 하지만 우리가 먼저 유사성에 의해 범주를 다시 정렬하고 나서 그 효과를 계산하면 어떤 일이 일어나는지 보도록 하죠. 달은 온도나 휴일과 같은 다른 특성에 기초하여 매월 일수의 유사성에 의해 정렬됩니다.
플롯 5.19: 범주형 특성 월에 대한 ALE 플롯입니다. 월은 다른 특성의 월별 분포를 기준으로 서로 유사성을 기준으로 정렬됩니다. 우리는 1월, 3월, 4월, 특히 12월과 11월에 임대된 자전거의 예상 수에는 다른 달에 비해 낮은 영향을 미친다는 것을 볼 수 있습니다.
많은 특성들이 날씨와 연관되어 있기 때문에, 달의 순서는 그 달 사이의 날씨가 얼마나 비슷한지를 강하게 반영합니다. 모든 추운 달은 왼쪽(2~4월)이고 따뜻한 달은 오른쪽(10~8월)입니다. 비-날씨 특성도 유사성 계산에 포함되었습니다. 예를 들어 휴일의 상대 빈도는 월간의 유사성 계산 온도와 동일한 가중치를 가집니다.
다음으로, 습도와 온도가 자전거의 예상 수에 미치는 2차 영향을 고려합니다. 두 번째 효과는 두 특성의 추가 상호 작용 효과이며 주효과를 포함하지 않습니다. 이는 예를 들어 습도가 높으면 평균적으로 2차 ALE 플롯에서 예측 자전거의 수가 감소하는 주효과를 볼 수 없다는 것을 의미합니다.
플롯 5.20: 예상 대여 자전거 수에 대한 습도 및 온도의 2차 효과에 대한 ALE 플롯입니다. 밝은 색조는 주효과를 이미 고려할 때 평균보다 높고 어두운 색조를 나타냅니다. 이 플롯은 온도와 습도 사이의 상호 작용을 보여줍니다. 덥고 습한 날씨는 예측을 증가시킵니다. 춥고 습한 날씨에는 예측 자전거의 수에 부정적인 영향이 추가로 나타납니다.
습도와 온도의 주효과 모두 매우 덥고 습한 날씨에 자전거의 예상 수가 감소한다는 것을 기억하세요. 덥고 습한 날씨에서 온도와 습도의 결합 효과는 따라서 주효과의 합이 아니라 합보다 큽니다. 순수 2차 효과(2D ALE 플롯 방금 보신 2D ALE 플롯)와 총 효과의 차이를 강조하기 위해 부분 의존도 플롯을 살펴보겠습니다. PDP는 평균 예측, 두 주효과 및 두 번째 효과(상호작용)를 결합한 총 효과를 표시합니다.
플롯 5.21: PDP는 예상 자전거 수에 대한 온도와 습도의 총 영향입니다. 플롯은 교호작용만 표시하는 2D-ALE 플롯과 달리 각 특성의 주효과와 교호작용 효과를 결합합니다.
교호작용에만 관심이 있는 경우, 총 효과가 주효과를 플롯에 혼합하기 때문에 2차 효과만 보아야 합니다. 그러나 특성의 결합 효과를 확인하려면 전체 효과(PDP에서 표시)를 살펴봐야 합니다. 예를 들어, 섭씨 30도, 습도 80%의 예상 자전거 수를 알고 싶다면 2D PDP에서 직접 읽을 수 있습니다. ALE 플롯에서 동일한 플롯을 읽으려면 다음 세 플롯을 보아야 합니다. 온도, 습도 및 온도 + 습도에 대한 ALE 플롯이며 전체 평균 예측도 알아야 합니다. 두 특성이 상호작용이 없는 시나리오에서는 두 특성의 총 효과가 복잡한 지형을 보여 일부 상호작용을 암시하지만 단순히 두 가지 주요 효과의 결과이기 때문에 오해의 소지가 있을 수 있습니다. 두 번째 효과는 상호 작용이 없음을 나타냅니다.
자전거는 이제 넘어가고, 분류 문제로 넘어가겠습니다. 우리는 위험요인에 근거하여 자궁경부암의 확률을 예측하는 랜덤 포레스트를 만듭니다. 그 다음 두 가지 특성에 대해 누적된 로컬 효과를 시각화합니다.
플롯 5.22: ALE는 자궁경부암의 예상 확률에 호르몬 피임약 복용 연 수와 나이가 미치는 영향을 보여줍니다. 연령 특성의 경우, ALE 플롯은 예측된 암 발생 확률은 평균 40세까지 낮으며 그 후 증가한다는 것을 보여줍니다. 호르몬 피임약을 복용한 년수는 8년 후에 더 높은 암 위험과 관련이 있습니다.
다음으로, 우리는 임신의 수와 나이 사이의 상호작용을 살펴봅니다.
플롯 5.23: 임신 횟수와 연령의 2차 효과에 대한 ALE 플롯입니다. 그래프의 해석은 다소 결론적이지 못하며, 무엇이 지나치게 적합해 보이는지를 보여줍니다. 예를 들어, 이 플롯은 18-20세의 나이에 3번 이상의 임신을 할 때 이상한 모델 행동을 보여줍니다(암 확률의 최대 5% 포인트 증가). 이 나이와 임신 횟수(실제 데이터는 포인트로 표시됨)를 가진 데이터에는 여성이 많지 않기 때문에, 그 여성들에 대해 실수를 한 것에 대해 훈련하는 동안 그 모델은 심한 처벌을 받지 않습니다.
장점
ALE 플롯은 편향적이지 않습니다.. 즉, 특성이 상관될 때도 사용 할 수 있습니다. 부분 의존도 플롯이 적용되지 않는 이 시나리오에서 특성 값의 가능성이 낮거나 물리적으로 불가능한 조합을 무시하기 때문입니다.
ALE 플롯은 O(n)정도 걸리기 때문에 PDP보다 계산이 더 빠릅니다. 가능한 가장 큰 간격은 관측치당 1개의 간격을 가진 관측치 수입니다. PDP를 사용하려면 그리드 점 추정치의 n배가 필요합니다. 그리드 포인트가 20개인 경우 PDP는 관측치(instance)만큼 간격을 많이 사용하는 최악의 경우인 ALE 플롯보다 20배 더 많은 예측이 필요합니다.
ALE 플롯의 해석은 명확합니다: 주어진 값에 대한 조건, 예측에 대한 특성을 변경하는 상대적 효과는 ALE 플롯에서 확인할 수 있습니다. ALE 플롯은 0을 중심으로 할 수 있습니다. 이는 ALE 곡선의 각 점에 있는 값이 평균 예측의 차이이기 때문에 해석을 좋게 만듭니다. 2D ALE 플롯은 상호 작용만 표시합니다. 두 특성이 상호 작용하지 않으면 플롯에는 아무것도 표시되지 않습니다.
전반적으로, 대부분의 경우 PDP보다 ALE 플롯을 선호합니다. 특성은 일반적으로 어느 정도 상관 관계가 있기 때문입니다.
단점
ALE 플롯은 간격이 많은 경우 약간 불안정 할 수 있습니다(많고 작은 오르내림). 이 경우 간격 수를 줄이면 추정치가 더 안정적이지만 예측 모델의 실제 복잡도 중 일부를 매끄럽게 하고 숨깁니다. 그러나 간격 수를 설정하기 위한 정답은 없습니다. 숫자가 너무 작으면 ALE 플롯이 정확하지 않을 수 있습니다. 숫자가 너무 높으면 곡선이 흔들릴 수 있습니다.
PDP와 달리 ALE 플롯에는 ICE 곡선을 같이 그릴 수 없습니다. PDP의 경우 ICE 곡선은 특성 효과에서 이질성을 나타낼 수 있기 때문에 좋습니다. 즉, 특성의 효과는 데이터의 하위 집합에 따라 다르게 보입니다. ALE 플롯의 경우 관측치 간에 효과가 다른지 여부를 간격별로만 확인할 수 있지만 각 간격에는 관측치(instance)가 다르기 때문에 ICE 곡선과 동일하지 않습니다.
두 번째 ALE 추정치는 특성 공간 전반에 걸쳐 안정성이 다양하므로 어떤 식으로도 시각화되지 않습니다. 그 이유는 셀의 각 로컬 효과 추정치가 서로 다른 수의 데이터 관측치를 사용하기 때문입니다. 결과적으로, 모든 추정치는 정확도가 다릅니다(그러나 여전히 최선의 추정치입니다). 주효과 ALE 플롯에 대한 덜 심각한 버전에는 문제가 있습니다. 격자로 분위수를 사용하기 때문에 모든 간격에서 관측치 수는 동일하지만 일부 영역에서는 짧은 간격이 많이 발생하고 ALE 곡선이 더 많은 추정치로 구성됩니다. 그러나 전체 곡선의 큰 부분을 차지할 수 있는 긴 간격의 경우 상대적으로 적은 수의 관측치가 있습니다. 예를 들어, 이것은 높은 나이에 대한 자궁경부암 예측 ALE 그래프에서 확인할 수 있습니다.
두 번째 효과 플롯은 주효과를 항상 염두에 두어야 하기 때문에을 해석하는 데 다소 성가실 수 있습니다. 히트맵을 두 가지 특성의 전체 효과로 읽는 것은 편리하지만, 그것은 상호 작용의 추가 효과일 뿐입니다. 순수한 2차 효과는 상호작용을 발견하고 탐구하는 데는 흥미롭지만, 효과가 어떻게 보이는지 해석하는 데는 주효과를 그래프에 통합하는 것이 더 타당하다고 생각합니다.
ALE 플롯 구현은 부분 의존도 플롯보다 훨씬 복잡하고 직관적이지 않습니다.
상관 관계가 있는 특성의 경우 ALE 플롯이 편향되지 않더라도 특성이 강하게 상관되는 경우 해석은 여전히 어렵습니다. 왜냐하면 만약 그들이 매우 강한 상관관계를 가지고 있다면, 두 특성을 함께 변화시키는 효과를 분석하는 것만이 이치에 맞기 때문입니다. 이러한 단점은 ALE 플롯에만 한정되지 않고, 강하게 상관되는 특성의 일반적인 문제입니다.
특성이 상관되지 않고 계산 시간이 문제가 되지 않는 경우 PDP는 이해하기 쉽고 ICE 곡선과 함께 플롯할 수 있기 때문에 약간 선호됩니다.
단점 목록은 상당히 길어졌지만, 단점을 많이 적었다해서 오해하지마세요. 일반적으로 PDP 대신 ALE를 사용하는게 좋습니다.
구현 및 대안책
부분 의존도와 개별 조건부 기대 곡선이 대안이라고 말했나요? =)
제가 아는 한, ALE 플롯은 현재 ALEPlot R 패키지에서와, 저자가 직접 구현한 iml 패키지에서만 구현되고 있습니다.
-
Apley, Daniel W. “Visualizing the effects of predictor variables in black box supervised learning models.” arXiv preprint arXiv:1612.08468 (2016). ↩