lehrkraefte:ks:ffstat2324

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:ks:ffstat2324 [2024/03/22 15:28]
Simon Knaus
lehrkraefte:ks:ffstat2324 [2024/05/03 17:47] (current)
Simon Knaus
Line 1: Line 1:
 +==== Lektion 07 ====
 +=== Ziele === 
 +  * Jede/r kann einen Scatterplot von zwei Datenreihen / Merkmalen erstellen
 +  * Jede/r kann die Korrelation von zwei Datenreihen / Merkmalen berechnen
 +  * Jede/r kann die Korrelation interpretieren und die Masszahl Punktewolken aus dem Scatterplot zuordnen.
 +  * Erste Ideen für ein eigenes Projekt.
 +
 +=== Auträge ===
 +  * Lies die Theorie unten durch.
 +  * Korrelation im Auto-Datensatz
 +    * Wähle ein BMW-Modell und erstelle eine Scatterplott, wobei der Preis auf der $y$-Achse ist und eine erklärende Variable auf der $x$-Achse ist. Was wären sinnvolle Variablen für die $x$-Achse, für welche du einen Zusammenhang mit dem Autopreis vermutest?
 +    * Berechne die Korrelation und das Bestimmtheitsmass für die gewählten Variablen.
 +    * //Optional//: Berechne die Korrelation mit der Formeln unten (anstatt ''cor''). 
 +
 +    * Welche Korrelationen (Vorzeichen und Stärke) vermutest du im Datensatz? Welche zwei Variablen sind jeweils wie korreliert?
 +  * Schau dir die Webseite {{https://tylervigen.com/spurious-correlations|Tylver Vigen}} an: Wähl dir das widersinnigste Beispiel. Gibt es eine Erklärung dafür? 
 +=== Theorie === 
 +Wird ein Zusammenhang zwischen zwei kardinalen Merkmalen vermutet, sollte als erstes ein sogenannter Scatterplot erstellt werden. Zu diesem Zweck, wird das eine Merkmal auf der $x$-Achse und das andere Merkmal auf der $y$-Achse abgetragen.
 +
 +{{ :lehrkraefte:ks:ffstat17:corr01.png?nolink&400 |}}
 +
 +Nun gibt es ein Mass für diesen Zusammenhang: Die Stärke wie auch die Richtung des Zusammenhangs der Mermkale $X$ und $Y$, $R_{xy}$, wird mit der Korrelation gemessen:
 +$$R_{xy}=\frac{\sum\limits_{i=1}^n (x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum\limits_{i=1}^n (x_i-\bar{x})^2 \sum\limits_{i=1}^n (y_i-\bar{y})^2}}$$
 +Die Korrelation nimmt nur Werte zwischen $-1$ und $1$ an. In Excel wie auch in R sind Funktionen zur Berechnung der Korrelation hinterlegt. Wichtig dabei ist zu beachten, dass die Korrelation nur einen **linearen Zusammenhang** misst:
 +
 +{{ :lehrkraefte:ks:ffstat17:correx2.png?nolink |}}
 +Möchte man die Stärke der Korrelation messen, quadriert man $R_{xy}$ zur $R^2=R_{xy}^2$. Man spricht von einem **<<starken Zusammenhang>>** wenn **$0.5\leq R^2\leq 1$** ist, von einem **<<moderaten Zusammenhang>>** wenn **$0.25\leq R^2 < 0.5$** ist, und schliesslich von einem **<<schwachen Zusammenhang>>** wenn **$0.1\leq R^2<0.25$** ist. Ist schliesslich $R^2$ kleiner so liegt kein Zusammenhang vor. $R^2$ wird auch **Bestimmtheismass** genannt.
 +
 +Zusammenfassend kann gesagt werden, dass Richtung und Stärke eines linearen Zusammenhangs gemessen werden kann:
 +
 +  * **Richtung:** Eine positive Korrelation beschreibt eine <<je-mehr-desto-mehr>> Beziehung, eine negative Korrelation beschreibt eine <<je-weniger-desto-mehr>> Beziehung.
 +  * **Stärke:** Um nur eine Aussage über die Stärke des Zusammenhangs unabhängig der Richtung zu machen, verwendet man das Bestimmtheitsmass $R^2$, die quadrierte Korrelation. 
 +
 +=== Korrelation und Kausalität ===
 +Auch wenn $R^2$ sehr gross ist, muss das nicht heissen, dass in Tat und Wahrheit wirklich ein Zusammenhang dieser beiden Variablen vorliegt. Es kann durchaus sein, dass die Korrelation zufällig zu Stande gekommen ist. Man spricht dann auch von **Scheinkorrelation** oder in Englisch von **spurious correlation**.
 +
 +Kausalität in diesem Zusammenhang besagt, dass ein Merkmal ein anderes bedingt: So ist zum Beispiel bei der Thematik Schuhgrösse und Körpergrösse wirklich davon auszugehen, dass ein kausaler Zusammenhang besteht. 
 +
 +=== Umsetzung in R ===
 +In R können Scatterplots mit ''plot'' erstellt werden:
 +<code R plot.r>
 +x <- c(2,3,7,10)
 +y <- c(7,1,2,30)
 +plot(x, y, main="Title")
 +</code>
 +<hidden Optional: Funktionen zeichnen>
 +Mit dem gleichen Befehl könnten auch Funktionen gezeichnet werden:
 +<code R plot.r>
 +x <- seq(-3,3, by = 0.1)
 +y <- x^2
 +plot(x, y, main="Parabel")
 +plot(x, y, main="Parabel",type="l")
 +plot(x, y, main="Parabel",type="h")
 +</code>
 +</hidden>
 +
 +Die Korrelation kann mit ''cor'' berechnet werden:
 +<code R plot.r>
 +x <- c(2,3,7,10)
 +y <- c(7,1,2,30)
 +R <- cor(x,y)
 +R
 +R^2
 +</code>
 +
 +<hidden Optional: Manuelle Umsetzung>
 +In R werden Vektoren Element für Element multipliziert: Der Nenner könnte also wie folgt berechnet werden:
 +<code> 
 +x <- c(2,3,7,10)
 +y <- c(7,1,2,30)
 +x-mean(x)
 +(x-mean(x))*(y-mean(y))
 +sum((x-mean(x))*(y-mean(y)))
 +</code>
 +</hidden>
 +
 +
 +
 +
 +=== Korrelationen BMW Datensatz nach Modell ===
 +{{ :lehrkraefte:ks:ffstat17:corrbmw.png?nolink |}}
 +<hidden R-Code>
 +<code correlation_plot.R>
 +library(corrplot)
 +png("C:/temp/corrbmw.png",width=300,height=1500)
 +par(mfrow=c(2,3))
 +for(mod in sort(unique(bmw$model))){
 +  tbmw = subset(bmw,model==mod)
 +  corbmw <- tbmw[,sapply(tbmw,is.numeric) & sapply(tbmw,function(inv){sd(inv,na.rm=T)>0})]
 +  corrplot(cor(corbmw,use="pairw"),main=mod,mar=c(0,0,1,0))  
 +}
 +dev.off()
 +</code>
 +</hidden>
 +
 +
 +==== Lektion 06 ====
 +=== Ziele ===
 +  * Lorenzkurve kennen, <<herstellen>> und interpretieren können.
 +  * Gini-Koeffizient kennen und interpretieren können.
 +  * Erste Ideen eines eigenen Projekts generieren
 +
 +=== Aufträge === 
 +  * Theorie Lorenzkurve lesen
 +  * Beispiel mit Hilfe der {{lehrkraefte:ks:ffstat2324:lorenz_kurve.xlsx|Excel-Datei}} zur Lorenzkurve erstellen, die maximal ungleich verteilt sind resp. gleich verteilt sind.
 +  * Wahlweise:
 +    * Eigenen R Code schreiben
 +    * Gini und Lorenzkurve weiter vertiefen mit
 +      * {{https://www.fuw.ch/article/die-lorenz-kurve-und-der-gini-koeffizient/|Artikel zur Lorenzkurve}} lesen und Seiten 14-16 in {{lehrkraefte:ks:ffstat2324:stadt_zurich_memi_2015_10_29.pdf|Lohnreport der Stadt Zürich}} betrachten. Überrascht die Grafik? Wie sähe die Verteilung in der Stadt St. Gallen aus? Unglücklicherweise sind die gleichen Daten weder für St. Gallen noch jährlich verfügbar.
 +      * Auf der {{https://data.oecd.org/inequality/income-inequality.htm|OECD-Webseite}} können verschiedene Merkmale zur Einkommensverteilung über die Zeit (Schiebregler unten rechts) für verschiedene Länder betrachtet werden. Suche dir ein Land, dessen Gini-Koeffizient sich in den letzten Jahren stark verändert hat. Was könnte eine Geschichte dazu sein?
 +      * Überlege dir alternative Masse, um Konzentration resp. Ungleichverteilung (im Einkommenskontext) zu messen.
 +      
 +  * Besprich mit deinem/r Nachbar:in Ideen für eine eigene Projekte, welche untersucht werden könnte und halte diese [[https://padlet.com/simon_knaus2/eigene-projekte-ui3xmrp370et2n43|hier]] fest.
 +
 +
 +=== Theorie ===
 +
 +Auf Grund der Lorenzkurve kann ausgesagt werden, wie stark die Merkmale (resp. deren Ausprägung) konzentriert sind (ein **Konzentrationsmass**). Das klassische Beispiel dabei ist die Einkommenverteilung. Die Frage, die dabei gestellt, resp. beantwortet wird, ist "Wie viel Prozent der Leute (Köpfe) verdienen wie viel Prozent des Gesamteinkommens?>>
 +
 +^Einkommen ^Anzahl Personen ^Kumululierte relative Anzahl ^Einkommenssumme ^Kumululierte relative Einkommenssumme|
 +|2317| 10| 0.20| 23'170| 0.17|
 +|2552| 11| 0.42| 28'072 | 0.37|
 +|2787| 14| 0.70| 39'018| 0.65|
 +|3022| 8| 0.86| 24'176| 0.83|
 +|3257| 3| 0.92| 9'771| 0.90|
 +|3492| 4| 1.00| 13'968| 1.00|
 +|^Total| 50| 138'175||
 +
 +Zeichnet man nun die Punkte $(\text{Kumulierte relative Anzahl},\text{Kumulierte relative Einkommenssumme})=(x,y)$ und verbindet diese, erhält man die **Lorenzkurve**:
 +{{ :lehrkraefte:ks:lorenzkurve.png?400 |}}
 +
 +----
 +Zwischenfrage: Wo würden die Punkte liegen, wenn alle gleich viel verdienen würden?
 +<hidden Lösung>
 +Würden alle gleich viel verdienen, lägen die Punkte auf der Winkelhalbierenden.
 +</hidden>
 +
 +----
 +=== Beispiele === 
 +
 +Als Mass der Ungleichverteilung verwendet nun die Fläche, welche die Lorenzkurve mit der Winkelhalbierenden einschliesst. Diese Fläche nennt man auch **Gini--Koeffizient**
 +
 +{{ :lehrkraefte:ks:ffstat17:theorem_lorenzkurve_13.12._pm-600x490_1_.jpg?direct |Gini-Koeffizient. Quelle: https://www.fuw.ch/wp-content/uploads/2015/01/}}
 +
 +Als Beispiel für die Lorenzkurve wiederum die 5 BMW Modelle und ihre Preise. Achtung: Es handelt sich dabei nicht um ein Einkommen!
 +{{ :lehrkraefte:ks:ffstat17:lorenz_bmw.png?direct |}}
 +
 +Die Lorenzkurve macht im Allgemeinen nur Sinn für Merkmale, mit positiven Werten (Preis, Einkommen, etc.)
 +=== Umsetzung in R ===
 +In R kann die Lorenzkurve ebenfalls umgesetzt werden. Wichtig sind dabei folgende Funktionen
 +  * ''sort''
 +  * ''cumsum'' und ''sum''
 +  * ''length'' 
 +  * ''plot'' mit ''plot(xwerte,ywerte)'' kannst du einen Scatterplot mit erstellen.
 +
 +Versuche mit den Funktionen oben, die richtigen $x$- und $y$-Werte zu erstellen und diese an anschliessend zu zeichnen.
 +
 +Versuche zuerst mit <<Dummy>>-Date, dann kannst du dich um die Funktion kümmern, ohne die Daten einzulesen.
 +<code R>
 +dummydata <- c(70, 40, 70, 50, 30, 80, 90, 90, 40, 80, 40, 20, 40, 10, 
 +40, 60, 100, 30, 30, 70, 50, 70, 50, 40, 70, 60, 90, 50, 90)
 +xwerte <- ...
 +ywerte <- ...
 +
 +plot(xwerte,ywerte)
 +</code>
 +
 +
 +
 +
 +<hidden Lösung als R Code>
 +<code R>
 +computeLorenzCurve <- function(x, plot = T) {
 +    nobs <- length(x)
 +    sortedx <- sort(x)
 +    abscissa <- (1:nobs)/nobs
 +    ordinate <- cumsum(sort(x))/sum(x)
 +    
 +    if (plot) {
 +        plot(ordinate, abscissa, main = "Lorenzkurve")
 +        abline(a = 0, b = 1)
 +    }
 +    
 +    return(cbind(abscissa, ordinate))
 +}
 +</code>
 +</hidden>
 ==== Lektion 05 ==== ==== Lektion 05 ====
 === Ziele ===  === Ziele === 
Line 9: Line 196:
     * Einen Boxplot von Hand der Daten 9, 6, 7, 7, 3, 9, 10, 1, 8, 7, 9, 9, 8, 10, 5, 10, 10, 9, 10, 8 erstellen.      * Einen Boxplot von Hand der Daten 9, 6, 7, 7, 3, 9, 10, 1, 8, 7, 9, 9, 8, 10, 5, 10, 10, 9, 10, 8 erstellen. 
     * Einen Boxplot von Hand (mit Hilfe R ''median'', ''quantile'' etc.) der Preise von einem BMW Modell (X1 bis X5) erstellen.      * Einen Boxplot von Hand (mit Hilfe R ''median'', ''quantile'' etc.) der Preise von einem BMW Modell (X1 bis X5) erstellen. 
-    * Einen Boxplot mit R (automatisch mit z.B. ''boxlplot(cardata$preise)'') erstellen.+    * Einen Boxplot mit R (automatisch mit z.B. ''boxplot(cardata$preise)'') erstellen. Boxplots können in R auch entlang verschiedener nominaler Variablen erstellt werden: Dazu muss einfach eine Tilde ''~'' eingefügt werden, z.B. ''boxplot(cardata$preis~cardata$model)''.
     * Die BMW Boxplots den BMW Histogrammen zuordnen (auf Papier vorne)     * Die BMW Boxplots den BMW Histogrammen zuordnen (auf Papier vorne)
     * Die BMW Mittelwerte, Standardabweichungen, IQA, Median und $Q_{30\%}$ den Histogrammen und Boxplots auf zuordnen.     * Die BMW Mittelwerte, Standardabweichungen, IQA, Median und $Q_{30\%}$ den Histogrammen und Boxplots auf zuordnen.
Line 21: Line 208:
 </WRAP> </WRAP>
 Ein Boxplot besteht aus einer Box, welche durch das erste und dritte Quartil ($Q_{25\%}$ und $Q_{75\%}$) begrenzt ist. Damit liegen $50\%$ der Daten in der Box. Der mittige Strich ist der Median ($q_{50\%}$), die Whiskers (Antennen oder Schnäuze) sind $w_1=Q_{50\%}-1.5\cdot IQA$ und $w_2=Q_{50\%}+1.5\cdot IQA$. $w_1$ und $w_2$ sind dabei zum Teil auch durch den grössten (resp. kleinsten für $w_1$) Wert eines Datenpunktes ersetzt, welcher gerade noch kleiner (resp. grösser für $w_1$) ist als $w_2$. Die Whiskers sind dann nicht symmetrisch. Die Punkte, die ausserhalb der Whiskers liegen, nennt man **Outlier** oder **Ausreisser**. Man kann zeigen, dass bei [[https://de.wikipedia.org/wiki/Normalverteilung|normalverteilten]] Daten, ca. $95\%$ der Beobachtungen innerhalb der beiden Whiskers zu liegen kommen. Ein Boxplot besteht aus einer Box, welche durch das erste und dritte Quartil ($Q_{25\%}$ und $Q_{75\%}$) begrenzt ist. Damit liegen $50\%$ der Daten in der Box. Der mittige Strich ist der Median ($q_{50\%}$), die Whiskers (Antennen oder Schnäuze) sind $w_1=Q_{50\%}-1.5\cdot IQA$ und $w_2=Q_{50\%}+1.5\cdot IQA$. $w_1$ und $w_2$ sind dabei zum Teil auch durch den grössten (resp. kleinsten für $w_1$) Wert eines Datenpunktes ersetzt, welcher gerade noch kleiner (resp. grösser für $w_1$) ist als $w_2$. Die Whiskers sind dann nicht symmetrisch. Die Punkte, die ausserhalb der Whiskers liegen, nennt man **Outlier** oder **Ausreisser**. Man kann zeigen, dass bei [[https://de.wikipedia.org/wiki/Normalverteilung|normalverteilten]] Daten, ca. $95\%$ der Beobachtungen innerhalb der beiden Whiskers zu liegen kommen.
-<!-- 
  
-=== Lösungen: Boxplot der Preise nach Modell === 
- 
-{{ :lehrkraefte:ks:hist1.png?direct |}} 
- 
-{{ :lehrkraefte:ks:hist2.png?direct |}} 
---> 
  
 # x1  # x1 
Line 66: Line 246:
    * Standardabweichung:  25544.2     * Standardabweichung:  25544.2 
  
 +
 +=== Lösungen: Boxplot der Preise nach Modell ===
 +<hidden>
 +{{ :lehrkraefte:ks:hist1.png?direct |}}
 +
 +{{ :lehrkraefte:ks:hist2.png?direct |}}
 +</hidden>
  
 <!-- <!--
Line 74: Line 261:
 === Anwendungen Boxplot === === Anwendungen Boxplot ===
 Löhne in der Stadt Zürich Löhne in der Stadt Zürich
-      *  {{lehrkraefte:ks:2015-11-12_statistik-um-12_loehne-in-der-stadt-zuerich1.pdf|Lohnreport der Stadt Zürich}} Herunterladen.  +      * {{lehrkraefte:ks:2015-11-12_statistik-um-12_loehne-in-der-stadt-zuerich1.pdf|Lohnreport der Stadt Zürich}} herunterladen.  
-      * Insb. Seiten 13 bis 15: Überrascht diese Verteilung?+      * Insb. Seiten 14 bis 15: Überrascht diese Verteilung (Histogramm)?
       * Welche Grafiken / Methoden sind aus dem Freifach bekannt?       * Welche Grafiken / Methoden sind aus dem Freifach bekannt?
       * Gibt es irgeneine Graphik im Lohnreport, welche nicht klar ist?       * Gibt es irgeneine Graphik im Lohnreport, welche nicht klar ist?
 +      * Die {{lehrkraefte:ks:ffstat2324:stadt_zurich_memi_2015_10_29.pdf|Medienmitteilug}} dazu hatte als Titel "Gute Ausbildung lohnt sich". Teilst du diese Meinung nach Studium des Lohnreports?
 +      * Im darauffolgenden Jahr wurde noch die {{lehrkraefte:ks:ffstat2324:ktzh_00000259_00001300.pdf|Löhne von Männern und Frauen}} untersucht. Was beobachtest du?
       * Wie würde der Lohnreport der Stadt St. Gallen aussehen?       * Wie würde der Lohnreport der Stadt St. Gallen aussehen?
 ==== Lektion 04 ==== ==== Lektion 04 ====
  • lehrkraefte/ks/ffstat2324.1711117737.txt.gz
  • Last modified: 2024/03/22 15:28
  • by Simon Knaus