Die folgende Frage bezieht sich auf dieses Ergebnis einer Regressionsanalyse:
Call:
lm(formula = log(y) ~ x, data = d)
Residuals:
Min 1Q Median 3Q Max
-1.97394 -0.81203 -0.04712 0.76554 2.89696
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0977 0.1617 0.604 0.549
x -0.9517 0.1631 -5.833 6.39e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.084 on 43 degrees of freedom
Multiple R-squared: 0.4418, Adjusted R-squared: 0.4288
F-statistic: 34.03 on 1 and 43 DF, p-value: 6.389e-07
Zusammengefasst sind die Koeffizienten (beta0 und beta1) also:
coef(m)
(Intercept) x
0.09769633 -0.95169074
Welche der folgenden Aussagen ist korrekt?
Answerlist
Der Mittelwert der abhängigen Variaben y sinkt mit zunehmenden x.
Wenn x um 1 Einheit steigt, dann kann eine Veränderung um etwa 10.26 Prozent in y erwartet werden.
Wenn x=0, dann ist ein Mittelwert von y in Höhe von etwa -0.85 zu erwarten.
Wenn x=1, dann ist ein Mittelwert von y in Höhe von ca. 0.1 zu erwarten.
Wenn x=2, dann ist ein Mittelwert von y in Höhe von ca. -0.85 zu erwarten.
Lösung
Answerlist
Wahr
Falsch
Falsch
Falsch
Falsch
Categories:
regression
dyn
lm
schoice
Source Code
---extype: schoiceexname: regression1exsolution: r mchoice2string(questions_sample$is_correct, single = TRUE)exshuffle: nocategories:- regression- dyn- lm- schoicedate: '2023-05-08'slug: regression1title: regression1---<!-- 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(exams)``````{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-x-logarithmisierte")type <-sample(type_set, 1)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) 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) 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) 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) # intercept``````{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."),glue("Wenn `x` um 1 {xunit} steigt, dann kann eine Veränderung um etwa {eff_wrong} {yunit} in `y` erwartet werden."))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."))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) ) %>%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 ist korrekt?```{r questionlist, echo = FALSE, results = "asis"}answerlist(questions_sample$item, markup ="markdown")```</br></br></br></br></br></br></br></br></br></br># Lösung```{r solutionlist, echo = FALSE, results = "asis"}answerlist(ifelse(questions_sample$is_correct, "Wahr", "Falsch"), markup ="markdown")```---Categories: - regression- dyn- lm- schoice