【问题标题】:Calculating correlation between intermittent events and complete data计算间歇性事件和完整数据之间的相关性
【发布时间】:2018-12-02 09:26:07
【问题描述】:

在 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

然后我想回答这个问题:法案的通过与投诉数量有何关联?是否有相关性测试来回答这个问题?

【问题讨论】:

  • 如果您在为特定假设选择统计检验时需要帮助,您应该通过Cross Validated 提出您的问题,那里有关于统计的问题。一旦你知道你想要执行什么测试,那么如果简单的谷歌搜索没有找到答案,你可以询问如何在 R 中进行测试。
  • 我要让您休息一下,因为您询问了如何执行相关性测试。但是,仍然很难说出您想要关联的内容。您给了我们两列:Yearn_complaints。您是否试图找到Yearn_complaints 之间的相关性?或者您是否试图找到另一列与n_complaints 之间的相关性?
  • 谢谢。我正在寻找每年 n_complaints 与通过法案的几年之间的相关性。我想回答这个问题,“法案的通过如何影响 n_complaints”?
  • 您没有提供法案通过年份的样本。
  • 在数据前一行:立法于2002年、2007年和2009年通过。

标签: r correlation


【解决方案1】:

您可能会找到数百种用于回答此类问题的计量经济学技术(尤其是在时间序列文献中),但遗憾的是,您的数据集太短而无法确定。让

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))

在这种情况下,三角形对应于新法规。因此,人们可能会猜测投诉数量在新立法之前增加和/或在新立法之后立即下降,但这只是一种猜测。

查看相关系数并检验其是否等于 0 很简单,

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)

因此,相关性(滞后 -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 起。但是,该效果在统计上并不显着。这并不奇怪,因为这种效应与之前看到的相关系数之间存在很好的关系。

要研究的其他事物可能是不同类型的效果(瞬时、永久或衰减)。此外,您应该首先考虑其他可能导致相关性可能为正的因素,因为也许现在我们看到了一些虚假的东西。

因此,没有什么可以用这些数据来做真正令人信服的事情。在您的情况下,可能会尝试获取同一时间段内投诉数量的季度或月度数据。

【讨论】:

  • @Adam_G,这对您有帮助还是您正在寻找不同的答案?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多