답변:
편차와 GLM
공식적으로, 이탈을 두 확률 모델 사이의 일종의 거리로 볼 수 있습니다. GLM 컨텍스트에서 두 개의 중첩 모델 사이의 로그 비율의 두 배에 해당합니다. 여기서 은 "작은"모델입니다. 즉, @suncoolsu가 말한 것처럼 모델 매개 변수 (예 : Neyman-Pearson lemma ) 에 대한 선형 제한입니다 . 따라서 모델 비교 를 수행하는 데 사용할 수 있습니다 . 또한 OLS 추정 (ANOVA, 회귀)에 사용되는 RSS의 일반화로 볼 수 있습니다 . Null 모델과 비교할 때 평가되는 모델 의 적합도를 측정하기 때문입니다 (절편 만). LM에서도 작동합니다.
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
잔차 SS (RSS)는 계산되며 다음과 같이 쉽게 얻을 수 있습니다.
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
또는 (조정되지 않은)
> summary(lm.res)
Call:
lm(formula = y ~ x)
(...)
Residual standard error: 1.003 on 98 degrees of freedom
Multiple R-squared: 0.4234, Adjusted R-squared: 0.4175
F-statistic: 71.97 on 1 and 98 DF, p-value: 2.334e-13
이후 여기서 전체 분산이다. ANOVA 테이블에서 직접 사용할 수 있습니다.
> summary.aov(lm.res)
Df Sum Sq Mean Sq F value Pr(>F)
x 1 72.459 72.459 71.969 2.334e-13 ***
Residuals 98 98.668 1.007
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
이제 이탈을 살펴보십시오.
> deviance(lm.res)
[1] 98.66754
실제로 선형 모델의 경우 이탈도는 RSS와 같습니다 (이 경우 OLS와 ML 추정치가 일치 함을 기억할 수 있습니다).
편차 및 카트
CART는 이미 레이블이 지정된 개인을 임의의 클래스 (분류 컨텍스트) 에 할당하는 방법으로 볼 수 있습니다 . 나무는 개인 클래스 구성원에게 확률 모델을 제공하는 것으로 볼 수 있습니다. 따라서 각 노드 에서 클래스에 대한 확률 분포 가 있습니다. 여기서 중요한 것은 나무의 잎이 의해 지정된 다항 분포에서 무작위 표본 을 제공한다는 것 입니다. 따라서 나무의 이탈도 를 모든 잎의 합으로 정의 할 수 있습니다.
Venables와 Ripley의 표기에 따름 ( MASS , Springer 2002, 4th ed.). R 사용자 (IMHO)에 대한이 필수 참조에 액세스 할 수있는 경우 노드를 분할하고 관찰 된 데이터에 트리를 맞추는 데 이러한 접근 방법이 어떻게 사용되는지 직접 확인할 수 있습니다 (255 페이지). 기본적으로 아이디어는 트리를 잘라내어 를 최소화하는 것입니다. 여기서 는 트리 의 노드 수입니다 . 여기서 우리는 비용 복잡성 트레이드 오프를 인식합니다 . 여기서 는 엔트로피 또는 정보 게인의 측정 또는 로 정의 된 잘 알려진 Gini 지수를 기반으로하는 노드 불순물 (즉, 주어진 노드에서 분포의 이질성)의 개념과D 1 − ∑ k p 2 i k (알 수없는 비율은 노드 비율에서 추정됩니다).
회귀 트리를 사용하면 아이디어가 매우 유사하며 이탈을 개별 에 대해 정의 된 제곱합으로 개념화 할 수 있습니다.
모든 잎에 합산. 여기서 각 리프 내에서 고려되는 확률 모델은 가우시안 입니다. Venables와 Ripley (p. 256)를 인용하면 " 는 가우스 GLM에 대한 일반적인 스케일 이탈입니다. 그러나 트리의 내부 노드에서의 분포는 정규 분포의 혼합이므로 는 잎에만 적합합니다. 트리 구성 프로세스는 회귀에서의 순방향 변수 선택과 매우 유사한 확률 모델 의 계층 적 개선 으로 간주되어야 합니다. " 섹션 9.2는 구현에 대한 자세한 정보를 제공 하지만 이미 함수를 살펴볼 수 있습니다.rpart
residuals()
rpart
여기서 "편차 잔차"는 적합 모형의 로그의 두 배에서 제곱근을 뺀 값으로 계산됩니다.
Atkinson과 Therneau 의 rpart 루틴을 사용한 재귀 분할에 대한 소개 도 좋은 시작입니다. 보다 일반적인 검토 (배낭 포함)를 위해 권장합니다
lm.fit
당신의 예제에서 사용하기 에 가장 좋지 않을 것입니다 lm
.
반응의 모든 분산을 설명 할 수 있도록 관측치만큼 많은 매개 변수가있는 완벽한 모형을 생각하면 좀 더 명확 할 수 있습니다. 포화 모델입니다. 편차는 단순히 후보 모델과 포화 모델의 "적합"의 차이를 측정합니다.
회귀 트리에서 포화 모델은 관측치만큼 많은 수의 터미널 노드 (잎)를 가진 모델이므로 반응에 완벽하게 맞습니다. 더 간단한 모델의 이탈은 모든 노드에 대해 합산 된 노드 잔차 제곱합으로 계산 될 수 있습니다. 다시 말해, 예측 값과 관측 값 사이의 제곱 차이의 합입니다. 이것은 최소 제곱 회귀에 사용 된 것과 같은 종류의 오류 (또는 이탈)입니다.
분류 트리의 경우 잔차 제곱합이 가장 적합하지 않은 척도는 아닙니다. 대신, 대안의 이탈도 측정이 가능하며 엔트로피 측정 또는 Gini 지수를 최소화하는 트리를 구축 할 수 있습니다. 후자는 기본값입니다 rpart
. Gini 지수는 다음과 같이 계산됩니다.
여기서 은 노드 에서 클래스 의 관측 된 비율입니다 . 이 측정 값은 트리 의 모든 터미널 노드를 합산 하여 적합 트리 모델의 이탈에 도달합니다. k i i
편차는 모형이 일반적인 대안 (즉, 포화 모형)을 다시 보유한다는 귀무 가설을 검정하기위한 우도 비 통계량입니다. 일부 포아송 및 이항 GLM의 경우 개별 계수의 크기가 증가함에 따라 관측치 은 고정 된 상태로 유지됩니다. 그런 다음 이탈 각은 카이 제곱 점근 점근 분포 입니다. 자유도 = N-p. 여기서 p는 모형 매개 변수의 수입니다. 즉, 포화 및 불포화 모델의 자유 매개 변수 수와 같습니다. 편차는 모델 적합에 대한 테스트를 제공합니다.
그러나 대부분의 경우 일부 변수를 삭제해야하는지 테스트하려고합니다. 이 두 가지 모델이 있습니다 말 및 와 및 각각 매개 변수, 당신은 더 나은이 두 가지의 테스트해야합니다. 이 의 특별한 경우, 즉 중첩 모델 이라고 가정 합니다.
이 경우 이탈의 차이는 다음과 같습니다.
포화 모형의 로그 가능성이 취소되고 의 자유도 가 변경됩니다 . 일부 매개 변수가 0인지 여부를 테스트해야 할 때 가장 자주 사용합니다. 당신이 적합하지만 에 일탈 출력 현재 모델 대 포화 된 모델이다.p 2 − p 1glm
R
보다 자세한 내용은 cf : Alan Agresti의 범주 형 데이터 분석, pp 118을 참조하십시오.
rpart
포럼의 더 숙련 된 회원에게 답변을 남길 것입니다.