Quelle est la complexité du calcul du coefficient de corrélation de rang de Spearman?

10

J'ai étudié le coefficient de corrélation de rang du Spearman

.ρ=je(Xje-X¯)(yje-y¯)je(Xje-X¯)2je(yje-y¯)2

pour deux listes et y 1 , , y n . Quelle est la complexité de l'algorithme?X1,,Xny1,,yn

Puisque l'algorithme doit simplement calculer soustractions, est-il possible d'être O ( n ) ?nO(n)

DavideChicco.it
la source

Réponses:

8

Vous devez calculer

  • deux moyennes,
  • différences,2n
  • trois sommes avec sommets - qui peuvent être calculés en temps constant - chacun etn
  • une division, une multiplication et une racine carrée.

O(n)

Concernant l'espace, vous avez plusieurs options:

  • O(JournalM)M6n
  • 2n+2O(nJournalM)4n

Ce qui est préférable dépend de votre contexte.

Raphael
la source
6

Vous avez omis une étape importante ... La formule que vous avez est pour la corrélation de Pearson. Ce qui en fait le lanceur, c'est que x et y sont les rangs des deux variables d'origine. Cette étape de classement doit être prise en compte pour la complexité du coefficient de corrélation du lancier. Essentiellement, vous devez trier chacune des deux variables, qui dépendra de votre algorithme de tri choisi, suivi du calcul mentionné ci-dessus.

Derek McCrae Norton
la source