"Descobrir" indica que você está explorando os dados. Testes formais seriam supérfluos e suspeitos. Em vez disso, aplique técnicas padrão de análise exploratória de dados (EDA) para revelar o que pode estar nos dados.
Essas técnicas padrão incluem reexpressão , análise residual , técnicas robustas (os "três R's" da EDA) e suavização dos dados, conforme descrito por John Tukey em seu livro clássico EDA (1977). Como conduzir algumas delas são descritas em meu post na Box-Cox como transformação para variáveis independentes? e Na regressão linear, quando é apropriado usar o log de uma variável independente em vez dos valores reais? , inter alia .
O resultado é que muito pode ser visto mudando para eixos de log-log (re-expressando efetivamente ambas as variáveis), suavizando os dados de maneira não muito agressiva e examinando os resíduos do smooth para verificar o que ele pode ter perdido, como ilustrarei.
Aqui estão os dados mostrados com uma suavidade que - após examinar várias suavizações com graus variados de fidelidade aos dados - parece um bom compromisso entre muita e pouca suavização. Ele usa Loess, um método robusto bem conhecido (não é fortemente influenciado por pontos periféricos na vertical).
A grade vertical está em etapas de 10.000. O bom faz sugerir alguma variação Grad_median
com o tamanho da amostra: parece cair como tamanhos de amostra aproximar 1000. (As extremidades do lisa, não são confiáveis - especialmente para pequenas amostras, onde se espera que o erro de amostragem ser relativamente grande - assim don leia muito sobre eles.) Essa impressão de uma queda real é suportada pelas faixas de confiança (muito grosseiras) desenhadas pelo software em torno do suave: suas "manobras" são maiores que as larguras das bandas.
- 0,220 %
Estamos interessados em (a) se há padrões adicionais de variação conforme o tamanho da amostra muda e (b) se as distribuições condicionais da resposta - as distribuições verticais das posições dos pontos - são plausivelmente semelhantes em todos os valores do tamanho da amostra, ou se algum aspecto deles (como propagação ou simetria) pode mudar.
0,0
Consequentemente, este simples resumo:
salário médio é cerca de 10.000 mais baixo para amostras perto de 1000
captura adequadamente os relacionamentos que aparecem nos dados e parece manter-se uniformemente em todas as principais categorias. Se isso é significativo - isto é, se ele resistiria quando confrontado com dados adicionais - só pode ser avaliado coletando esses dados adicionais.
Para quem gostaria de verificar este trabalho ou levá-lo adiante, aqui está o R
código.
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)