import-Befehle¶

In [38]:
import pandas as pd               # zum Einlesen und Verarbeiten der Excel-Datei
import matplotlib.pyplot as plt   # für das Streudiagramm
import numpy as np                # für die Regressionslinie
from scipy.stats import spearmanr # für den Spearman-Rangkorrelationstest
import researchpy as rp           # für die deskriptive Statistik 
In [39]:
# Daten einlesen
spearman = pd.read_excel("spearman.xlsx")

Hypothese¶

H1: Es gibt einen Zusammenhang zwischen Shopping und Einkommen in 1000 Euro.

H0: Es gibt keinen Zusammenhang zwischen Shopping und Einkommen in 1000 Euro.

Voraussetzungen¶

Die Variablen sind mindestens ordinalskaliert. <- liegt vor.

Grafische Veranschaulichung des Zusammenhangs (Streudiagramm)¶

Um visuell zu prüfen, ob ein linearer Zusammenhang vorliegen könnte, empfiehlt es sich vorab ein Streudiagramm erstellen.

Es gibt viele Wege, die nach Rom führen. Weitere Modelle sind unter Pearson oder unter Streudiagramm zu finden.

In [40]:
#import pandas as pd
#import matplotlib.pyplot as plt
#from scipy.stats import spearmanr


# Streudiagramm mit Regressionslinie
plt.scatter(spearman["Shopping"], spearman["Einkommen"])
plt.xlabel("Shopping pro Monat")
plt.ylabel("Einkommen in 1000 Euro pro Jahr Brutto")
plt.title("Streudiagramm zwischen Shopping und Einkommen")

# Regressionslinie (optional)
import numpy as np
m, b = np.polyfit(spearman["Shopping"], spearman["Einkommen"], 1)
plt.plot(spearman["Shopping"], m * spearman["Shopping"] + b, color="red")
plt.show()

# Spearman-Rangkorrelation
corr, p_value = spearmanr(spearman["Shopping"], spearman["Einkommen"])
print(f"Spearman-Rangkorrelation: {corr:.3f}, p-Wert: {p_value:.4f}")
No description has been provided for this image
Spearman-Rangkorrelation: 0.643, p-Wert: 0.0240

Das Streudiagramm in Abbildung zeigt eine tendenziell positive lineare Beziehung zwischen den beiden Variablen. Das heisst, die beiden Variablen korrelieren vermutlich. Da die Korrelationsanalyse einen ungerichteten Zusammenhang untersucht, lässt er sich auf zwei Weisen ausformulieren: Je höher der Shoppingverhalten, desto höher das Einkommen; oder Je höher das Einkommen, desto höher das Shoppingverhalten.

Deskriptive Statistik¶

In [ ]:
#import researchpy as rp

# Deskriptive Statistik wie in R psych::describe()
rp.summary_cont(spearman[["Shopping", "Einkommen"]])
 
In [42]:
spearman[["Shopping", "Einkommen"]].agg(["count", "mean", "std", "min", "median", "max"])
Out[42]:
Shopping Einkommen
count 12.000000 12.000000
mean 4.683333 62.083333
std 2.081884 13.372008
min 1.400000 42.000000
median 4.350000 59.000000
max 9.200000 84.000000

Für die deskriptive Auswertung schauen wir den Median und die Anzahl der Daten an. Die Teilnehmer dieser Stichprobe sind 4.35 pro Monat shoppen (N= 12) gewesen und verdienen Brutto pro Jahr 59.000 Euro (N = 12).

Ergebnisse der Korrelationsanalyse¶

In [43]:
# Spearman-Rangkorrelation
corr, p_value = spearmanr(spearman["Shopping"], spearman["Einkommen"])
print(f"Spearman-Rangkorrelation: {corr:.3f}, p-Wert: {p_value:.4f}")
Spearman-Rangkorrelation: 0.643, p-Wert: 0.0240

Der R-Output in Abbildung gibt den Korrelationskoeffizienten sowie den p-Wert (Signifikanz) wieder. Es wird ersichtlich, dass ein Zusammenhang vorliegt zwischen Shopping und Einkommen (r = .6433 p = .0279, n = 12). Da r einen positiven Wert aufweist, kann von einem positiven linearen und signifikanter Zusammenhang zwischen Shopping und Einkommen ausgegangen werden. Das bedeutet: Je höher das Einkommen, desto öfters gehen die Teilnehmer shoppen.

Hinweis: Aus der deskriptive Statistik kannst die Anzahl der Datensatze entnehmen.

Berechnung des Bestimmtheitsmaßes¶

Aus der Korrelation lässt sich durch Quadrieren das Bestimmtheitsmass berechnen:

$ Bestimmtheitsmaß = r^2 \cdot 100 = 0{,}643^2 \cdot 100 = 41{,}39\%$

In [44]:
# Bestimmtheitsmaß berechnen
r_squared = (corr ** 2) * 100
print(f"Das Bestimmtheitsmaß liegt bei {r_squared:.2f} %.")  
Das Bestimmtheitsmaß liegt bei 41.39 %.

Wird dieser Wert mit 100 multipliziert, so ergibt sich ein Prozentwert. Dieser gibt an, welcher Anteil der Varianz in beiden Variablen durch gemeinsame Varianzanteile determiniert wird. Für das vorliegende Beispiel beträgt der Anteil der gemeinsamen Varianz 41.39%.

Berechnung der Effektstärke¶

Um die Bedeutsamkeit eines Ergebnisses zu beurteilen, werden Effektstärken berechnet. Im Beispiel ist die Korrelation der beiden Variablen signifikant, doch es stellt sich die Frage, ob der Zusammenhang gross genug ist, um ihn als bedeutend einzustufen. Der Korrelationskoeffizient r von Spearman ist ein Mass für die Effektstärke.

Um zu bestimmen, wie gross der gefundene Zusammenhang ist, kann man sich an der Einteilung von Cohen (1992) orientieren:

\begin{align} \text{Schwacher Effekt: } 0.10 &< ||r|| < 0.30 \\ \text{Schwacher bis mittlerer Effekt: } 0.30 &= ||r|| \\ \text{Mittlerer Effekt: } 0.30 &< ||r|| < 0.50 \\ \text{Mittlerer bis starker Effekt: }0.50 &= ||r|| \\ \text{Starker Effekt: } 0.50 &< ||r|| \end{align}

In [45]:
r = corr

print(f"Die Effektstärke liegt bei {r:.3f}.")
Die Effektstärke liegt bei 0.643.

Damit entspricht ein Korrelationskoeffizient von .6433 einem starken Effekt.

Aussage¶

Das Shopping und das Einkommen korrelieren signifikant (r = .6433 p = .0279, n = 12). Je höher das Einkommen, desto öfters waren die Teilnehmer shoppen. 41.39% der Streuung der gemeinsamen Varianz kann durch Shopping und Einkommen erklärt werden. Dabei handelt es sich nach Cohen (1992) um einen starken Effekt. H0 kann verworfen werden.