[PYTHON] Berechnung des Spearman-Rangkorrelationskoeffizienten

Was ist der Spear Maman Rangkorrelationskoeffizient?

Ein Index, der die Korrelation zwischen zwei Rangdaten zeigt. Einzelheiten entnehmen Sie bitte der unten stehenden URL. Wiki: [Spearman-Rangkorrelationskoeffizient](https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%94%E3%82%A2%E3%83%9E%E3%83 % B3% E3% 81% AE% E9% A0% 86% E4% BD% 8D% E7% 9B% B8% E9% 96% A2% E4% BF% 82% E6% 95% B0) Toki no Mori Wiki: [Spearman-Rangkorrelationskoeffizient](http://ibisforest.org/index.php?Spearman%E9%A0%86%E4%BD%8D%E7%9B%B8%E9%96%A2 % E4% BF% 82% E6% 95% B0)

Es gibt verschiedene Formeln, aber dieses Mal werden wir diese Formel verwenden.

式

Ich denke auch, dass Sie die unter der folgenden URL verwenden sollten, um die Antworten des erstellten Programms abzugleichen. Der Rangkorrelationskoeffizient ist berühmt. Wenn Sie ihn also nachschlagen, können Sie andere Stichproben finden. Einführung in die Rangkorrelationskoeffizientenstatistik von Spearman

Berechnungsprogramm

spearman.py


def spearman(list_a, list_b):
    N = len(list_a)                                                          
    return 1 - ((6 * sum(map(lambda a, b: (a - b) ** 2, \
    list_a, list_b) / float(N ** 3 - N) )

Sie können einfach so rechnen. Das Argument "Liste" erzeugt eine Folge von Zahlen wie [1,2,3 ...]. Normalerweise können Sie eine Liste mit zwei Sequenzen erstellen und diese mit "zip" übergeben. Wenn Sie numpy verwenden, wird der Teil der Einschlussnotation entfernt und vereinfacht.

spearman_numpy.py


import numpy
def spearman(array_a, array_b):
    N = len(array_a)
    return 1 - (6 * sum((array_a - array_b) ** 2))  / float(N**3 - N)

Da ein Fehler aufgetreten ist, habe ich den Kommentar von owdowt reflektiert. Vielen Dank. [Korrekturdatum: 19.02.26]

Dieser ist einfacher und besser. Das Argument erstellt eine Sequenz wie "numpy.array ([1,2,3 ...])". Wenn Sie eine Zahlenfolge in Python verwenden, ist es besser, numpy zu verwenden.

Ausnahmebehandlung

Ich habe diesmal nichts gegen die Ausnahmebehandlung unternommen. Wenn die Zahlen dieselbe Reihenfolge haben, unterscheidet sich die Berechnungsformel. Lesen Sie daher die zu Beginn eingegebene URL.

Recommended Posts

Berechnung des Spearman-Rangkorrelationskoeffizienten
[Python] Berechnung des Kappa (k) -Koeffizienten
[Python] Berechnung der Bildähnlichkeit (Würfelkoeffizient)
Zeitvergleich: Berechnung des Korrelationskoeffizienten in Python
Überdenken Sie den Korrelationskoeffizienten
[Einführung in Scipy] Berechnung der Lorenzkurve und des Gini-Koeffizienten ♬
Berechnung der Ähnlichkeit durch MinHash
Über die Kostenberechnung von MeCab