나는 이런 종류의 그래프에 이름이 있다고 생각하지 않지만, 당신이하고있는 일은 합리적이며 해석은 유효하다고 생각합니다. 난 당신이 Hampel의 영향 기능과 관련이 무엇을하고 있는지 생각해 볼 https://en.wikipedia.org/wiki/Robust_statistics#Empirical_influence_function을 특히 경험에 영향을 미치는 기능에 대한 섹션을. 그리고 데이터가 완벽하게 대칭이면 플롯이 평평하기 때문에 플롯이 데이터의 왜도 측정과 관련이있을 수 있습니다. 당신은 그것을 조사해야합니다!
EDIT
이 플롯의 한 가지 확장은 왼쪽과 오른쪽에서 다른 트리밍을 사용하는 효과도 보여주는 것입니다. 이것은 R에서 mean
인수 를 사용하여 일반적인 함수로 구현되지 않았기 때문에 trim
자체 트리밍 평균 함수를 작성했습니다. 더 부드러운 플롯을 얻으려면 트리밍 분수가 정수가 아닌 포인트를 제거 할 때 선형 보간을 사용합니다. 이것은 기능을 제공합니다 :
my.trmean <- function(x, trim) {
x <- sort(x)
if (length(trim)==1) {
tr1 <- tr2 <- trim } else {
tr1 <- trim[1]
tr2 <- trim[2] }
stopifnot((0 <= tr1)&& (tr1 <= 0.5)); stopifnot((0 <= tr2)&&(tr2 <= 0.5))
n <- length(x)
if ((tr1>=0.5-1/n)&&(tr2>=0.5-1/n)) return( median(x) )
k1 <- floor(n*tr1) ; k2 <- floor(n*tr2)
a1 <- n*tr1-k1 ; a2 <- n*tr2-k2
crange <- if ( (k1+2) <= (n-k2-1) ) ((k1+2):(n-k2-1)) else NULL
trmean <- sum(c((1-a1)*x[k1+1], x[crange], (1-a2)*x[n-k2]))/(length(crange)+2-(a1+a2) )
trmean
}
그런 다음 일부 데이터를 시뮬레이션하고 결과를 등고선 플롯으로 표시합니다.
tr1 <- seq(0, 0.5, length.out=25)
tr2 <- seq(0, 0.5, length.out=25)
x <- rgamma(10000, 1.5)
vals <- outer(tr1, tr2, FUN=Vectorize(function(t1, t2) my.trmean(x, c(t1, t2))))
image(tr1, tr2, vals, xlab="left trimming", ylab="right trimming", main="Effect of trimming")
contour(tr1, tr2, vals, nlevels=20, add=TRUE)
이 결과를주는 :