使用十分位找到相关性是一种统计上有效的方法吗?


10

我有一个1,449个不相关的数据点的样本(r平方0.006)。

在分析数据时,我发现通过将自变量值分为正向和负向组,每组因变量的平均值似乎存在显着差异。

使用自变量值将点分成10个bin(十分位数),十分位数与平均因变量值之间的相关性似乎更强(r平方0.27)。

我对统计信息了解不多,因此这里有几个问题:

  1. 这是有效的统计方法吗?
  2. 有没有找到最佳箱数的方法?
  3. 这种方法的正确用语是什么,以便我可以使用Google?
  4. 有哪些入门资源可用于学习这种方法?
  5. 我可以使用哪些其他方法来查找此数据中的关系?

这是十进制数据供参考:https : //gist.github.com/georgeu2000/81a907dc5e3b7952bc90

编辑:这是数据的图像: 行业动量是自变量,入口点质量是因变量

行业动量是自变量,入口点质量是因变量


希望我的回答(特别是答复2-4)可以按照预期的方式理解。
Glen_b-恢复莫妮卡2014年

如果您的目的是探索独立者与受抚者之间的关系形式,那么这是一种很好的探索性技术。它可能会冒犯统计学家,但一直在行业中使用(例如信用风险)。如果您要建立预测模型,那么再次进行特征工程就可以了-如果是在经过正确验证的训练集上完成的。
B_Miner 2014年

您可以提供任何资源来确保结果得到“正确验证”吗?
B

“不相关(r平方0.006)”表示它们不线性相关。也许还涉及其他一些关联。您是否绘制了原始数据(相关数据独立数据)?
埃米尔·弗里德曼

我确实绘制了数据,但没有想到将其添加到问题中。真是个好主意!请参阅更新的问题。
B

Answers:


9

0。相关性(0.0775)很小,但是(统计上)与0显着不同。也就是说,看起来确实存在相关性,只是很小/很弱(等效地,关系周围有很多噪音)。

1.在bin中平均的目的是减少数据的变化(均值标准误差的效应),这意味着您人为地虚增了弱相关性。另请参阅此(某种程度上)相关问题σ/ñ

2.当然,更少的bin意味着对更多数据进行平均,从而减少了噪声,但是它们越宽,每个平均值在“ bin”中变得越“模糊”,因为平均值并不完全恒定-需要权衡取舍。尽管可能会得出一个公式,以在线性和的分布假设下优化相关性,但它不会充分考虑数据中噪声的某种可利用影响。简单的方法是尝试各种不同的容器边界,直到获得所需的东西。不要忘记尝试更改bin宽度和bin来源。有时,这种策略可以证明在密度方面非常有用,并且这种偶发优势可以延续到功能关系中,也许可以使您获得X正是您希望的结果

3.是的。可能从此搜索开始,然后尝试使用同义词。

4. 是一个很好的起点;这是一本针对非统计学家的非常受欢迎的书。

5.(更严重的是:)我建议使用平滑处理(例如,通过局部多项式回归/内核平滑处理)作为研究关系的一种方法。确切地说,这取决于您想要什么,但是当您不知道关系的形式时,这可以是一种有效的方法,只要您避免数据挖掘的问题即可。


有一个流行的报价,他的创始人似乎是Ronald Coase

“如果对数据进行足够的折磨,自然将永远承认。”


第1点和第2点很好地解释了为什么OP的方法不是有效的统计方法,尽管说服点0(弱相关性)是很有用的启发式方法。
阿萨德·易卜拉欣2014年

9

也许您将从探索工具中受益。按照这种精神,似乎已将数据拆分为x坐标的十分位。通过下面描述的修改,这是一种非常好的方法。

已经发明了许多双变量探索方法。John Tukey(EDA,Addison-Wesley 1977)提出的一个简单的例子就是他的“徘徊原理图”。您将x坐标切成条形,在每个条形的中部竖立相应y数据的垂直箱形图,并将箱形图的关键部分(中位数,铰链等)连接成曲线(可以选择平滑)。这些“徘徊痕迹”提供了数据的二元分布图,并允许立即对相关性,关系线性,离群值和边际分布进行直观的视觉评估,并对任何非线性回归函数进行稳健的估计和拟合优度评估。

Tukey在这个想法中加入了一种与箱线图想法一致的想法,即探究数据分布的一种好方法是从中间开始并向外进行工作,将数据量减半。即,箱到使用不必是切割在等距位数,而是应在点反映的位数和为。2-ķ1个-2-ķķ=1个23

为了显示不同的bin数量,我们可以使每个箱线图的宽度与其表示的数据量成正比。

产生的漂移示意图将如下所示。根据数据摘要开发的数据在背景中显示为灰色点。在此上方绘制了徘徊的示意图,其中五条迹线为彩色,框线图(包括所示的任何异常值)为黑白。

数字

几乎为零的相关性的性质立即变得清晰:数据扭曲。在它们的中心附近,从到,它们具有很强的正相关性。在极值处,这些数据表现出总体上趋向于负的曲线关系。净相关系数(对于这些数据恰好是)接近零。但是,坚持认为“几乎没有相关性”或“显着但较低的相关性”将与老笑话中欺骗的错误相同,即关于统计学家对烤箱里的头和冰箱里的脚感到满意的统计数字,因为平均而言,温度很舒服。有时,一个数字根本无法描述情况。X=-4X=4-0.074

具有类似目的的替代探索工具包括对数据的窗口分位数进行稳健的平滑处理,以及使用一系列分位数进行分位数回归的拟合。有了可用的软件来执行这些计算,它们可能比流浪的原理图更容易执行,但是它们不具有相同的构造简单性,易于解释性和广泛的适用性。


下面的R代码生成了该图,几乎没有更改即可将其应用于原始数据。(忽略(由bplt调用的bxp)产生的警告:当没有异常值时,它将抱怨。)

#
# Data
#
set.seed(17)
n <- 1449
x <- sort(rnorm(n, 0, 4))
s <- spline(quantile(x, seq(0,1,1/10)), c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6),
            xout=x, method="natural")
#plot(s, type="l")
e <- rnorm(length(x), sd=1)
y <- s$y + e # ($ interferes with MathJax processing on SE)
#
# Calculations
#
q <- 2^(-(2:floor(log(n/10, 2))))
q <- c(rev(q), 1/2, 1-q)
n.bins <- length(q)+1
bins <- cut(x, quantile(x, probs = c(0,q,1)))
x.binmed <- by(x, bins, median)
x.bincount <- by(x, bins, length)
x.bincount.max <- max(x.bincount)
x.delta <- diff(range(x))
cor(x,y)
#
# Plot
#
par(mfrow=c(1,1))
b <- boxplot(y ~ bins, varwidth=TRUE, plot=FALSE)
plot(x,y, pch=19, col="#00000010", 
     main="Wandering schematic plot", xlab="X", ylab="Y")
for (i in 1:n.bins) {
  invisible(bxp(list(stats=b$stats[,i, drop=FALSE],
                     n=b$n[i],
                     conf=b$conf[,i, drop=FALSE],
                     out=b$out[b$group==i],
                     group=1,
                     names=b$names[i]), add=TRUE, 
                boxwex=2*x.delta*x.bincount[i]/x.bincount.max/n.bins, 
                at=x.binmed[i]))
}

colors <- hsv(seq(2/6, 1, 1/6), 3/4, 5/6)
temp <- sapply(1:5, function(i) lines(spline(x.binmed, b$stats[i,], 
                                             method="natural"), col=colors[i], lwd=2))

@EngrStudent在运行代码之前,请阅读本文的文本。提到并解释了该警告。
ub

我不知道此向量来自何处c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6),是否正在生成并且与数据相关(x)?您提到了,2^*(-k)但这无关。
Maximilian

@Max该向量生成此特定示例。
ub

好的,但是您如何处理这些数字?这显然是错误的:k <- 1:11; ifelse(quantile(g, seq(0,1,1/10))>0, 2^(-k), 1-2^(-k))
Maximilian

@Max我无法理解“明显错误”的含义。您不能引用我的代码:作为检查,我重新运行了该代码,它详细复制了该图。
ub

6

我不认为合并是解决问题的科学方法。这是信息丢失和武断。等级(常规;半参数)方法要好得多,并且不会丢失信息。即使一个人决定采用十分位分档,该方法仍然是任意的,并且不能被其他人重现,这仅仅是因为在数据联系在一起的情况下,大量的定义用于分位数。就像上面的数据酷刑评论中提到的那样,Howard Wainer的一篇不错的论文展示了如何从同一数据集中找到可以产生正关联的垃圾箱,以及如何找到可以产生负关联的垃圾箱:

 @Article{wai06fin,
   author =          {Wainer, Howard},
   title =       {Finding what is not there through the unfortunate
    binning of results: {The} {Mendel} effect},
   journal =     {Chance},
   year =        2006,
   volume =      19,
   number =      1,
   pages =       {49-56},
   annote =      {can find bins that yield either positive or negative
    association;especially pertinent when effects are small;``With four
    parameters, I can fit an elephant; with five, I can make it wiggle its
    trunk.'' - John von Neumann}
 }

这就是我所怀疑的。如果选择不同数量的垃圾箱,则可以找到最佳的相关性以显示所需的内容。但是结果将无法再现或科学地有效。您是否了解有关排名的介绍性资源?
B 2014年

3
这似乎是一个极端的立场。当然,基于等级的方法也会丢失信息:它们会丢弃有关实际值的所有信息。那么关于信息丢失是否值得关注的问题归结为为什么要进行分析?如果是用于发现和探索,则各种指导性的分箱形式都可以很好地完成工作,而用等级替换一切可能会模糊和扭曲关系。如果是用于确认或假设检验,那么您的言论将更普遍地适用和辩护。
ub

2
我不同意。基于等级的方法丢失的信息类型很少(例如,π-3π(在高斯残差的情况下),并且相对于采用更多假设的方法,它们可以获得信息。使用半参数模型(例如,比例赔率模型)来估计的均值和分位数并不难ÿ|X。信息丢失几乎总是一件坏事,无论是在探索过程中(您可能会错过一些重要的东西)还是在形式分析过程中(功率和精度损失以及任意性)。
弗兰克·哈雷尔

2

基于观察到的X(“入口点质量”)将数据拆分为十分之几,似乎是Wald首先提出的一种旧方法的推广,后来又针对X和Y均易出错的情况提出了另一种方法。(Wald将数据分为两组。Nair&Shrivastava和Bartlett将其分为三组。)在Hoaglin,Mosteller和Tukey编辑的“ 理解健壮和探索性数据分析”的第5C节中进行了描述(Wiley,1983年)。但是,从那时起,已经针对此类“测量误差”或“变量模型误差”进行了大量工作。我已经看了教科书是测量误差模型,方法和应用由John Buonaccorsi(CRC出版社,

您的情况可能有所不同,因为您的散点图使我怀疑这两个观测值都是随机变量,并且我不知道它们是否均包含测量误差。变量代表什么?


切入点质量是股票在给定时间点内短期内上涨或下跌的量。行业动量是股票在同一时间点行业中“动量”的量度。假设是行业动力与股票的未来价格之间存在相关性。
B 2014年

1
我们通常将响应放在垂直轴上。目视检查表明,即使存在真正的相关性,入口点质量的变化也使其毫无用处。但是,由于您要处理股价,因此由于涉及时间序列,事情变得更加复杂。
埃米尔·弗里德曼

2

我发现localgauss软件包对此非常有用。 https://cran.r-project.org/web/packages/localgauss/index.html

包装内含

用于估计和可视化局部高斯参数的计算例程。局部高斯参数对于表征和测试双变量数据中的非线性相关性很有用。

例:

library(localgauss)
x=rnorm(n=1000)
y=x^2 + rnorm(n=1000)
lgobj = localgauss(x,y)
plot(lgobj)

结果:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.