У меня есть точечная диаграмма, размер выборки которой равен числу людей по оси x и средней зарплате по оси y. Я пытаюсь выяснить, влияет ли размер выборки на среднюю зарплату.
Это сюжет:
Как мне интерпретировать этот сюжет?
У меня есть точечная диаграмма, размер выборки которой равен числу людей по оси x и средней зарплате по оси y. Я пытаюсь выяснить, влияет ли размер выборки на среднюю зарплату.
Это сюжет:
Как мне интерпретировать этот сюжет?
Ответы:
«Узнать» означает, что вы изучаете данные. Формальные тесты были бы лишними и подозрительными. Вместо этого примените стандартные методы анализа поисковых данных (EDA), чтобы выявить, что может быть в данных.
Эти стандартные методы включают повторное выражение , остаточный анализ , надежные методы («три R» в EDA) и сглаживание данных, как описано Джоном Тьюки в его классической книге EDA (1977). Как провести некоторые из них, изложенные в моем посте в Box-Cox как преобразование для независимых переменных? и в линейной регрессии, когда целесообразно использовать лог независимой переменной вместо фактических значений? в том числе .
В результате многое можно увидеть, если перейти к осям log-log (эффективно переразмеряя обе переменные), сгладить данные не слишком агрессивно и изучить остатки сглаживания, чтобы проверить, что они могли пропустить, как я проиллюстрирую.
Вот данные, показанные со сглаживанием, которое - после изучения нескольких сглаживаний с различной степенью точности данных - кажется хорошим компромиссом между слишком большим и слишком небольшим сглаживанием. Он использует Loess, хорошо известный надежный метод (он не подвержен сильному влиянию вертикально расположенных точек).
Вертикальная сетка с шагом 10000. Гладкое делает предложить некоторые вариации Grad_median
с образцом размером: кажется, падение , как размер выборки приближается 1000. (концов гладкий, не заслуживающее доверия - особенно для малых выборок, где ожидаются ошибка выборки , чтобы быть относительно большим - так дон не читайте слишком много в них.) Это впечатление реального падения поддерживается (очень грубыми) доверительными полосами, нарисованными программным обеспечением вокруг сглаживания: его "колебания" больше, чем ширина полос.
Чтобы увидеть, что этот анализ мог пропустить, на следующем рисунке рассматриваются остатки. (Это различия натуральных логарифмов, непосредственно измеряющих вертикальные расхождения между данными предыдущего сглаживания. Поскольку они представляют собой небольшие числа, их можно интерпретировать как пропорциональные различия; например, отражает значение данных, которое примерно на ниже, чем соответствующее сглаженное значение.)20 %
Нас интересует (а), существуют ли дополнительные схемы изменения при изменении размера выборки, и (б) являются ли условные распределения отклика - вертикальные распределения точек - правдоподобно похожими по всем значениям размера выборки, или может ли какой-то их аспект (например, их распространение или симметрия) измениться.
Этот гладкий пытается следовать точкам данных еще более близко, чем прежде. Тем не менее он по существу горизонтальный (в пределах диапазона доверительных интервалов, которые всегда охватывают значение y ), что свидетельствует о том, что дальнейшие изменения не могут быть обнаружены. Небольшое увеличение вертикального разброса вблизи середины (размеры выборки от 2000 до 3000) не было бы значительным, если бы оно было формально проверено, и поэтому оно, безусловно, ничем не примечательно на этом этапе исследования. Нет четкого, систематического отклонения от этого общего поведения, явного в любой из отдельных категорий (отличающихся, не слишком хорошо, по цвету - я проанализировал их отдельно на рисунках, не показанных здесь).
Следовательно, это простое резюме:
средняя зарплата примерно на 10000 ниже для выборки около 1000
адекватно фиксирует отношения, появляющиеся в данных, и, похоже, одинаково распространяется на все основные категории. Является ли это значительным, то есть будет ли оно выдержано при получении дополнительных данных, можно оценить только путем сбора этих дополнительных данных.
Для тех, кто хотел бы проверить эту работу или продолжить ее, вот 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 и средней зарплаты, чтобы увидеть, имеет ли смысл масштабирование данных.
Я не знаю, согласен ли я с вашей верой в то, что средняя зарплата уменьшается, когда размер выборки превышает 1000. Я был бы более склонен сказать, что нет никаких отношений вообще. Ваша теория предсказывает, что должны быть отношения?
Другой способ оценить возможную взаимосвязь - это подогнать линию регрессии к данным. В качестве альтернативы вы также можете использовать кривую низкого уровня. Отобразите обе строки в своих данных и посмотрите, можно ли что-нибудь выявить (однако я сомневаюсь, что есть что-то слишком существенное).
Я также согласен, что нет никаких отношений. Я воспроизвел ваш исходный график рассеяния (слева) и сделал график рассеяния в лог-журнале, предложенный glen_b (справа).
Похоже, нет никакого отношения ни к одному. Корреляция между лог-преобразованными данными слабая (Пирсон R = -.13) и незначительная (p = .09). В зависимости от того, сколько у вас есть дополнительной информации, может быть причина видеть некоторую слабую отрицательную корреляцию, но это кажется натяжкой. Я предполагаю, что любая видимая картина, которую вы видите, имеет тот же эффект, что и здесь .
Попытка линейной регрессии научит вас чему-то об этом отношении, как это предлагается в первом ответе. Похоже, что вы используете Python плюс Matplotlib для этого графика, вы находитесь на расстоянии одной строки кода от решения.
Вы можете использовать совместную диаграмму морского происхождения, которая также отобразит линию линейной регрессии, коэффициент корреляции Пирсона и его значение 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, так и доверительные интервалы говорят о том, что оно не является статистически значимым.
Этот график работает как демонстрация центральной предельной теоремы, где изменчивость между выборками уменьшается с увеличением размера выборки. Это также форма, которую вы могли бы ожидать с сильно искаженной переменной, такой как зарплата.