Semester 1 Flashcards
Daten einsehen
- load
-> load(file.choose( )) - read.table
- read.csv
Überblick verschaffen
- ls( ) -> wieviele Zeilen und Spalten?
- summary(data) -> deskriptivstatistik zu allen Variablen
- ncol(data)/nrow(data) -> Anzahl Spalten/Zeilen
- data[|Zeilennr| , |Spaltennr|] -> Variable auswählen über die Spalten- oder Zeilennr
Annahmen der Multiplen Regression
- zufällige Fehler
- Varianzhomogenität, Homoskedastizität und unkorrelierte Fehler
- Multikolinearität (X hat vollen Rang (n>p, keine Linearkombi)
- Normalverteilung (der Fehler und y)
- Einflussgrössen sind messfehlerfrei
Was tun bei Heteroskedastizität
- gewichtete QK-Schätzung
- Box-Cox-Transformation
- Quantil Regression
- Gemischte Modelle
Was tun wenn nicht NV
- GLM
- (Box-Cox) Transformation
- Quellen von Unterschieden suchen
Was tun bei Messfehler
(Bei additiven Messfehlern wird Varianz höher -> Steigung weniger steil)
- Tests/Fragebögen validieren
- Modelle für latente Variablen verwenden
Schätzung
- KQ (kleinste Quadrate)
- ML (Maximum Likelihood)
-> entscheiden, welche Regressionsgerade am besten zu den Daten passt
-> bei Normalverteilung beide gleich
Kategoriale Einflussgrössen (X)
Dummy-Kodierung (Treatment-Kontraste)
- 0 = Referenzkategorie
- Interpretation im Vrgl zur Referenzkategorie
Effekt-Kodierung (Summen-Kontraste)
- Spalte addiert sich zu 0
- Interpretation im Vrgl zum Gesamtmittel
In R: contr.treatment (#k)
Zentrierung
- Um vergleichbar zu machen
- wenn 0 in Daten nicht vorkommt
-> von jedem Wert Mittelwert abziehen
-> nur Intercept ändert, Steigung bleibt gleich
-> Intercept ist dann nichtmehr = sondern Durchschnitt
In R: dd$Eink. - mean(dd$Eink.)
Interaktionen
Haupteffekte nicht mehr interpretierbar, wenn keine Steigung, welche auf beide Gruppen zutrifft
-> die beiden Kategorien werden separat analysiert/interpretiert
Falls 2 metrische Variablen: eine in Kategorien einteilen (niedrig/mittel/hoch)
Bestimmtheitsmass R^2
Anteil der durch das Modell erklärten Varianzan Gesamtstreuung
(0-1)
Problem: wird immer höher wenn Variable dazu kommt -> Adjusted R^2 -> berücksichtigt #Parameter
In R:
- adj.r.squared
- summary(lm$adj.r.squared
Prüfgrösse (F-Wert)
(RSS_H0 - RSS_voll / r) / (RSS_voll / n - [p+1])
- RSS = Residuenquadratsumme
- n = # Personen
- p+1 = Parameter + Intercept
- r = # Restriktionen durch H0 (Differenz der Freiheitsgrade)
Quantilregression
Unterschiedliche Regressionsgeraden/Steigungen & Intercepte für Quantile, z.B. wenn Homosked. verletzt
-> Steigung steigt über Quantile hinweg
-> Keine Einteilung in Gruppen wie bei Interaktion! (Alles gleiche Variable eig)
Vorteile:
- kann gut mit Ausreissern/Heteroskedast., Nicht NV umgehen
- bessere Schätzung & zusätzl. Infos über untersch. Verläufe
- Interpretation sonst genau wie bei normaler Regression
Likelihood
- Ziel: herausfinden, wie plausibel versch. Parameter für ein best. Ergebnis sind
- Modell das besser zu Daten passt hat höhere Likelihood
-> Werte können beliebig gross/klein sein - je grösser, desto besser passt Parameter
- Wert der Treffwahrsch. ist am plausibelsten wo Likelihood am höchsten
- einzelne Likelihoods werden für mehrere Trials multipliziert
- Wichtig ist nur bei welchem Wert Max ist, nicht was Likelihood dort ist (ableiten und 0 setzen, logarithmieren)
Logistische Regression - Binäres Logit-Modell
- y binär (2 Kategorien 0 und 1)
- Regressionsgerade = S (0/1)
- Parameterschätzung: ML
- Modellvergleich: Likelihood-Quotienten-Test
- Responsefunktion: πi = h(ηi) = e^ηi / 1 + e^ηi
- Linkfunktion: (Umkehrung der Responsefunktion) -> log
- odds: pii / 1 - pii
- log odds: log (pii / 1 - pii)
Additiver Einfluss: log, linear, wenn x 1 steigt, steigen log odds um beta1
Multiplikativer Einfluss: log weg -> e^, wenn x 1 steigt, steigen odds um e^beta1
Wahrscheinlichkeit: / 1- pii -> wenn x steigt, steigt/fällt Wahrscheinlichkeit für y=1
In R:
glm(y~x, family = binomial, dd)
Predict(logitm, newdata = data.frame(gre = 500), type = „response“)
Poisson Regression
- Zähldaten
- Verteilung ist diskret & schief (geht nicht unter 0)
- Mittelwert und Varianz können sich nicht unabhängig verändern
Bei Overdispersion: Varianz>Erw.wert -> oft mehr 0 als erwartet = Zeroinflation
-> Quasipoisson, neg. Binomial, zero-inflated Regression
-> Bei Quasipoisson: Varianz soviel grösser als Erwartungswert (können sich unterscheiden)
In R:
glm(y~x, family = „(quasi)poisson“, dd)
predict(poissonm, newdata = data.frame(math = 50), type = „response“)
Mehrkategoriale Logit-Modelle: perfekt getrennte Klassen
Bei einer perfekten Trennung der y-Werte
Beta1 ist unendlich -> logit modelle können nicht immer damit umgehen, je nach Programm -> Fehlermeldung / komische Ergebnisse
In R:
binomial_model <- glm( y ~ x, data = |data_name|, family = „binomial“)
Machine Learning
- nicht parametrisch (Annahmen der linearen Regression müssen nicht gegeben sein)
- algorithmisch
- explorativ (Modell wird aus Daten gelernt)
Pobleme:
- garbage in/ garbage out
- bias in / bias out
- Manipulierbarkeit
In R:
Net <- nnet(y~., data = dd, size = 2) (size = #hidden units)
Predicted <- factor(predict(net, type = „class“), levels(dd$y)
-> Vergleich von Vorhersage durch Modell mit reellen Werten des Trainingsdatensatz