Расчет корреляции между прерывистыми событиями и полными данными - PullRequest
0 голосов
/ 30 октября 2018

В R у меня есть два набора данных. Один показывает событие каждые несколько лет, например, 2002, 2007 и 2009 гг. Затем у меня есть другой набор данных, который показывает счетчик активности за каждый год, т. Е. 2002, 2003 ... 2009, 2010. Есть ли способ запустить тест корреляции в R между этими двумя, чтобы увидеть, если уровень активности коррелирует с событиями?

Как пример:

Законодательство было принято в 2002, 2007 и 2009 годах. Затем мы имеем количество жалоб в год:

Year, n_complaints
2002, 100
2003, 50
2004, 75
2005, 60
2007, 120
2008, 30
2009, 75
2010, 110

Тогда я хочу ответить на вопрос: как принятие законопроекта соотносится с количеством жалоб? Есть ли корреляционный тест, чтобы ответить на этот вопрос?

1 Ответ

0 голосов
/ 02 декабря 2018

Вы можете найти сотни эконометрических методов (особенно в литературе о временных рядах) для ответа на такие вопросы, но, к сожалению, ваш набор данных слишком короткий, чтобы сказать что-то определенное. Пусть

df$legislation <- ifelse(df$Year %in% c(2002, 2007, 2009), 1, 0)

, который является типичным способом определения переменных для таких событий. Опять же, если бы у вас было больше данных, вы могли бы проверить влияние каждого законодательства в отдельности.

Всегда хорошая идея сначала построить данные

with(df, plot(x = Year, y = n_complaints, type = 'b', pch = legislation + 1))

enter image description here

, где в данном случае треугольники соответствуют новым законам. Таким образом, можно предположить, что количество жалоб увеличивается до и / или уменьшается сразу после принятия нового законодательства, но это всего лишь предположение.

Нетрудно взглянуть на коэффициент корреляции и проверить его равенство нулю

with(df, cor.test(n_complaints, legislation))
#
#   Pearson's product-moment correlation
#
# data:  n_complaints and legislation
# t = 1.6455, df = 6, p-value = 0.151
# alternative hypothesis: true correlation is not equal to 0
# 95 percent confidence interval:
#  -0.2422314  0.9062091
# sample estimates:
#       cor 
# 0.5576247 

Итак, коэффициент равен 0,55, что звучит довольно обнадеживающе, но из-за размера выборки доверительный интервал огромен, и мы не можем отклонить ноль, что на самом деле корреляции нет.

Как я уже говорил, было бы интересно посмотреть на динамику этих временных рядов. ccf соответствует взаимным корреляциям, когда мы сдвигаем временной ряд во времени и видим, есть ли какая-либо корреляция при опережении и отставании ряда.

ccf(df$n_complaints, df$legislation)

enter image description here

Итак, корреляции (лаги -1, 0 и 1) показывают то же, что и на первом графике: потенциальная тенденция уменьшения количества жалоб до и после принятия нового законодательства. Но это без какой-либо определенности.

Наконец, то же самое можно увидеть при оценке модели линейной регрессии. Например,

summary(lm(n_complaints ~ legislation, data = df))
#
# Call:
# lm(formula = n_complaints ~ legislation, data = df)
#
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -35.000 -17.083  -1.667  12.917  45.000 
#
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)   
# (Intercept)    65.00      12.41   5.240  0.00194 **
# legislation    33.33      20.26   1.645  0.15097   
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 27.74 on 6 degrees of freedom
# Multiple R-squared:  0.3109,  Adjusted R-squared:  0.1961 
# F-statistic: 2.708 on 1 and 6 DF,  p-value: 0.151

Следовательно, действие законодательства является положительным, предполагая, что в тот же период оно добавляет 33,33 дополнительных жалоб, при этом среднее значение составляет 65. Однако эффект не является статистически значимым. Это не удивительно, поскольку между этим эффектом и коэффициентом корреляции, замеченным ранее, есть хорошая связь.

Другие вещи, на которые стоит обратить внимание, - это различные виды эффектов (мгновенные, постоянные или затухающие). Также вы должны сначала принять во внимание другие возможные факторы, почему корреляция может быть положительной, потому что, возможно, теперь мы видим что-то поддельное.

Итак, нет ничего действительно убедительного, что можно сделать с этими данными. Возможно, в вашем случае возможно будет попытаться получить квартальные или ежемесячные данные о количестве жалоб за тот же период времени.

...