Qual è la complessità del calcolo del coefficiente di correlazione dei ranghi di Spearman?


10

Ho studiato il coefficiente di correlazione dei ranghi di Spearman

.ρ=Σio(Xio-X¯)(yio-y¯)Σio(Xio-X¯)2Σio(yio-y¯)2

per due elenchi e . Qual è la complessitàX1,...,Xny1,...,yn dell'algoritmo?

Dato che l'algoritmo dovrebbe solo calcolare sottrazioni, è possibile essere ?nO(n)

Risposte:


8

Devi calcolare

  • due medie,
  • 2n differenze,
  • n somme - che possono essere calcolate in tempo costante - ciascuna e
  • una divisione, una moltiplicazione e una radice quadrata.

O(n) calcolo della radice potrebbe rovinare tutto.

Per quanto riguarda lo spazio, hai diverse opzioni:

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

Ciò che è preferibile dipende dal tuo contesto.


6

Hai tralasciato un passaggio importante ... La formula che hai è per la correlazione di Pearson. Ciò che lo rende spearman è che xey sono i ranghi delle due variabili originali. Questa fase di classificazione deve essere presa in considerazione per la complessità del coefficiente di correlazione di Spearman. In sostanza, è necessario ordinare ciascuna delle due variabili, che dipenderà dall'algoritmo di ordinamento scelto, seguito dal calcolo di cui sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.