x 축의 사람들 수와 y 축의 중간 급여와 동일한 표본 크기를 갖는 산포도를 가지고 있습니다. 샘플 크기가 중간 급여에 어떤 영향을 미치는지 알아 내려고합니다.
이것은 음모입니다.
이 음모를 어떻게 해석합니까?
x 축의 사람들 수와 y 축의 중간 급여와 동일한 표본 크기를 갖는 산포도를 가지고 있습니다. 샘플 크기가 중간 급여에 어떤 영향을 미치는지 알아 내려고합니다.
이것은 음모입니다.
이 음모를 어떻게 해석합니까?
답변:
"찾기"는 데이터를 탐색 하고 있음을 나타냅니다 . 공식적인 테스트는 불필요한 것으로 의심됩니다. 대신 표준 탐색 적 데이터 분석 (EDA) 기술을 적용하여 데이터에 무엇이 있을지 밝히십시오.
이 표준 기술에는 John Tukey가 고전 서적 EDA (1977) 에서 설명한대로 재 표현 , 잔차 분석 , 강력한 기술 (EDA의 "세 R") 및 데이터 평활화 가 포함 됩니다. 이 중 일부를 수행하는 방법 은 독립 변수에 대한 변환과 같은 Box-Cox의 게시물에 요약되어 있습니까? 및 선형 회귀에 대신 때 실제 값의 독립 변수의 로그를 사용하는 것이 적절하다? , 특히 .
결론은 로그-로그 축으로 변경하고 (두 변수를 효과적으로 다시 표현), 데이터를 너무 적극적으로 스무딩하지 않고, 스무딩 잔차를 검사하여 누락 된 부분을 확인함으로써 알 수 있습니다.
다음은 데이터에 대한 다양한 정도의 충실도로 여러 스무스를 검사 한 후 스무딩이 너무 많거나 너무 적은 것 사이에서 좋은 절충안 인 것처럼 보이는 부드러운 데이터입니다. 잘 알려진 강력한 방법 인 Loess를 사용합니다 (수직으로 바깥 쪽 점의 영향을 크게받지 않음).
수직 그리드는 10,000 단계입니다. 매끄러움 은Grad_median
샘플 크기 의 일부 변형을 제안 합니다. 샘플 크기가 1000에 가까워지면 떨어질 것 같습니다. 매끄러운 끝은 신뢰할 수 없습니다. 특히 샘플링 오류가 상대적으로 클 것으로 예상되는 작은 샘플의 경우 신뢰할 수 없습니다. 너무 많이 읽지 마십시오.) 이러한 실제 하락에 대한 인상은 소프트웨어가 매끄럽게 주변에 그려진 (매우 거친) 신뢰 대역에 의해 지원됩니다. "흔들림"은 대역 폭보다 큽니다.
이 분석에서 누락 된 내용을 확인하기 위해 다음 그림에서는 잔차를 살펴 봅니다. . (이러한 자연 대수의 차이는 바로 그들이 비례 차이로 해석 될 수있는 작은 수 있으므로 원활 전의 데이터 간의 수직 차이 측정이다 예는 관한 데이터 값 반영 평활 대응 미만을 값.)20 %
우리는 (a) 표본 크기 변화에 따른 추가 변동 패턴이 있는지 여부와 (b) 반응의 조건부 분포 (점 위치의 수직 분포)가 표본 크기의 모든 값에서 유사하게 유사한 지 또는 확산이나 대칭과 같은 일부 측면이 변경 될 수 있는지 여부
이 매끄러움은 이전보다 훨씬 더 밀접하게 데이터 포인트를 따르려고합니다. 그럼에도 불구하고 그것은 본질적으로 수평입니다 (항상 y 값 신뢰 대역의 범위 내에서 ). 정식으로 테스트 한 경우 중간 (수직 크기 2000 ~ 3000) 근처의 세로 스프레드의 약간의 증가는 중요하지 않으므로이 탐색 단계에서는 확실히 눈에 띄지 않습니다. 별도의 범주 (색상별로 구별되지 않음-여기에 표시되지 않은 그림에서 개별적으로 분석)에서 명백한이 전체 동작과 명확하고 체계적인 편차가 없습니다.
결과적으로이 간단한 요약은 다음과 같습니다.
평균 급여는 1000 근처의 표본 크기에서 약 10,000 더 낮습니다.
데이터에 나타나는 관계를 적절히 포착하고 모든 주요 범주에서 균일하게 유지되는 것으로 보입니다. 그것이 중요한지 여부, 즉 추가 데이터와 직면했을 때 일어날 지 여부는 추가 데이터를 수집해야만 평가할 수 있습니다.
이 작업을 확인하거나 더 나아가고 싶은 사람들을 위해 여기 R
코드가 있습니다.
library(data.table)
library(ggplot2)
#
# Read the data.
#
infile <- "https://raw.githubusercontent.com/fivethirtyeight/\
data/master/college-majors/grad-students.csv"
X <- as.data.table(read.csv(infile))
#
# Compute the residuals.
#
span <- 0.6 # Larger values will smooth more aggressively
X[, Log.residual :=
residuals(loess(log(Grad_median) ~ I(log(Grad_sample_size)), X, span=span))]
#
# Plot the data on top of a smooth.
#
g <- ggplot(X, aes(Grad_sample_size, Grad_median)) +
geom_smooth(span=span) +
geom_point(aes(fill=Major_category), alpha=1/2, shape=21) +
scale_x_log10() + scale_y_log10(minor_breaks=seq(1e4, 5e5, by=1e4)) +
ggtitle("EDA of Median Salary vs. Sample Size",
paste("Span of smooth is", signif(span, 2)))
print(g)
span <- span * 2/3 # Look for a little more detail in the residuals
g.r <- ggplot(X, aes(Grad_sample_size, Log.residual)) +
geom_smooth(span=span) +
geom_point(aes(fill=Major_category), alpha=1/2, shape=21) +
scale_x_log10() +
ggtitle("EDA of Median Salary vs. Sample Size: Residuals",
paste("Span of smooth is", signif(span, 2)))
print(g.r)
Glen_b는 sample_size 및 mediaary salary의 로그를 취하여 데이터 크기 조정이 의미가 있는지 확인합니다.
표본 크기가 1,000 이상으로 올라가면 평균 급여가 줄어든다는 당신의 믿음에 동의 할 것입니다. 나는 전혀 관계가 없다고 말하는 경향이 있습니다. 당신의 이론은 관계가 있어야한다고 예측합니까?
가능한 관계를 평가할 수있는 또 다른 방법은 회귀선을 데이터에 맞추는 것입니다. 또는 lowess 곡선을 사용할 수도 있습니다. 두 줄을 모두 데이터에 플로팅하고 문제를 해결할 수 있는지 확인하십시오 (그러나 지나치게 중요한 것이 있는지는 의심합니다).
또한 관계가 없다는 데 동의합니다. 원래 산점도 (왼쪽)를 재현하고 glen_b (오른쪽)에서 제안한 로그 로그 산점도를 만들었습니다.
관계가없는 것 같습니다. 로그 변환 된 데이터 간의 상관 관계가 약하고 (Pearson R = -.13) 중요하지 않습니다 (p = .09). 여분의 정보가 얼마나 많은지에 따라 약한 음의 상관 관계를 볼 수 있는 이유 가있을 수 있지만 이는 스트레칭처럼 보입니다. 나는 당신이보고있는 명백한 패턴이 여기에서 보이는 것과 동일한 효과라고 생각합니다 .
편집 : @famargar의 음모를 살펴본 후 나는 대학원 표본 크기와 비 학년 중간 급여를 작곡했습니다 . @sameed는 샘플 크기 대 대학원 중간 급여를 원했지만 완전히 명확하지는 않습니다. 후자의 경우 @famargar의 수, 즉 ( )를 재현 하고 플롯은 동일하게 보입니다.p = 0.98
선형 회귀를 시도하면 첫 번째 답변에서 제안한 것처럼이 관계에 대해 무언가를 가르쳐 줄 것입니다. 이 플롯에 파이썬과 matplotlib를 사용하는 것처럼 보이기 때문에 솔루션에서 멀리 떨어진 한 줄의 코드입니다.
seaborn jointplot을 사용하면 선형 회귀선, Pearson 상관 계수 및 p- 값도 표시됩니다.
sns.jointplot("Grad_sample_size", "Grad_median", data=df, kind="reg")
보시다시피 상관 관계가 없습니다. 이 마지막 플롯을 보면 x 변수를 로그 변환하는 것이 유용 할 것 같습니다. 해 봅시다:
df['log_size'] = np.log(df['Grad_sample_size'])
sns.jointplot("log_size", "Grad_median", data=df, kind="reg")
로그 변환 여부와 상관없이 상관 관계가 작고 p- 값과 신뢰 구간 모두 통계적으로 의미가 없다고 명확하게 알 수 있습니다.