Vielleicht habe ich einen Fehler gemacht. Wenn ja, tut mir leid, das zu fragen.
Ich möchte Pearsons Korrelationskoeffizienten berechnen, indem ich die pearsonr-Funktion von scipy verwende .
%Vor%Ich erhalte einen Fehler unterhalb von
Der Grund, warum ich einen Fehler erhalte, ist E [X] = 4 (Freigestellter Wert von X ist 4)
Ich sehe den Code der Funktion pearsonr in scpy.stats.stats.py. Ein Teil der Pearsonr-Funktion ist wie folgt.
%Vor% Am Ende gibt pearsonr
(nan, 1.0)
Sollte pearsonr
return (0, 1.0)
?
Ich denke, wenn ein Vektor für jede Zeile / Spalte denselben Wert hat, sollte die Kovarianz Null sein. Daher sollte der Korrelationskoeffizient von Pearson durch die Definition von PCC ebenfalls Null sein.
Pearsons Korrelationskoeffizient zwischen zwei Variablen ist definiert als die
Kovarianz der beiden Variablen dividiert durch das Produkt ihrer Standardabweichungen .
Ist es ein Fehler oder wo mache ich einen Fehler?
Pearsons Korrelationskoeffizient zwischen zwei Variablen ist definiert als die Kovarianz der beiden Variablen dividiert durch das Produkt ihrer Standardabweichungen.
Es ist also die Kovarianz über
[4, 5, 5, 4, 4, 4]
mal [4, 4, 4, 4, 4, 4]
. Die Standardabweichung von [4, 4, 4, 4, 4, 4]
ist Null.
Es ist also die Kovarianz über
[4, 5, 5, 4, 4, 4]
mal Es ist also die Kovarianz über
Alles, was durch Null geteilt wird, ist nan
. Der Wert der Kovarianz ist irrelevant .
Tags und Links python scipy correlation