@SLi의 답변은 이미 정의한 비용 함수의 기능을 잘 설명하고 있습니다. 그러나 비용 함수를 사용하여 delta
값 을 계산하는 데 사용한다고 생각 했습니다 cv.glm
. 이는 교차 유효성 검사 오류의 측정입니다. 그러나 delta
비용에 의해 주어진 각 접힘 오차의 가중 평균은 결정적으로 중요 합니다. 우리는 코드의 관련 비트를 검사하여 이것을 봅니다.
for (i in seq_len(ms)) {
j.out <- seq_len(n)[(s == i)]
j.in <- seq_len(n)[(s != i)]
Call$data <- data[j.in, , drop = FALSE]
d.glm <- eval.parent(Call)
p.alpha <- n.s[i]/n # create weighting for averaging later
cost.i <- cost(glm.y[j.out], predict(d.glm, data[j.out,
, drop = FALSE], type = "response"))
CV <- CV + p.alpha * cost.i # add previous error to running total
cost.0 <- cost.0 - p.alpha * cost(glm.y, predict(d.glm,
data, type = "response"))
}
함수가 반환하는 값은 다음과 같습니다.
list(call = call, K = K, delta = as.numeric(c(CV, CV + cost.0)),
seed = seed)