¿Cuál es la complejidad del cálculo del coeficiente de correlación de rango de Spearman?

10

He estado estudiando el coeficiente de correlación de rango de Spearman

.ρ=i(xix¯)(yiy¯)i(xix¯)2i(yiy¯)2

para dos listas e y 1 , ... , y n . ¿Cuál es la complejidad del algoritmo?x1,,xny1,,yn

Dado que el algoritmo solo debe calcular sustracciones, ¿es posible ser O ( n ) ?nO(n)

DavideChicco.it
fuente

Respuestas:

8

Tienes que calcular

  • dos promedios
  • diferencias,2n
  • tres sumas con sumandos, que se pueden calcular en tiempo constante, cada una yn
  • una división, una multiplicación y una raíz cuadrada.

O(n)

En cuanto al espacio, tienes varias opciones:

  • O(logM)M6n
  • 2n+2O(nlogM)4n

Lo que es preferible depende de su contexto.

Rafael
fuente
6

Has omitido un paso importante ... La fórmula que tienes es para la correlación de Pearson. Lo que lo convierte en lancero es que x e y son los rangos de las dos variables originales. Este paso de clasificación debe tenerse en cuenta para la complejidad del coeficiente de correlación de Spearman. Esencialmente, debe ordenar cada una de las dos variables, que dependerán de su algoritmo de clasificación elegido, seguido del cálculo mencionado anteriormente.

Derek McCrae Norton
fuente