Skip to main content

Multiple Regression in R

  • Chapter
  • First Online:
Parametrische Statistik

Part of the book series: Statistik und ihre Anwendungen ((STATIST))

  • 8438 Accesses

Zusammenfassung

Dieses Kapitel setzt Kapitel 15 in R um. Wichtig ist die Visualisierung in der multiplen Regression, so dass wir statistische Interaktionen besser verstehen können. Weiterhin werden verschiedene Methoden der Modellselektion vorgestellt und am konkreten Beispiel kritisch hinterfragt.

I wish to perform brain surgery this afternoon at 4pm and don’t know where to start. My background is the history of great statistician sports legends but I am willing to learn. I know there are courses and numerous books on brain surgery but I don’t have the time for those. Please direct me to the appropriate HowTos, and be on standby for solving any problem I may encounter while in the operating room. Some of you might ask for specifics of the case, but that would require my following the posting guide and spending even more time than I am already taking to write this note.I. Ben Fooled (aka Frank Harrell)

I wish to perform brain surgery this afternoon at 4pm and don’t know where to start. My background is the history of great statistician sports legends but I am willing to learn. I know there are courses and numerous books on brain surgery but I don’t have the time for those. Please direct me to the appropriate HowTos, and be on standby for solving any problem I may encounter while in the operating room. Some of you might ask for specifics of the case, but that would require my following the posting guide and spending even more time than I am already taking to write this note.

I. Ben Fooled (aka Frank Harrell)

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 29.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 39.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Der xyplot lässt sich zwar hervorragend anpassen, aber die Syntax ist gewöhnungsbedürftig. Im konkreten Fall bestimmt der Effekt vor dem senkrechten Strich („|“) die x-Achse, für jedes Level des dahinterstehenden Faktors gibt es ein eigenes Panel. Argumente werden auf die Symbole angewandt, außer wenn sie spezifisch adressiert sind: Mit cex=1.5 vergrößern wir also die Punkte, mit scales=list(cex=1.5) hingegen die Größe der Strich-Beschriftungen (F, S, H, W). Entsprechend wirken sich Argumente hinter xlab auf die x-Achsenbeschriftung aus und par.strip.text auf die Beschriftung im oberen Balken (dem sog. strip).

  2. 2.

    Offensichtlich hätten wir hier statt glm auch lm benutzen können. Aus einem lm-Objekt könnten wir sowohl mittels anova als auch mittels summary(aov(.)) die ANOVA-Tabelle konstruieren lassen. Der hier gewählte Weg ist konsistenter mit der Denkweise des Buches, dass alles ein GLM ist.

  3. 3.

    Beide wurden aus den deviances = SS berechnet: Jahreszeit: \(756.17/(756.17+106.93+96)\) und Unterart: \(106.93/(756.17+106.93+96)\).

  4. 4.

    Dieses Beispiel kommt, etwas modifiziert, aus Dalgaard, 2002 ().

  5. 5.

    Der par(mfrow(...))-Befehl lässt uns vier Graphiken in eine Abbildung bringen; mit dem mtext-Befehl erzeugen wir die Beschriftung der x- und y-Achsen.

  6. 6.

    est“ steht für estimate, also den Schätzer des Effekts, sprich den Wert, den wir in der Regressionszusammenfassung ausgegeben erhalten.

  7. 7.

    Es gibt unterschiedliche Konfidenzintervalle! Wir beschränken uns hier auf den Konfidenzbereich, mit dem die Daten die Schätzung der Regressionsgerade zulassen (Option interval=’confidence’). Sie gibt an, wo bei einem neuen Datensatz des gleichen Umfangs die Gerade liegen würde. Darüberhinaus gibt es ein (größeres) Vorhersageintervall, dass den Bereich angibt, in den mit 95 %-iger Wahrscheinlichkeit ein neuer Wert fallen würden (Option interval=’prediction’) (Abb. 16.5).

  8. 8.

    Das Beispiel ist dem exzellenten Buch Quinn und Keough, 2002 () entnommen, und wie diese werden wir ohne weitere Kommentare den Anteil C3-Arten einfach transformieren und dann analysieren. Quinn und Keough, 2002 () benutzen ein logarithmische Transformation, die Wurzel ist aber m. E. etwas geeigneter (sprich die Daten sind danach etwas „normaler“ als beim Logarithmus).

  9. 9.

    Quinn und Keough, 2002 () benutzen Breiten- und Längengrad ebenfalls als Prädiktoren. Ich halte das für unlogisch, da sich Längen- und Breitengrade nicht auf Pflanzen auswirken können. Außerdem sind sie stark mit dem Klima korreliert, was zu Kollinearitätsproblemen führt (siehe Abschn. 15.3). Erweitere den pairs.panels-Plot (Abb. 16.6) um diese beiden Variablen und bestätige dies.

  10. 10.

    Das ist Modellselection, wie sie ausführlich und korrekt im nächsten Abschnitt behandelt wird. Diese hemdsärmlige Herangehensweise dient hier nur dazu, ein Modell mit einer Interaktion zur Visualisierung zu haben.

  11. 11.

    Noch einfacher ginge es mit dem Befehl plot(allEffects(fm4)). Wir würden dann interaktiv aufgefordert auszusuchen, welchen Term wir denn dargestellt haben wollen. effects (und allEffects) ist übrigens schlau genug, Haupteffekte nicht darzustellen, wenn sie Teil einer Interaktion sind. Wenn wir das erzwingen gibt es immerhin eine Warnung.

  12. 12.

    Außerdem ist eine Darstellung der Lage der Datenpunkte im 3-D-Raum extrem schwer aufzulösen, auch wenn mit dem Paket rgl (z. B. Funktion plot3d) eine hervorragende interaktive Variante zur Verfügung steht.

  13. 13.

    Es geht hier, wohlgemerkt, nicht um geografische Gebiete, sondern um „Gegenden“ im Parameter- oder Umweltraum.

  14. 14.

    Das Problem wird mit jeder weiteren Dimension dramatischer. In diesem Beispiel haben wir für jede einzelne Dimension >90% Abdeckung (vom kleinsten bis zum größten Wert), aber in 2-D nur noch weniger als 80 % (d. i. die Fläche im Polygon an der Gesamtbildfläche). Bei 5 interagierenden Prädiktoren hätten wir also selbst in so einem ziemlich gut ausgefüllten Raum nur noch \(0.9^{5}=0.59\) also 60 % des Raumes mit Datenpunkten ausgefüllt. Fast die Hälfte unserer Vorhersagen wäre also in Bereiche, für die es in unserm Datensatz keine Daten gibt! Dieses Problem heißt auch der Fluch der Dimensionalität (curse of dimensionality: Bellman, 1957 ).

  15. 15.

    Für alternative Implementierungen siehe auch princomp (benutzt Eigenwertzerlegung durch Funktion eigen anstelle der angeblich verlässlicheren Singulärwertzerlegung mittels svd in prcomp), FactoMineR::PCA (kein Tippfehler!) oder vegan::rda, während labdsv::pca oder rrcov::PcaClassic wie viele andere Pakete intern auch prcomp benutzt.

  16. 16.

    Laut Syntax in der Hilfe fordert prcomp das Argument „scale.“ (mit einem Punkt hinter scale!). Es funktioniert aber genauso ohne den Punkt.

  17. 17.

    Da wir diese nicht in Form eines Arguments angeben können, können wir uns den R-Code dieser Funktion ansehen (mittels getAnywhere(″screeplot.default″)) und dort herausfinden, dass die Namen der $sdev-Komponente des prcomp-Objekts zur Beschriftung benutzt wird. Also versehen wir diese mit den von uns gewünschten Namen und erhalten die Beschriftung.

  18. 18.

    Dies ist eine einfache Matrixmultiplikation der (standardisierten) Datenmatrix mit der Rotationsmatrix: as.matrix(scale(apa[,-c(1,2,16)])) %*% pca$rotation.

  19. 19.

    Wie etwa die Multidimensionale Skalierung (MDS); siehe Funktion metaMDS im Paket vegan als einen Ausgangspunkt oder auch Leyer und Wesche, 2007 () und Zuur et al., 2007 ().

  20. 20.

    Siehe http://cran.r-project.org/web/views/Cluster.html für eine umfangreiche Darstellung der verfügbaren Funktionen.

  21. 21.

    Sie greift auf die Funktion hclust zurück, die verschiedene linkage-Algorithmen implementiert und als Eingabe eine Distanzmatrix braucht.

  22. 22.

    Dies wird auch „best subset regression“ genannt. Obwohl wir dabei ja ganz viele Modelle berechnen, führen wir keinen eigentlichen statistischen Test durch. Deshalb müssen wir auch nicht für die Anzahl Modelle korrigieren. Trotzdem bereitet vielen angewandten Statistikern dieser Ansatz Sorgen. Sie finden es ein Suchen nach Zusammenhängen, ein fishing for significances.

  23. 23.

    Wir dürfen ja keine Haupteffekte löschen, die noch Teil einer im Modell verbleibenden Interaktion sind.

  24. 24.

    Alternative können wir auch den AICc benutzen, also die Stichprobengrößen-korrigierte Version des AIC, verfügbar etwa in den Paketen MuMIn und AICcmodavg.

  25. 25.

    Es gibt auch die forward stepwise selection, bei der man die Variablen eine nach der anderen ins Modell hineinnimmt. Dabei ist aber die Signifikanz einer Variablen davon abhängig, welche Variable schon im Modell enthalten ist. Außerdem haben Variablen, die nur in Interaktion vorliegen (im Beispiel etwa PC1 und PC2) keine Chance ins Modell zu kommen. Die forward stepwise selection wurde mehrfach als schlechtes Verfahren bewertet (Wilkinson und Dallal, 1981 ) und sollte nicht benutzt werden (auch wenn leider mancher Wissenschaftler dies heutzutage noch tut). Kritik wurde auch gegen die stepwise backward vorgebracht (Steyerberg et al., 1999 ; Whittingham et al., 2006 ), aber Vergleiche zwischen best-subsets und backward selection zeigten keinen nennenswerten Unterschied (siehe etwa Dormann et al., 2008a ).

  26. 26.

    Genauer: wieviel Datenpunkte wir pro Variable haben. Dieses Verhältnis bezeichnet man als EPV (events per variable), und es sollte im finalen Modell nicht unter 10 liegen (Harrell, 2001 ). Konsistente Modelle fanden Steyerberg et al., 1999 () ab EPV 40.

  27. 27.

    Im Paket MASS wird die Funktion stepAIC angeboten, die auch auf andere Modelltypen als (g)lm anwendbar ist.

  28. 28.

    Genauer: Anzahl effektiver Datenpunkte. Für normal- und Poisson-verteilte Daten ist das n, für binäre Daten aber Minimum(Anzahl 0er, Anzahl 1er), bzw. in R: min(table(y)). Das heißt, wenn in unseren 1300 Titanic-Überlebensdaten nur 100 Überlebende enthalten wären, dann wäre die Anzahl effektiver Datenpunkte auch nur 100.

  29. 29.

    http://www.christoph-scherber.de/stepAICc.txt.

  30. 30.

    Das ist sehr schlau von dem Programmierer hinter dem Paket MuMIn (Karmil Bartón). Nehmen wir an, in einem Prädiktor steht ein NA. Dann haben alle Modell mit diesem Prädiktor einen Datenpunkt weniger, als die ohne diesen Prädiktor. Die likelihood wäre dann nicht mehr vergleichbar, und auch nicht der BIC. Indem wir die Option na.fail spezifizieren, kommt es gar nicht erst zu so einem Fall. Wir müssen vorbereitend schon diesen Datenpunkt löschen.

  31. 31.

    Diese Gewichte gehen auf Burnham und Anderson, 2002 ()zurück und werden benutzt, wenn man aus mehreren Modellen zusammen eine Vorhersage machen will. Manchmal werden sie als Wahrscheinlichkeit, dass dies das wahre Modell ist, interpretiert. Dafür müssten allerdings alle Modell gleich plausibel sein. Da die Welt kompliziert ist, sind auch komplizierte Modelle wahrscheinlicher als einfache, was hier nicht berücksichtigt wird. Das sind aber Bayessche Gedanken, die hier zu weit führen.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carsten F. Dormann .

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer-Verlag GmbH Deutschland

About this chapter

Cite this chapter

Dormann, C.F. (2017). Multiple Regression in R. In: Parametrische Statistik. Statistik und ihre Anwendungen. Springer Spektrum, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-54684-0_16

Download citation

Publish with us

Policies and ethics