R-Klausur Übungsaufgabe (Regression)

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
R-Neuling2017

R-Klausur Übungsaufgabe (Regression)

Beitrag von R-Neuling2017 »

Hallo Forum, Community und Admins, ich wünsche euch allen ein gutes und erfolgreiches neues Jahr,
ich habe an der Uni (Anfang Dezember) einen 2 tägigen Einführungskurs „Statistik mit R“ besucht. Gestern habe ich eine Übungsklausur erhalten die uns für die Prüfung am Donnerstag (11.1) vorbereiten soll. Jedoch übersteigt der Schwierigkeitsgrad der Aufgaben den Rahmen eines Einführungskurses und mir fehlt leider die Zeit mich richtig einzulesen und einzuarbeiten weshalb ich für Lösungshinweise, Ideen und allgemeine Hilfe von eurer Seite sehr dankbar wäre!
Ich wünsche euch eine erfolgreiche und ruhige Woche! Viele Grüße Gordon

Die folgende Aufgabe bezieht sich auf den „Mroz“-Datensatz, der sich im installierten R-Paket „car“ befindet.

2. Aufgabe ( /19 P)
a) ( /4 P)
Führen Sie ausgehend vom Datensatz „Mroz“ (mit „inc_level“!) eine Regression von „inc“ auf die Kovariablen „age“ (auch quadriert), „lfp“, „k5“ und „lwg“. Bezeichnen Sie das resultierende R-Objekt mit „reg1“ und geben Sie auch den erforderlichen Code an, um den Standardregressionsoutput zu erzeugen. Ist „reg1“ ein gutes Modell? Kurze Erläuterung.

b) ( / 4 Punkte) Geben Sie für das Regressionsmodell „reg1“ an, welche Kovariablen keinen signifikanten (Signifikanzniveau α = 0.05) Einfluss auf die zu erklärende Variable ausüben. Erläutern Sie kurz anhand einer der Variablen, wie Sie die Testentscheidung treffen können. (Kein zusätzlicher Code erforderlich)

c ( / 7 P) Überprüfen Sie „reg1“ sowohl graphisch als auch mit Hilfe eines geeigneten Tests (Signifikanzniveau α = 0.05) auf Heteroskedastie. Interpretation der Graphik, Hypothesen- Testentscheidung und Codes angeben.
d) ( / 2 P) Welche zwei Maßnahmen könnten Sie ergreifen wenn, in dem Test ein Hinweis auf Heteroskedatie zu sehen wäre? (nur kurze Erklärung, bzw. Nennung der Maßnahmen)

e) ( / 2 P) Geben Sie Code und Intervallgrenzen für ein 99%-Konfidenzintervall für „lwg“ für reg1 an.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: R-Klausur Übungsaufgabe (Regression)

Beitrag von jogo »

Hallo Gordon,

willkommen im Forum!
Hier ein Anfang für die Aufgabe:

Code: Alles auswählen

library("car")
str(Mroz)

reg1 <- lm(inc ~ age + I(age^2) + lfp + k5 + lwg, data=Mroz)
summary(reg1)
Gruß, Jörg
R-Neuling2017

Re: R-Klausur Übungsaufgabe (Regression)

Beitrag von R-Neuling2017 »

Guten Morgen Jörg, danke für den Einstieg! (Ich wusste nicht wie ich das "Codefenster" öffne, sorry!) Hier meine vorläufigen Ergebnisse:

zu 2 a) Ja, "reg1" ist ein gutes Model, da der p-Wert für das Regressionsmodell bei 0.0000 liegt und somit kleiner ist als ein Signifikanzniveau α = 0,05. Daher kann die Nullhypothese des F-Tests, dass alle Koeffizienten gemeinsam gleich 0 sind, abgelehnt werden.

2b)
-Die Kovariable „k5“ (Anzahl an Kinder unter 5 Jahren) hat keinen signifikanten Einfluss auf das Einkommen, da 0,13 > als α= 0.05.
-Die Kovariable „lfpyes“ also die Mitgliedschaft in einer Arbeiterbewegung liegt der p-Wert unter dem Signifikanzniveau worauf man schließen kann, dass die Mitgliedschaft in einer Arbeiterbewegung einen signifikanten Einfluss auf das Einkommen hat.

2c) (Hier hatte ich die größten Schwierigkeiten): Ich weis das ich den t.test für den Signifikanztest brauche, komme dann aber nicht mehr weiter,

> t.test(...)
> abline(reg1)

2d)
1. Breusch- Pagan Test: hier wird die Beziehung zwischen standardisierten Residuen und den unabhängigen Variablen getestet.
2. White Test: reagiert weniger sensibel auf Verletzung der Annahme normalverteilter Fehler

2e) Bei mir funktionierte der Code nicht, wo kann ich die Intervallgrenzen ablesen?

> t.test(lwg, conf.level=0.99)

Vielen vielen Dank für die Hilfe!
Viele Grüße Gordon
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: R-Klausur Übungsaufgabe (Regression)

Beitrag von jogo »

Hallo Gordon,
R-Neuling2017 hat geschrieben: Do Jan 11, 2018 7:27 am zu 2 a) Ja, "reg1" ist ein gutes Model, da der p-Wert für das Regressionsmodell bei 0.0000 liegt und somit kleiner ist als ein Signifikanzniveau α = 0,05. Daher kann die Nullhypothese des F-Tests, dass alle Koeffizienten gemeinsam gleich 0 sind, abgelehnt werden.
... wobei das R² ziemlich grottig ist. Der F-Test sagt wiederum: besser als das Referenzmodell (einfach das arithmetische Mittel aller beobachteten Werte)
2b)
-Die Kovariable „k5“ (Anzahl an Kinder unter 5 Jahren) hat keinen signifikanten Einfluss auf das Einkommen, da 0,13 > als α= 0.05.
-Die Kovariable „lfpyes“ also die Mitgliedschaft in einer Arbeiterbewegung liegt der p-Wert unter dem Signifikanzniveau worauf man schließen kann, dass die Mitgliedschaft in einer Arbeiterbewegung einen signifikanten Einfluss auf das Einkommen hat.
ja, wobei allerdings diejenigen, bei denen lfp=="yes", ein geringeres Einkommen haben.
Jetzt kann man trefflich über Ursache und Wirkung philosophieren ...
2c) (Hier hatte ich die größten Schwierigkeiten): Ich weis das ich den t.test für den Signifikanztest brauche, komme dann aber nicht mehr weiter,
für einen grafischen Test kannst Du auch:

Code: Alles auswählen

plot(reg1)
verwenden (Diagramm "residuals vs. fitted")
Bezüglich der kategorialen Variablen kannst Du auch:

Code: Alles auswählen

leveneTest(inc ~ lfp, data=Mroz)
2d)
1. Breusch- Pagan Test: hier wird die Beziehung zwischen standardisierten Residuen und den unabhängigen Variablen getestet.
2. White Test: reagiert weniger sensibel auf Verletzung der Annahme normalverteilter Fehler
Eine andere Möglichkeit ist der Einsatz eines anderen Schätzers, z.B. WLS (weighted LS).
2e) Bei mir funktionierte der Code nicht, wo kann ich die Intervallgrenzen ablesen?
> t.test(lwg, conf.level=0.99)

Code: Alles auswählen

confint(reg1, parm="lwg", level = 0.99)
Bei Unklarheiten, lies bitte erst die Dokumentation der entsprechenden Funktion, z.B.

Code: Alles auswählen

help("confint")  # bzw.
?confint
Und noch eine Kleinigkeit:
bitte formatiere Code-Stücke und Output von R zukünftig in Deinen Nachrichten (bitte lies: viewtopic.php?f=20&t=29)

Viele Grüße, Jörg
Antworten