Die folgende Frage bezieht sich auf dieses Ergebnis einer Regressionsanalyse:
Call:
lm(formula = y ~ x, data = d)
Residuals:
Min 1Q Median 3Q Max
-5.119 -1.183 0.002 1.204 4.744
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.201 0.214 0.94 0.34898
x -0.721 0.202 -3.57 0.00061 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.9 on 80 degrees of freedom
Multiple R-squared: 0.137, Adjusted R-squared: 0.127
F-statistic: 12.7 on 1 and 80 DF, p-value: 0.000607
Zusammengefasst sind die Koeffizienten (beta0 und beta1) also:
coef(m)
(Intercept) x
0.2014558 -0.7213274
Welche der folgenden Aussagen passt am besten?
Answerlist
Der Mittelwert der abhängigen Variaben y sinkt mit zunehmenden x.
Wenn x=0, dann ist ein Mittelwert von y in Höhe von etwa -0.52 zu erwarten.
Wenn x=1, dann ist ein Mittelwert von y in Höhe von ca. 0.2 zu erwarten.
Wenn x=2, dann ist ein Mittelwert von y in Höhe von ca. -0.52 zu erwarten.
Das (nicht-adjustierte) \(R^2\) liegt im Modell bei -0.72.
Lösung
Für diese Aufgabe ist es hilfreich, wenn Sie wissen, wie man \(\hat{y}\) berechnet: \(\hat{y}=\beta_0 + \beta_1 x\). In Worten: “Das vorhergesagte Y ist die Summe von Achsenabschnitt (beta0) und Steigung (beta 1) mal x”.
Ein einfaches Rechenbeispiel:
Wenn man nichts für die Klausur lernt, also \(x=0\) hat man 7 Punkte (Achsenabschnitt), \(\hat{y}=\beta_0 + \beta_1 \cdot 0\). Pro Stunde lernen kommt ein halber Klausurpunkte dazu. Wie viele Punkte hat man nach diesem Modell, wenn man 20 Stunden lernt? Antwort: \(\hat{y}=7 + 0.5*20 = 7 + 10 = 17\).
Answerlist
Wahr
Falsch
Falsch
Falsch
Falsch
Categories:
regression
‘2023’
schoice
Source Code
---extype: schoiceexname: regression1aexsolution: r mchoice2string(questions_sample$is_correct, single = TRUE)exshuffle: noexpoints: 1categories:- regression- '2023'- schoicedate: '2023-05-08'slug: regression1atitle: regression1a---<!-- This question is based on `essayreg.Rmd`, provided by the r-exams team. -->```{r include = FALSE, message=FALSE}library(glue)library(tidyverse)library(testthat)library(mosaic)library(exams)options(digits=2)options(width =80)``````{r data generation, echo = FALSE, results = "hide"}## regression parametersn <-sample(40:90, 1)b <-sample(c(-1, 1), 1) *runif(1, 1, 2) *sample(c(0.1, 0.5, 1), 1)s <-sample(c(0.5, 1, 2), 1)## data and regressiond <-data.frame(x =rnorm(n),err =rnorm(n, sd = s))d$y <-0+ b * d$x + d$err## different typestype_set <-c("lineare", "y-logarithmisierte", "y-logarithmisierte")# type <- sample(type_set, 1)type <-"lineare"type_wrong <-sample(setdiff(type_set, type), 1)expect(type != type_wrong, failure_message ="Correct and incorrect answer to type of regression must differ!")if(type =="lineare") { m <-lm(y ~ x, data = d) # regression model xunit <-"Einheit" yunit <-"Einheiten" eff <-round(coef(m)[2], digits =2) eff_wrong <-round(coef(m)[1], digits =2) # wrong!} elseif(type =="y-logarithmisierte") { d$y <-exp(d$y) m <-lm(log(y) ~ x, data = d) # regression model xunit <-"Einheit" yunit <-"Prozent" eff <-round(100*exp(coef(m)[2]) -100, digits =2) eff_wrong <-round(100*exp(coef(m)[1]) -100, digits =2) # wrong!} elseif(type =="y-x-logarithmisierte") { d$y <-exp(d$y) d$x <-exp(d$x) m <-lm(log(y) ~log(x), data = d) # regression model xunit <-"Prozent" yunit <-"Prozent" eff <-round(100*exp(0.01*coef(m)[2]) -100, digits =2) eff_wrong <-round(100*exp(0.01*coef(m)[1]) -100, digits =2) # wrong!}## summariesdirect <-if(coef(m)[2] >0) "steigt"else"sinkt"direct_wrong <-if(coef(m)[2] <0) "steigt"else"sinkt"# wrong!if(summary(m)$coefficients[2, 4] <0.05) { sign1 <-"Auch" sign2 <-""} else { sign1 <-"Aber" sign2 <-"_nicht_"}y_at_x1 <-round(predict(m, newdata =data.frame(x =1)), 2)y_at_x1_wrong <-round(predict(m, newdata =data.frame(x =0)), 2)y_at_x2 <-round(predict(m, newdata =data.frame(x =2)), 2)y_at_x2_wrong <-round(predict(m, newdata =data.frame(x =1)), 2)y_at_x0 <-round(predict(m, newdata =data.frame(x =0)), 2) # intercepty_at_x0_wrong <-round(predict(m, newdata =data.frame(x =1)) , 2) # interceptr2 <-round(rsquared(m), 2)``````{r item-generation, echo = FALSE, results = "hide"}# first one is CORRECT, second is FALSEtype_regression_items <-c(glue("Es handelt sich um eine {type} Regression."),glue("Es handelt sich um eine {type_wrong} Regression."))effect_direction_items <-c(glue("Der Mittelwert der abhängigen Variaben `y` {direct} mit zunehmenden `x`."),glue("Der Mittelwert der abhängigen Variaben `y` {direct_wrong} mit zunehmenden `x`."))effect_items <-c(glue("Wenn `x` um 1 {xunit} steigt, dann kann eine Veränderung um etwa {eff} {yunit} in `y` erwartet werden (nicht kausal zu verstehen)."),glue("Wenn `x` um 1 {xunit} steigt, dann kann eine Veränderung um etwa {eff_wrong} {yunit} in `y` erwartet werden (nicht kausal zu verstehen)."))y_at_x0_items <-c(glue("Wenn `x=0`, dann ist ein Mittelwert von `y` in Höhe von etwa {y_at_x0} zu erwarten."),glue("Wenn `x=0`, dann ist ein Mittelwert von `y` in Höhe von etwa {y_at_x0_wrong} zu erwarten."))y_at_x1_items <-c(glue("Wenn `x=1`, dann ist ein Mittelwert von `y` in Höhe von ca. {y_at_x1} zu erwarten."),glue("Wenn `x=1`, dann ist ein Mittelwert von `y` in Höhe von ca. {y_at_x1_wrong} zu erwarten."))y_at_x2_items <-c(glue("Wenn `x=2`, dann ist ein Mittelwert von `y` in Höhe von ca. {y_at_x2} zu erwarten."),glue("Wenn `x=2`, dann ist ein Mittelwert von `y` in Höhe von ca. {y_at_x2_wrong} zu erwarten."))r2_items <-c(glue("Das (nicht-adjustierte) $R^2$ liegt im Modell bei {r2}."),glue("Das (nicht-adjustierte) $R^2$ liegt im Modell bei {eff}."))questions <-bind_cols(#data.frame(type_regression_items),data.frame(effect_direction_items),data.frame(effect_items),data.frame(y_at_x0_items),data.frame(y_at_x1_items),data.frame(y_at_x2_items),data.frame(r2_items) ) %>%mutate(is_correct =c(TRUE, FALSE))questions_long <- questions %>%pivot_longer(-c(is_correct),names_to ="question_content",values_to ="item")# Draw 1 correct and 4 incorrect questions (items):to_be_presented_as_correct <-sample(questions_long$question_content, 1)to_be_presented_as_INcorrect <-setdiff(questions_long$question_content, to_be_presented_as_correct) %>%sample(size =4)questions_sample <- questions_long %>%filter((is_correct ==TRUE& question_content == to_be_presented_as_correct) | (is_correct ==FALSE& question_content %in% to_be_presented_as_INcorrect))```# AufgabeDie folgende Frage bezieht sich auf dieses Ergebnis einer Regressionsanalyse:```{r lm output, echo = FALSE, comment = NA}summary(m)```Zusammengefasst sind die Koeffizienten (beta0 und beta1) also:```{r ech0=FALSE}coef(m)```Welche der folgenden Aussagen passt am besten?```{r questionlist, echo = FALSE, results = "asis"}answerlist(questions_sample$item, markup ="markdown")```</br></br></br></br></br></br></br></br></br></br># LösungFür diese Aufgabe ist es hilfreich, wenn Sie wissen, wie man $\hat{y}$ berechnet: $\hat{y}=\beta_0 + \beta_1 x$. In Worten: "Das vorhergesagte Y ist die Summe von Achsenabschnitt (beta0) und Steigung (beta 1) mal x". Ein einfaches Rechenbeispiel: Wenn man nichts für die Klausur lernt, also $x=0$ hat man 7 Punkte (Achsenabschnitt), $\hat{y}=\beta_0 + \beta_1 \cdot 0$.Pro Stunde lernen kommt ein halber Klausurpunkte dazu.Wie viele Punkte hat man nach diesem Modell, wenn man 20 Stunden lernt?Antwort: $\hat{y}=7 + 0.5*20 = 7 + 10 = 17$. ```{r solutionlist, echo = FALSE, results = "asis"}answerlist(ifelse(questions_sample$is_correct, "Wahr", "Falsch"), markup ="markdown")```---Categories: - regression- '2023'- schoice