如果解释变量和响应变量在回归之前被独立排序会怎样?


302

假设我们有数据集与点。我们想要执行线性回归,但是首先我们将值和值彼此独立地排序,从而形成数据集。对新数据集的回归是否有有意义的解释?这有名字吗?n X i Y iX iY j(Xi,Yi)nXiYi(Xi,Yj)

我想这是一个愚蠢的问题,所以我很抱歉,我没有接受过统计学方面的正式培训。在我看来,这完全破坏了我们的数据,而回归毫无意义。但是我的经理说,这样做的时候,他“大多数时候会得到更好的回归”(这里“更好”意味着更具预测性)。我觉得他在欺骗自己。

编辑:感谢您所有的好和耐心的例子。我向他展示了@ RUser4512和@gung的示例,他仍然坚定不移。他变得烦躁,我变得精疲力尽。我感到垂头丧气。我可能很快就会开始寻找其他工作。


120
但是我的经理说,这样做的时候,他“大多数时候会得到更好的回归”。 噢,天哪
杰克·韦斯特伦

56
当然没有理由感到尴尬!
杰克·韦斯特伦

36
“科学就是我们想要的。” -Leo Spaceman博士。
Sycorax 2015年

52
这个想法必须与我遇到的另一个想法相抗衡:如果您的样本很小,则将其与相同数据的多个副本放在一起。
尼克·考克斯

47
您应该告诉老板您有更好的主意。无需使用实际数据,只需生成自己的数据即可,因为建模起来更容易。
dsaxton

Answers:


147

我不确定您的老板认为“更具预测性”意味着什么。许多人错误地认为,较低的值意味着更好/更具预测性的模型。 不一定是正确的(这就是一个例子)。但是,事先对两个变量进行独立排序将保证较低的值。另一方面,我们可以通过将模型的预测与同一过程生成的新数据进行比较,来评估模型的预测准确性。我在下面的一个简单示例(用编码)中做到了。 pppR

options(digits=3)                       # for cleaner output
set.seed(9149)                          # this makes the example exactly reproducible

B1 = .3
N  = 50                                 # 50 data
x  = rnorm(N, mean=0, sd=1)             # standard normal X
y  = 0 + B1*x + rnorm(N, mean=0, sd=1)  # cor(x, y) = .31
sx = sort(x)                            # sorted independently
sy = sort(y)
cor(x,y)    # [1] 0.309
cor(sx,sy)  # [1] 0.993

model.u = lm(y~x)
model.s = lm(sy~sx)
summary(model.u)$coefficients
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)    0.021      0.139   0.151    0.881
# x              0.340      0.151   2.251    0.029  # significant
summary(model.s)$coefficients
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)    0.162     0.0168    9.68 7.37e-13
# sx             1.094     0.0183   59.86 9.31e-47  # wildly significant

u.error = vector(length=N)              # these will hold the output
s.error = vector(length=N)
for(i in 1:N){
  new.x      = rnorm(1, mean=0, sd=1)   # data generated in exactly the same way
  new.y      = 0 + B1*x + rnorm(N, mean=0, sd=1)
  pred.u     = predict(model.u, newdata=data.frame(x=new.x))
  pred.s     = predict(model.s, newdata=data.frame(x=new.x))
  u.error[i] = abs(pred.u-new.y)        # these are the absolute values of
  s.error[i] = abs(pred.s-new.y)        #  the predictive errors
};  rm(i, new.x, new.y, pred.u, pred.s)
u.s = u.error-s.error                   # negative values means the original
                                        # yielded more accurate predictions
mean(u.error)  # [1] 1.1
mean(s.error)  # [1] 1.98
mean(u.s<0)    # [1] 0.68


windows()
  layout(matrix(1:4, nrow=2, byrow=TRUE))
  plot(x, y,   main="Original data")
  abline(model.u, col="blue")
  plot(sx, sy, main="Sorted data")
  abline(model.s, col="red")
  h.u = hist(u.error, breaks=10, plot=FALSE)
  h.s = hist(s.error, breaks=9,  plot=FALSE)
  plot(h.u, xlim=c(0,5), ylim=c(0,11), main="Histogram of prediction errors",
       xlab="Magnitude of prediction error", col=rgb(0,0,1,1/2))
  plot(h.s, col=rgb(1,0,0,1/4), add=TRUE)
  legend("topright", legend=c("original","sorted"), pch=15, 
         col=c(rgb(0,0,1,1/2),rgb(1,0,0,1/4)))
  dotchart(u.s, color=ifelse(u.s<0, "blue", "red"), lcolor="white",
           main="Difference between predictive errors")
  abline(v=0, col="gray")
  legend("topright", legend=c("u better", "s better"), pch=1, col=c("blue","red"))

在此处输入图片说明

左上方的图显示了原始数据。和之间存在某种关系(即,相关性约为。)右上方的图显示了对两个变量进行独立排序后数据的外观。您可以轻松地看到,相关强度已经大大提高了(现在约为)。但是,在下面的图中,我们看到,对于使用原始(未排序)数据训练的模型,预测误差的分布更接近于。使用原始数据的模型的平均绝对预测误差为,而在排序数据上训练的模型的平均绝对预测误差为y .31 .99 0 1.1 1.98 y 68 xy.31.9901.11.98—几乎是原来的两倍。这意味着排序后的数据模型的预测与正确值相距甚远。右下象限中的图是点图。它显示了预测误差与原始数据和排序数据之间的差异。这使您可以针对每个模拟的新观察结果比较两个相应的预测。左边的蓝色点是原始数据接近新值的时间,右边的红色点是排序后的数据产生更好的预测的时间。从原始数据训练的模型中,有的时间有更准确的预测。 y68%


排序将导致这些问题的程度是数据中存在的线性关系的函数。如果和之间的相关性已经是,则排序将不起作用,因此不会有害。另一方面,如果相关性为ÿ 1.0 - 1.0xy1.01.0,排序将完全逆转关系,从而使模型尽可能不准确。如果数据最初完全不相关,则排序将对结果模型的预测准确性产生中等但有害的较大影响。由于您提到您的数据通常是关联的,因此我怀疑它为该过程固有的危害提供了一些保护。但是,首先进行排序绝对是有害的。为了探索这些可能性,我们可以简单地以不同的值重新运行以上代码B1(使用相同的种子来实现可再现性)并检查输出:

  1. B1 = -5

    cor(x,y)                            # [1] -0.978
    summary(model.u)$coefficients[2,4]  # [1]  1.6e-34  # (i.e., the p-value)
    summary(model.s)$coefficients[2,4]  # [1]  1.82e-42
    mean(u.error)                       # [1]  7.27
    mean(s.error)                       # [1] 15.4
    mean(u.s<0)                         # [1]  0.98
  2. B1 = 0

    cor(x,y)                            # [1] 0.0385
    summary(model.u)$coefficients[2,4]  # [1] 0.791
    summary(model.s)$coefficients[2,4]  # [1] 4.42e-36
    mean(u.error)                       # [1] 0.908
    mean(s.error)                       # [1] 2.12
    mean(u.s<0)                         # [1] 0.82
  3. B1 = 5

    cor(x,y)                            # [1] 0.979
    summary(model.u)$coefficients[2,4]  # [1] 7.62e-35
    summary(model.s)$coefficients[2,4]  # [1] 3e-49
    mean(u.error)                       # [1] 7.55
    mean(s.error)                       # [1] 6.33
    mean(u.s<0)                         # [1] 0.44

12
您的回答很明确,但是可能并没有那么明确。对于外行人(例如,OP的经理)而言,不一定所有这些末尾的图(不管R代码)实际上显示和暗示了什么。IMO,您的回答可能确实使用了一两个解释性的段落。
Ilmari Karonen

3
感谢您的评论,@ IlmariKaronen。您能建议添加些东西吗?我试图使代码尽可能不言自明,并对其进行了广泛评论。但是我可能不再能够以不熟悉这些主题的人的眼光看这些东西。我将在底部添加一些文本来描述图。如果您还有其他想法,请告诉我。
gung

13
+1这仍然是解决所建议情况的唯一答案:当两个变量已经表现出一定的正相关性时,回归独立排序的值仍然是错误的。所有其他答案均假定没有关联或实际上是负关联。尽管它们是很好的例子,但由于它们不适用,因此不会令人信服。但是,我们仍然缺少一个直观的,真实的,真实世界的数据示例例如此处模拟的数据,其中错误的性质十分明显。
whuber

8
1是不为正统并且使用“=”为分配在R.摇摆
dsaxton

@dsaxton,我<-有时使用,但是我在CV上的目标是编写R代码,使其尽可能接近伪代码,以便对不熟悉R的人更具可读性。=在编程语言中,作为赋值运算符非常普遍。
gung

103

x,y在此处输入图片说明

n <- 1000

y<- runif(n)
x <- runif(n)

linearModel <- lm(y ~ x)


x_sorted <- sort(x)
y_sorted <- sort(y)

linearModel_sorted <- lm(y_sorted ~ x_sorted)

par(mfrow = c(2,1))
plot(x,y, main = "Random data")
abline(linearModel,col = "red")


plot(x_sorted,y_sorted, main = "Random, sorted data")
abline(linearModel_sorted,col = "red")

显然,排序后的结果提供了更好的回归。但是,给定用于生成数据的过程(两个独立的样本),绝对没有机会将一个用于预测另一个。


8
几乎就像所有互联网上的“前后”广告一样:)
蒂姆

这是一个很好的例子,但它不会使他信服,因为我们的数据在排序之前确实具有正相关。排序只是“加强”了关系(尽管关系不正确)。
任意用户

17
@arbitraryuser:好吧,排序后的数据将始终显示正(正,非负)相关性,无论原始数据具有什么相关性(如果有)。如果您知道原始数据始终始终具有正相关性,那么它是“偶然校正”的,但是,为什么,即使您已经知道相关性和正相关性,为什么还要费心检查相关性呢?您的经理正在执行的测试有点像“空气质量检测器”,始终显示“检测到可呼吸的空气”-只要您从未将其放在没有可呼吸空气的任何地方,它就可以完美运行。
Ilmari Karonen

2
@arbitraryuser您可能会发现更多说服力的另一个示例是,采用x = 0:50和y = 0:-50(斜率为-1的完美线)。如果对它们进行排序,则关系将变成一条斜率为1的完美直线。如果事实是您的变量在完全对立的情况下变化,并且您基于对它们在完全一致的范围内变化的错误理解而制定了政策规定,做错了事。
John Rauser

99

您的直觉是正确的:独立排序的数据没有可靠的含义,因为输入和输出被随机映射到彼此,而不是所观察到的关系。

排序数据的回归很有可能看起来不错,但是在上下文中却毫无意义。

(X=age,Y=height)

x,y


25
+1,但我会放弃“本质上”并重新强调“无意义”。
豪伯

12
注意,OP指的是对数据进行独立排序,而不是对数据进行混排。这是一个微妙但重要的差异,因为它与在应用给定操作后所观察到的“关系”有关。
红衣主教

3
xy

12
@amoeba琐碎的数据集:一般的青少年,30多岁的NBA中心,平均年龄的女性。排序后,预测算法是最早的是最高的。
d0rmLife 2015年

1
@amoeba,我将说明如何理解它。
d0rmLife 2015年

40

Viti

(ti,Vi)

(0,1.0),(1,0.9),(2,0.8),(3,0.7),(4,0.6),(5,0.5).
(0,0.5),(1,0.6),(2,0.7),(3,0.8),(4,0.9),(5,1.0).
从这个排序的数据集中得出的结论是,随着时间的增加,水的量也会增加,而且从1升水开始,经过5个小时的等待,您将获得超过1升水。那不是很了不起吗?该结论不仅与原始数据相反,还表明我们发现了新的物理学!

5
不错的直观示例!除了最后一行。使用原始数据,我们将在一段时间后得到负体积,这与新物理学一样。您永远无法真正推断出回归。
Jongsma

22

这是一门真正的艺术,需要对心理学有真正的了解,才能使某些人相信自己的错误方式。除了上述所有出色的例子,有时有用的策略还在于表明一个人的信念导致与自己的矛盾。或尝试这种方法。找出老板强烈相信的事情,例如人们在任务Y上的表现如何与他们拥有的X属性有多大关系。展示老板如何运用自己的方法得出X与Y之间紧密联系的结论。利用政治/种族/宗教信仰。

面对无效应该已经足够了。多么顽固的老板。在此期间寻找更好的工作。祝好运。


12

再举一个例子。想象一下,您有两个变量,一个与吃巧克力有关,另一个与整体健康有关。您有两个样本,数据如下所示:

chocolateno happinessno chocolatehappiness

根据您的样本,巧克力与幸福之间的关系是什么?现在,更改其中一列的顺序-此操作后的关系是什么?

tNt

iXiY

请注意,有时我们实际上对更改案例的顺序感兴趣,而我们对重采样方法很感兴趣。例如,我们可以有意地对观察值进行多次改组,以便了解有关数据的空分布的信息(如果没有成对关系,数据的外观如何),接下来我们可以比较真实数据是否比随机数据更好。洗牌。您的经理所做的恰恰相反-他故意强迫观察结果具有人为的结构,而没有结构,这会导致虚假的相关性。


8

您的经理可能会理解的一个简单示例:

假设您有Coin Y和Coin X,并分别翻转了100次。然后,您要预测是否可以使用Coin X(IV)获得正面奖励,从而增加使用Coin Y(DV)获得正面评价的机会。

如果不进行排序,则关系将为零,因为Coin X的结果不应影响Coin Y的结果。通过排序,关系将近乎完美。

如果您刚刚用另一枚硬币掷了一个硬币,就可以得出这样一个结论:您很有可能在掷硬币时获得正面?


1
除了您所假设的一种货币,都需要翻译任何一种货币。(我知道这是一个微不足道的异议,并且很容易解决任何问题,但偶尔值得强调的是,这是一个国际论坛。)
Nick Cox

8

这种技术实际上是惊人的。我发现了我从未怀疑过的各种关系。例如,我不会怀疑Powerball彩票中显示的数字(是CLAIMED)是随机的,实际上与当天苹果股票的开盘价高度相关!伙计们,我认为我们将要大量赚钱。:)

> powerball_last_number = scan()
1: 69 66 64 53 65 68 63 64 57 69 40 68
13: 
Read 12 items
> #Nov. 18, 14, 11, 7, 4
> #Oct. 31, 28, 24, 21, 17, 14, 10
> #These are powerball dates.  Stock opening prices 
> #are on same or preceding day.
> 
> appl_stock_open = scan()
1: 115.76  115.20 116.26  121.11  123.13 
6: 120.99  116.93  116.70  114.00  111.78
11: 111.29  110.00
13: 
Read 12 items
> hold = lm(appl_stock_open ~ powerball_last_number)
> summary(hold)


Coefficients:
                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)           112.08555    9.45628  11.853 3.28e-07 ***
powerball_last_number   0.06451    0.15083   0.428    0.678    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.249 on 10 degrees of freedom
Multiple R-squared:  0.01796,   Adjusted R-squared:  -0.08024 
F-statistic: 0.1829 on 1 and 10 DF,  p-value: 0.6779

嗯,似乎没有什么关系。但是使用新的改进技术:

> 
> vastly_improved_regression = lm(sort(appl_stock_open)~sort(powerball_last_number))
> summary(vastly_improved_regression)

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                 91.34418    5.36136  17.038 1.02e-08 ***
sort(powerball_last_number)  0.39815    0.08551   4.656    9e-04 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.409 on 10 degrees of freedom
Multiple R-squared:  0.6843,    Adjusted R-squared:  0.6528 
F-statistic: 21.68 on 1 and 10 DF,  p-value: 0.0008998

注意:这并不意味着要进行认真的分析。只要向您的经理表明,如果对它们进行排序,它们就可以使两个变量显着相关。


6

这里有很多很好的反例。让我仅添加一段有关问题核心的段落。

XiYiXYiiX1Y1X2Y2XYX1Y1X1Y1

实际上,让我添加一个段落,说明为什么它也“起作用”。

XaXbXaXYaXzXYzYXaYaXzYzX1Y1


6

实际上,所描述的测试(即,分别对X值和Y值进行排序并相对于另一个进行回归)确实对某项进行了测试,假设(X,Y)是从双变量分布中作为独立对采样的。这并不是您的经理想要测试的测试。它实际上是在检查QQ图的线性,将Xs的边际分布与Ys的边际分布进行比较。特别是,如果Xs(f(x))的密度与Ys(g(y))的密度相关,则“数据”将接近直线:

f(x)=g((ya)/b)ab>0


4

奇怪的是,最显而易见的反例仍然没有以最简单的形式出现在答案中。

Y=X

Y^X

这是一种您可能会在这里找到的模式的“直接逆向”。


您能解释一下这是什么反例吗?
ub

经理宣称您可以通过对输入和输出进行独立排序来“始终获得更好的回归”。
KT。

R2=1

R2

1
R2Y=X

3

你是对的。您的经理会发现“好”结果!但是它们毫无意义。当您对它们进行独立排序时,您得到的是两者的增加或减少都类似,这给人的印象很像一个好的模型。但是,这两个变量已经脱离了它们的实际关系,并且该模型不正确。



2

我有一个简单的直觉,如果函数是单调的,为什么这实际上是一个好主意:

x1,x2,,xnxi<xi+1f:yi=f(xi)+εiεi

εi=f(xi+δ)f(xi)
δ{Δ,Δ+1,Δ1,Δ}ΔNΔ=0Δ=n

f

εi

PS:我感到很惊讶,一个看似简单的问题如何导致重新思考标准模型的有趣新方法。请老板谢谢!


1
xi+δi+δ<1i+δ>n

2

假设您在半径为5的圆上具有这些点。您可以计算相关性:

import pandas as pd
s1 = [(-5, 0), (-4, -3), (-4, 3), (-3, -4), (-3, 4), (0, 5), (0, -5), (3, -4), (3, 4), (4, -3), (4, 3), (5, 0)]
df1 = pd.DataFrame(s1, columns=["x", "y"])
print(df1.corr())

   x  y
x  1  0
y  0  1

然后,对x和y值进行排序,然后再次进行相关:

s2 = [(-5, -5), (-4, -4), (-4, -4), (-3, -3), (-3, -3), (0, 0), (0, 0), (3, 3), (3, 3), (4, 4), (4, 4), (5, 5)]
df2 = pd.DataFrame(s2, columns=["x", "y"])
print(df2.corr())

   x  y
x  1  1
y  1  1

通过这种操作,您可以将具有0.0相关性的数据集更改为具有1.0相关性的数据集。那是个问题。


1

让我在这里扮演魔鬼的代言人。我认为,许多答案已使人信服,证明老板的程序从根本上是错误的。同时,我提供了一个反例,说明了老板可能实际上看到了由于这种错误的转换而改善的结果。

我认为,承认此程序可能对老板“有效”的做法可能会引起更具说服力的争论:当然,它确实有效,但只有在通常不起作用的幸运情况下,这种做法才有效。然后,我们可以证明-就像在一个公认的出色答案中一样-当我们不幸运时,情况有多糟。多数时间是这样。孤立地看,显示了老板如何不好可以是可能无法说服他,因为他可能已经看到它的情况下,确实改善的事情,我们看中的参数必须某处有一个缺陷,和人物。

我在网上找到了这些数据,而且可以肯定的是,通过X和Y的独立排序可以改善回归,因为:a)数据高度正相关,并且b)OLS在极端(高)情况下的效果确实不佳-杠杆)离群值。身高和体重与包含异常值的相关性为0.19,不含异常值的相关性为0.77,X和Y独立排序的相关性为0.78。

x <- read.csv ("https://vincentarelbundock.github.io/Rdatasets/csv/car/Davis.csv", header=TRUE)

plot (weight ~ height, data=x)

lm1 <- lm (weight ~ height, data=x)

xx <- x
xx$weight <- sort (xx$weight)
xx$height <- sort (xx$height)

plot (weight ~ height, data=xx)

lm2 <- lm (weight ~ height, data=xx)

plot (weight ~ height, data=x)
abline (lm1)
abline (lm2, col="red")

在此处输入图片说明

plot (x$height, x$weight)
points (xx$height, xx$weight, col="red")

在此处输入图片说明

因此在我看来,该数据集上的回归模型通过独立排序得到了改善(第一张图中的黑色与红色线),并且存在可见的关系(第二张图中的黑色与红色线),这是由于特定的数据集与(独立)对x和y进行排序时发生的混洗相比,(正)相关性高(且具有正确的异常值)对回归的危害更大。

同样,不要说独立排序通常不会做任何明智的事情,也不是这里的正确答案。只是老板可能已经看到了这样的事情,恰好在适当的情况下起作用。


1
您似乎得出了相似的相关系数,这纯属巧合。该示例似乎并未展示任何有关原始数据和独立排序数据之间的关系的信息。
ub

2
@whuber:第二张图怎么样?在我看来,如果原始数据具有高度相关性,则对它们进行排序可能只会稍微改组值,基本上保持原始关系+/-。在几个离群值的情况下,事情会重新排列,但是...对不起,我没有数学上的突破。
韦恩

1
我认为您表达的直觉是正确的,韦恩。正如我所解释的那样,问题的逻辑关系到您仅凭排序变量的散点图可以对原始数据说些什么 答案是,绝对没有什么可以从它们各自的(单变量)分布中推断出来的。关键是第二个图表中的红点不仅与显示的数据一致,而且与这些数据的所有天文数字的其他大量排列也是一致的,而且您无法知道哪些排列是正确对象,真爱。
ub

2
@whuber我认为这里的主要区别是OP表示必须“完全销毁”数据。通常,您接受的答案将详细说明这种情况。您无法以这种方式处理数据,也不知道结果是否有意义。但是,经理以前可能已经处理过类似我的(反)示例的示例,并且发现这种误导的转换实际上可以改善结果,这也是事实。因此,我们可以同意,经理从根本上来说是错误的,但也可能很幸运-在幸运的情况下,它可以正常工作。
韦恩

@whuber:我已经对答案的引言进行了编辑,以使其与讨论相关。我认为,承认老板的程序可能对他有帮助,这可能是更具说服力的论点的第一步,这一论点与老板的经验格格不入。供您考虑。
韦恩

-7

如果他已将变量预先选择为单调,则实际上是相当可靠的。Google“线性模型不正确”和“ Robin Dawes”或“ Howard Wainer”。Dawes和Wainer讨论了选择系数的其他方法。约翰·库克(John Cook )上有一小段(http://www.johndcook.com/blog/2013/03/05/robustness-of-equal-weights/)。


4
Cook在该博客文章中讨论的内容与将x和y彼此独立排序,然后将回归模型拟合到排序后的变量不同。
gung

4
OP的老板所做的不是“用FInverse(G(x))预测yhat,其中F和G是Y和X的ecdf”。您可以在我的答案的代码中看到该过程。
gung

4
您能否1.添加对Dawes和/或Wainer的特定论文的引用,2.阐明它与老板的分类程序之间的关系?还是说只要系数的值无所谓,只要符号正确,并且假设假设符号正确就可以了,那么老板的程序给出系数的奇异值也没关系吗?
Juho Kokkala 2015年

2
1.参考:-Dawes,RM“决策中不正确的线性模型的强大美感”。阿米尔。Psychol。34号 7(1979):571。-Wainer,H.“线性模型中的估计系数:没关系。” 心理 公牛。83号 2(1976):213。-Dawes,RM和Corrigan,B.“决策中的线性模型”。心理 Bull。,81 95-106(1974)2. Dawes和Wainer均表明,有了真实的数据和真实的预测问题,从X预测未来Y且偏离其均值或通过匹配等级,效果很好。对斜坡不敏感。
比尔·雷诺

2
这些参考和解释会更好地回答您的问题,而不是掩盖评论。
Scortchi

-8

我考虑了一下,并认为这里有一些基于订单统计的结构。我检查了一下,似乎经理的mo听起来不那么疯狂

阶统计相关系数作为一种新颖的关联度量及其在生物信号分析中的应用

http://www.researchgate.net/profile/Weichao_Xu/publication/3320558_Order_Statistics_Correlation_Coefficient_as_a_Novel_Association_Measurement_With_Applications_to_Biosignal_Analysis/links/0912f507ed6f94a3c6000000.pdf

我们提出了一种基于阶跃统计和重排不等式的新型相关系数。拟议的系数代表了皮尔森线性系数和两个基于秩的系数(即斯皮尔曼的rho和肯德尔的tau)之间的折衷。理论推导表明,我们的系数具有与三个经典系数相同的基本特性。基于四个模型和六个生物信号的实验研究表明,在测量线性关联时,我们的系数比两个基于等级的系数表现更好;而它能够很好地检测单调非线性关联,例如两个基于秩的系数。大量的统计分析还表明,我们的新系数具有出色的抗噪鲁棒性,较小的偏差,


14
这不是问题的描述。当数据被订单统计信息替换时,数据仍然保持连接。该问题描述了一种破坏这些连接的操作,从而消除了有关其联合分布的所有信息。
ub

不必要。可能构造(或发生)独立排序不会破坏有关联合概率的所有信息的数据集。
丹尼尔(Daniel)

5
请给我们提供一个有关您的索赔的明确示例,因为很难看清这种事情在数学上是怎么可能的,而在实践中几乎不可能。
ub

@whuber:请看我的新答案,它有一个真实的数据集可以满足您的问题……我想。
韦恩
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.