Lab9 DATA 606 Multiple linear Regression
INSTRUCTIONS
Grading the Professor
Many college courses conclude by giving students the opportunity to evaluate the course and the instructor anonymously. However, the use of these student evaluations as an indicator of course quality and teaching effectiveness is often criticized because these measures may reflect the influence of non-teaching related characteristics, such as the physical appearance of the instructor. The article titled, “Beauty in the classroom: instructors’ pulchritude and putative pedagogical productivity” by Hamermesh and Parker found that instructors who are viewed to be better looking receive higher instructional ratings.
Here, you will analyze the data from this study in order to learn what goes into a positive professor evaluation.
Getting Started
Load packages
In this lab, you will explore and visualize the data using the tidyverse suite of packages. The data can be found in the companion package for OpenIntro resources, openintro.
Let’s load the packages.
library(tidyverse)
library(openintro)
library(GGally)
library(statsr)
library(dplyr)This is the first time we’re using the GGally package.
You will be using the ggpairs function from this package
later in the lab.
The data
The data were gathered from end of semester student evaluations for a
large sample of professors from the University of Texas at Austin. In
addition, six students rated the professors’ physical appearance. The
result is a data frame where each row contains a different course and
columns represent variables about the courses and professors. It’s
called evals.
glimpse(evals)## Rows: 463
## Columns: 21
## $ score <dbl> 4.7, 4.1, 3.9, 4.8, 4.6, 4.3, 2.8, 4.1, 3.4, 4.5, 3.8, 4…
## $ rank <fct> tenure track, tenure track, tenure track, tenure track, …
## $ ethnicity <fct> minority, minority, minority, minority, not minority, no…
## $ gender <fct> female, female, female, female, male, male, male, male, …
## $ language <fct> english, english, english, english, english, english, en…
## $ age <int> 36, 36, 36, 36, 59, 59, 59, 51, 51, 40, 40, 40, 40, 40, …
## $ cls_perc_eval <dbl> 55.81395, 68.80000, 60.80000, 62.60163, 85.00000, 87.500…
## $ cls_did_eval <int> 24, 86, 76, 77, 17, 35, 39, 55, 111, 40, 24, 24, 17, 14,…
## $ cls_students <int> 43, 125, 125, 123, 20, 40, 44, 55, 195, 46, 27, 25, 20, …
## $ cls_level <fct> upper, upper, upper, upper, upper, upper, upper, upper, …
## $ cls_profs <fct> single, single, single, single, multiple, multiple, mult…
## $ cls_credits <fct> multi credit, multi credit, multi credit, multi credit, …
## $ bty_f1lower <int> 5, 5, 5, 5, 4, 4, 4, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 7, 7,…
## $ bty_f1upper <int> 7, 7, 7, 7, 4, 4, 4, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 9, 9,…
## $ bty_f2upper <int> 6, 6, 6, 6, 2, 2, 2, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 9, 9,…
## $ bty_m1lower <int> 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 7, 7,…
## $ bty_m1upper <int> 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6,…
## $ bty_m2upper <int> 6, 6, 6, 6, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 6, 6,…
## $ bty_avg <dbl> 5.000, 5.000, 5.000, 5.000, 3.000, 3.000, 3.000, 3.333, …
## $ pic_outfit <fct> not formal, not formal, not formal, not formal, not form…
## $ pic_color <fct> color, color, color, color, color, color, color, color, …
We have observations on 21 different variables, some categorical and some numerical. The meaning of each variable can be found by bringing up the help file:
?evals## starting httpd help server ... done
Exploring the data
Exercise 1
Is this an observational study or an experiment? The original research question posed in the paper is whether beauty leads directly to the differences in course evaluations. Given the study design, is it possible to answer this question as it is phrased? If not, rephrase the question.
Solution 1
In my opinion this is an observational study because there are no control groups or data to compare the compare the professor’s beauty with. I would rephrase the question to read “Is there a linear correlation between a professor’s physical appearance and the outcome of their course evaluations by the professor’s students?”
Exercise 2
Describe the distribution of score. Is the distribution
skewed? What does that tell you about how students rate courses? Is this
what you expected to see? Why, or why not?
Solution 2
The distribution of score is left skewed where the
highest scores are between 4.0 and 5.0 with a long tail going down to
2.0. This means the students rated their courses positively. This is
somewhat what Iexpected to see since the sample is not random.
summary(evals$score)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.300 3.800 4.300 4.175 4.600 5.000
hist(evals$score, main = "Professor's Course Evaluation", xlab="Professor's Score", ylab="Count")hist(evals$score, prob = TRUE, main = "Professor's Course Evaluation", xlab="Professor's Score", ylab="Count", breaks = 11)
x <- seq(from = 0, to = 5, by = 0.5)
curve(dnorm(x, mean = mean(evals$score), sd = sd(evals$score) ), add = TRUE, col = "purple", lwd = 2)Exercise 3
Excluding score, select two other variables and describe
their relationship with each other using an appropriate
visualization.
Simple linear regression
The fundamental phenomenon suggested by the study is that better looking teachers are evaluated more favorably. Let’s create a scatterplot to see if this appears to be the case:
ggplot(data = evals, aes(x = bty_avg, y = score)) +
geom_point()Before you draw conclusions about the trend, compare the number of observations in the data frame with the approximate number of points on the scatterplot. Is anything awry?
Solution 3
The two variable compared; age and gender,
shows that females professors are rated higher on their courses if they
are younger compared to male professors.
comp_prof <- evals %>%
group_by(gender,age ) %>%
summarise(count = n())
comp_prof## # A tibble: 52 × 3
## # Groups: gender [2]
## gender age count
## <fct> <int> <int>
## 1 female 29 1
## 2 female 31 6
## 3 female 33 18
## 4 female 34 8
## 5 female 35 3
## 6 female 36 4
## 7 female 37 4
## 8 female 38 13
## 9 female 39 4
## 10 female 40 8
## # ℹ 42 more rows
ggplot(data = evals, aes(x = gender, y = age)) +
geom_boxplot(color = "purple") +
xlab("Professor's Gender")+
ylab("Professor's Age") +
ggtitle("Comparison of Professor's by Age and Gender")Exercise 4
Replot the scatterplot, but this time use geom_jitter as
your layer. What was misleading about the initial scatterplot?
ggplot(data = evals, aes(x = bty_avg, y = score)) +
geom_jitter()Solution 4
Using the geom_jitter as the layer for the plot revealed
that there seems to be fewer points displayed on the scatterplot than
shown on the replotted geom_jitter plot.
ggplot(data = evals, aes(x = gender, y = age)) +
geom_jitter(color = "purple") +
xlab("Professor's Gender")+
ylab("Professor's Age") +
ggtitle("Comparison of Professor's by Age and Gender")Exercise 5
Let’s see if the apparent trend in the plot is something more than
natural variation. Fit a linear model called m_bty to
predict average professor score by average beauty rating. Write out the
equation for the linear model and interpret the slope. Is average beauty
score a statistically significant predictor? Does it appear to be a
practically significant predictor?
Add the line of the bet fit model to your plot using the following:
ggplot(data = evals, aes(x = bty_avg, y = score)) +
geom_jitter() +
geom_smooth(method = "lm")The blue line is the model. The shaded gray area around the line
tells you about the variability you might expect in your predictions. To
turn that off, use se = FALSE.
ggplot(data = evals, aes(x = bty_avg, y = score)) +
geom_jitter() +
geom_smooth(method = "lm", se = FALSE)Solution 5
Linear Model Equation: \(score = ax + B\)
Where score = 0.06664 * bty_avg + 3.88034
Is average beauty score a statistically significant predictor? The Average Beauty Score(bty_avg) is a statistically significant predictor because its P-value is close to 0.
Does it appear to be a practically significant predictor? It does not appear to be a practically significant predictor because most points arer above or below the line. Also for every point increase in bty_avg, the model only predicts an increase of 0.06664.
m_bty <- lm(evals$score ~ evals$bty_avg)
summary(m_bty)##
## Call:
## lm(formula = evals$score ~ evals$bty_avg)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.9246 -0.3690 0.1420 0.3977 0.9309
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.88034 0.07614 50.96 < 2e-16 ***
## evals$bty_avg 0.06664 0.01629 4.09 5.08e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5348 on 461 degrees of freedom
## Multiple R-squared: 0.03502, Adjusted R-squared: 0.03293
## F-statistic: 16.73 on 1 and 461 DF, p-value: 5.083e-05
plot(jitter(evals$score) ~ evals$bty_avg, ylab="Score", xlab="Average Beauty", main="Professor's Course Evaluation", col="green")
abline(m_bty, col = "purple")Exercise 6
Use residual plots to evaluate whether the conditions of least squares regression are reasonable. Provide plots and comments for each one (see the Simple Regression Lab for a reminder of how to make these).
Multiple linear regression
The data set contains several variables on the beauty score of the professor: individual ratings from each of the six students who were asked to score the physical appearance of the professors and the average of these six scores. Let’s take a look at the relationship between one of these scores and the average beauty score.
ggplot(data = evals, aes(x = bty_f1lower, y = bty_avg)) +
geom_point()evals %>%
summarise(cor(bty_avg, bty_f1lower))## # A tibble: 1 × 1
## `cor(bty_avg, bty_f1lower)`
## <dbl>
## 1 0.844
As expected, the relationship is quite strong—after all, the average score is calculated using the individual scores. You can actually look at the relationships between all beauty variables (columns 13 through 19) using the following command:
evals %>%
select(contains("bty")) %>%
ggpairs()These variables are collinear (correlated), and adding more than one of these variables to the model would not add much value to the model. In this application and with these highly-correlated predictors, it is reasonable to use the average beauty score as the single representative of these variables.
In order to see if beauty is still a significant predictor of professor score after you’ve accounted for the professor’s gender, you can add the gender term into the model.
summary(m_bty)##
## Call:
## lm(formula = evals$score ~ evals$bty_avg)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.9246 -0.3690 0.1420 0.3977 0.9309
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.88034 0.07614 50.96 < 2e-16 ***
## evals$bty_avg 0.06664 0.01629 4.09 5.08e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5348 on 461 degrees of freedom
## Multiple R-squared: 0.03502, Adjusted R-squared: 0.03293
## F-statistic: 16.73 on 1 and 461 DF, p-value: 5.083e-05
Solution 6
plot(m_bty, col = "purple")Residual vs Fitted - The Residuals vs Fitted plot does not show a linear pattern. Instead it show points that are not about the same on each side of the x-axis, so there is no constant variablitiy . One of the conditions of least squares regression, linearity is not satisfied.
Q-Q Residuals - The Q-Q plot does indicate a somewhat linear relationship, but the residuals are not uniformly distributed.
Scale-Location - The Scale plot does not show a linear pattern
Residual vs Leverage - The leverage plot does not indicate nearly normal distribution.
Exercise 7
P-values and parameter estimates should only be trusted if the conditions for the regression are reasonable. Verify that the conditions for this model are reasonable using diagnostic plots.
Solution 7
m_bty_gen <- lm(score ~ bty_avg + gender, data = evals)
summary(m_bty_gen)##
## Call:
## lm(formula = score ~ bty_avg + gender, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.8305 -0.3625 0.1055 0.4213 0.9314
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.74734 0.08466 44.266 < 2e-16 ***
## bty_avg 0.07416 0.01625 4.563 6.48e-06 ***
## gendermale 0.17239 0.05022 3.433 0.000652 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5287 on 460 degrees of freedom
## Multiple R-squared: 0.05912, Adjusted R-squared: 0.05503
## F-statistic: 14.45 on 2 and 460 DF, p-value: 8.177e-07
plot(m_bty_gen, col = "purple")Residual vs Fitted - The Residuals vs Fitted plot is not uniformly distributed and does not meet the expectations of the variance assumption.
Q-Q Residuals - The Q-Q plot shows that the residuals are not normally distributed.
Residual vs Leverage - The Residuals appear to be linearly related.
Scale-Location - The Scale plot does not show a linear pattern
Exercise 8
Is bty_avg still a significant predictor of
score? Has the addition of gender to the model
changed the parameter estimate for bty_avg?
Note that the estimate for gender is now called
gendermale. You’ll see this name change whenever you
introduce a categorical variable. The reason is that R recodes
gender from having the values of male and
female to being an indicator variable called
gendermale that takes a value of 00 for female professors
and a value of 11 for male professors. (Such variables are often
referred to as “dummy” variables.)
As a result, for female professors, the parameter estimate is multiplied by zero, leaving the intercept and slope form familiar from simple regression.
\[scoreˆ=β^0+β^1×bty_avg+β^2×(0)\]
\[=β^0+β^1×bty_avg\]
Solution 8
Yes, bty_avg is still a significant predictor of
score and adding the gender variable to the
model has changed the parameter extimate for bty_avg. This
is evident by the increased of bty_avg from 0.06664 to
0.07416) as shown below.
summary(m_bty)##
## Call:
## lm(formula = evals$score ~ evals$bty_avg)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.9246 -0.3690 0.1420 0.3977 0.9309
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.88034 0.07614 50.96 < 2e-16 ***
## evals$bty_avg 0.06664 0.01629 4.09 5.08e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5348 on 461 degrees of freedom
## Multiple R-squared: 0.03502, Adjusted R-squared: 0.03293
## F-statistic: 16.73 on 1 and 461 DF, p-value: 5.083e-05
summary(m_bty_gen)##
## Call:
## lm(formula = score ~ bty_avg + gender, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.8305 -0.3625 0.1055 0.4213 0.9314
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.74734 0.08466 44.266 < 2e-16 ***
## bty_avg 0.07416 0.01625 4.563 6.48e-06 ***
## gendermale 0.17239 0.05022 3.433 0.000652 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5287 on 460 degrees of freedom
## Multiple R-squared: 0.05912, Adjusted R-squared: 0.05503
## F-statistic: 14.45 on 2 and 460 DF, p-value: 8.177e-07
Exercise 9
What is the equation of the line corresponding to those with color pictures? (Hint: For those with color pictures, the parameter estimate is multiplied by 1.) For two professors who received the same beauty rating, which color picture tends to have the higher course evaluation score?
The decision to call the indicator variable gendermale
instead of genderfemale has no deeper meaning. R simply
codes the category that comes first alphabetically as a 00. (You can
change the reference level of a categorical variable, which is the level
that is coded as a 0, using therelevel() function. Use
?relevel to learn more.)
Solution 9
summary(m_bty_gen)##
## Call:
## lm(formula = score ~ bty_avg + gender, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.8305 -0.3625 0.1055 0.4213 0.9314
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.74734 0.08466 44.266 < 2e-16 ***
## bty_avg 0.07416 0.01625 4.563 6.48e-06 ***
## gendermale 0.17239 0.05022 3.433 0.000652 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5287 on 460 degrees of freedom
## Multiple R-squared: 0.05912, Adjusted R-squared: 0.05503
## F-statistic: 14.45 on 2 and 460 DF, p-value: 8.177e-07
The equation of the line corresponding to those with color pictures: \(\begin{aligned} Score &= \hat{\beta}_0 + \hat{\beta}_1 \times bty\_avg + \hat{\beta}_2 \times (1) \end{aligned}\)
\(Score = 3.74734 + 0.07416 * bty_avg + 0.17239\)
For two professors who received the same beauty rating, the professor with a color photo would have a higher score. Males tend to have the higher score.
Exercise 10
Create a new model called m_bty_rank with
gender removed and rank added in. How does R
appear to handle categorical variables that have more than two levels?
Note that the rank variable has three levels: teaching,
tenure track, tenured.
The interpretation of the coefficients in multiple regression is
slightly different from that of simple regression. The estimate for
bty_avg reflects how much higher a group of professors is
expected to score if they have a beauty rating that is one point higher
while holding all other variables constant. In this case, that
translates into considering only professors of the same rank with
bty_avg scores that are one point apart.
The search for the best model
We will start with a full model that predicts professor score based on rank, gender, ethnicity, language of the university where they got their degree, age, proportion of students that filled out evaluations, class size, course level, number of professors, number of credits, average beauty rating, outfit, and picture color.
Solution 10
R added another line into the regression summary. This is indicated by the recoding of the rank variable twice.
m_bty_rank <- lm(score ~ bty_avg + rank, data = evals)
summary(m_bty_rank)##
## Call:
## lm(formula = score ~ bty_avg + rank, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.8713 -0.3642 0.1489 0.4103 0.9525
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.98155 0.09078 43.860 < 2e-16 ***
## bty_avg 0.06783 0.01655 4.098 4.92e-05 ***
## ranktenure track -0.16070 0.07395 -2.173 0.0303 *
## ranktenured -0.12623 0.06266 -2.014 0.0445 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5328 on 459 degrees of freedom
## Multiple R-squared: 0.04652, Adjusted R-squared: 0.04029
## F-statistic: 7.465 on 3 and 459 DF, p-value: 6.88e-05
Exercise 11
Which variable would you expect to have the highest p-value in this model? Why? Hint: Think about which variable would you expect to not have any association with the professor score.
m_full <- lm(score ~ rank + gender + ethnicity + language + age + cls_perc_eval
+ cls_students + cls_level + cls_profs + cls_credits + bty_avg
+ pic_outfit + pic_color, data = evals)
summary(m_full)##
## Call:
## lm(formula = score ~ rank + gender + ethnicity + language + age +
## cls_perc_eval + cls_students + cls_level + cls_profs + cls_credits +
## bty_avg + pic_outfit + pic_color, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.77397 -0.32432 0.09067 0.35183 0.95036
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.0952141 0.2905277 14.096 < 2e-16 ***
## ranktenure track -0.1475932 0.0820671 -1.798 0.07278 .
## ranktenured -0.0973378 0.0663296 -1.467 0.14295
## gendermale 0.2109481 0.0518230 4.071 5.54e-05 ***
## ethnicitynot minority 0.1234929 0.0786273 1.571 0.11698
## languagenon-english -0.2298112 0.1113754 -2.063 0.03965 *
## age -0.0090072 0.0031359 -2.872 0.00427 **
## cls_perc_eval 0.0053272 0.0015393 3.461 0.00059 ***
## cls_students 0.0004546 0.0003774 1.205 0.22896
## cls_levelupper 0.0605140 0.0575617 1.051 0.29369
## cls_profssingle -0.0146619 0.0519885 -0.282 0.77806
## cls_creditsone credit 0.5020432 0.1159388 4.330 1.84e-05 ***
## bty_avg 0.0400333 0.0175064 2.287 0.02267 *
## pic_outfitnot formal -0.1126817 0.0738800 -1.525 0.12792
## pic_colorcolor -0.2172630 0.0715021 -3.039 0.00252 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.498 on 448 degrees of freedom
## Multiple R-squared: 0.1871, Adjusted R-squared: 0.1617
## F-statistic: 7.366 on 14 and 448 DF, p-value: 6.552e-14
Solution 11
I would expect the cls_level variable to have the
highest p-value because I don't believe students will use the
professor’s level as an indicator when scoring.
Exercise 12
Check your suspicions from the previous exercise. Include the model output in your response.
Solution 12
m_full = lm(score ~ rank + ethnicity + gender + language + age + cls_perc_eval + cls_students + cls_level + cls_profs + cls_credits + bty_avg + pic_outfit + pic_color, data = evals)
summary(m_full)##
## Call:
## lm(formula = score ~ rank + ethnicity + gender + language + age +
## cls_perc_eval + cls_students + cls_level + cls_profs + cls_credits +
## bty_avg + pic_outfit + pic_color, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.77397 -0.32432 0.09067 0.35183 0.95036
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.0952141 0.2905277 14.096 < 2e-16 ***
## ranktenure track -0.1475932 0.0820671 -1.798 0.07278 .
## ranktenured -0.0973378 0.0663296 -1.467 0.14295
## ethnicitynot minority 0.1234929 0.0786273 1.571 0.11698
## gendermale 0.2109481 0.0518230 4.071 5.54e-05 ***
## languagenon-english -0.2298112 0.1113754 -2.063 0.03965 *
## age -0.0090072 0.0031359 -2.872 0.00427 **
## cls_perc_eval 0.0053272 0.0015393 3.461 0.00059 ***
## cls_students 0.0004546 0.0003774 1.205 0.22896
## cls_levelupper 0.0605140 0.0575617 1.051 0.29369
## cls_profssingle -0.0146619 0.0519885 -0.282 0.77806
## cls_creditsone credit 0.5020432 0.1159388 4.330 1.84e-05 ***
## bty_avg 0.0400333 0.0175064 2.287 0.02267 *
## pic_outfitnot formal -0.1126817 0.0738800 -1.525 0.12792
## pic_colorcolor -0.2172630 0.0715021 -3.039 0.00252 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.498 on 448 degrees of freedom
## Multiple R-squared: 0.1871, Adjusted R-squared: 0.1617
## F-statistic: 7.366 on 14 and 448 DF, p-value: 6.552e-14
Exercise 13
Interpret the coefficient associated with the ethnicity variable.
Solution 13
The ethnicity_not_minority variable increases the score
by 0.1234929 or 12% when all other variables are held constant.
Exercise 14
Drop the variable with the highest p-value and re-fit the model. Did the coefficients and significance of the other explanatory variables change? (One of the things that makes multiple regression interesting is that coefficient estimates depend on the other variables that are included in the model.) If not, what does this say about whether or not the dropped variable was collinear with the other explanatory variables?
Solution 14
highest_pvalue = lm(score ~ rank + ethnicity + gender + language + age + cls_perc_eval + cls_students + cls_profs + cls_credits + bty_avg + pic_outfit + pic_color, data = evals)
summary(highest_pvalue)##
## Call:
## lm(formula = score ~ rank + ethnicity + gender + language + age +
## cls_perc_eval + cls_students + cls_profs + cls_credits +
## bty_avg + pic_outfit + pic_color, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.76617 -0.31818 0.09325 0.35169 0.93485
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.0938164 0.2905587 14.089 < 2e-16 ***
## ranktenure track -0.1419977 0.0819039 -1.734 0.083656 .
## ranktenured -0.0895639 0.0659238 -1.359 0.174957
## ethnicitynot minority 0.1383380 0.0773580 1.788 0.074405 .
## gendermale 0.2046338 0.0514798 3.975 8.2e-05 ***
## languagenon-english -0.2109231 0.1099296 -1.919 0.055655 .
## age -0.0087375 0.0031258 -2.795 0.005407 **
## cls_perc_eval 0.0053940 0.0015382 3.507 0.000499 ***
## cls_students 0.0003430 0.0003622 0.947 0.344081
## cls_profssingle -0.0150776 0.0519931 -0.290 0.771956
## cls_creditsone credit 0.4692494 0.1116766 4.202 3.2e-05 ***
## bty_avg 0.0412068 0.0174728 2.358 0.018785 *
## pic_outfitnot formal -0.1216791 0.0733912 -1.658 0.098026 .
## pic_colorcolor -0.1955247 0.0684550 -2.856 0.004486 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.498 on 449 degrees of freedom
## Multiple R-squared: 0.1851, Adjusted R-squared: 0.1615
## F-statistic: 7.845 on 13 and 449 DF, p-value: 3.699e-14
The coefficients and significance of the other explanatory variables
changed when the cls_level variable was dropped. Most of
the explanatory variables increased slightly.
Exercise 15
Using backward-selection and p-value as the selection criterion, determine the best model. You do not need to show all steps in your answer, just the output for the final model. Also, write out the linear model for predicting score based on the final model you settle on.
Solution 15
back_select <- lm(score ~ ethnicity + gender + language + age + cls_perc_eval + cls_credits + bty_avg + pic_color, data = evals)
summary(back_select)##
## Call:
## lm(formula = score ~ ethnicity + gender + language + age + cls_perc_eval +
## cls_credits + bty_avg + pic_color, data = evals)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.85320 -0.32394 0.09984 0.37930 0.93610
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.771922 0.232053 16.255 < 2e-16 ***
## ethnicitynot minority 0.167872 0.075275 2.230 0.02623 *
## gendermale 0.207112 0.050135 4.131 4.30e-05 ***
## languagenon-english -0.206178 0.103639 -1.989 0.04726 *
## age -0.006046 0.002612 -2.315 0.02108 *
## cls_perc_eval 0.004656 0.001435 3.244 0.00127 **
## cls_creditsone credit 0.505306 0.104119 4.853 1.67e-06 ***
## bty_avg 0.051069 0.016934 3.016 0.00271 **
## pic_colorcolor -0.190579 0.067351 -2.830 0.00487 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4992 on 454 degrees of freedom
## Multiple R-squared: 0.1722, Adjusted R-squared: 0.1576
## F-statistic: 11.8 on 8 and 454 DF, p-value: 2.58e-15
The equation of the line is:
Score = 3.771922 + (ethnicity * 0.167872)+(gender * 0.207112) + (language* −0.206178) + (age * −0.006046) + (cls_perc_eval * 0.004656) + (cls_creditsone * 0.505306) + (_btyavg * 0.051069) + (pic_color * −0.190579)
Exercise 16
Verify that the conditions for this model are reasonable using diagnostic plots.
Solution 16
plot(back_select, col = "purple")The conditions for this model are not met. This is indicated by the residuals being nearly normal and slightly left-skewed. The variability is also nearly constant.
Exercise 17
The original paper describes how these data were gathered by taking a sample of professors from the University of Texas at Austin and including all courses that they have taught. Considering that each row represents a course, could this new information have an impact on any of the conditions of linear regression?
Solution 17
In my opinion I believe that this new information would have an impact on any of the conditions of linear regression because if one professor taught multiple courses the independence would be violated.
Exercise 18
Based on your final model, describe the characteristics of a professor and course at University of Texas at Austin that would be associated with a high evaluation score.
Solution 18
Based on my final model the characteristics of a professor and course at University of Texas at Austin that would be associated with a high evaluation score are as follows:
male, non minority, English speaking, age considered relatively young, teaches a onecredit course, profile with a color photo, student rated the professor with a high average beauty score and received a high number of evaluations from students.
Exercise 19
Would you be comfortable generalizing your conclusions to apply to professors generally (at any university)? Why or why not?
Solution 19
I would not be comfortable generalizing my conclusions to apply to professors generally at any university because I would prefer to run several independent studies across multiple universities to determine if the conditions and variables are the same across the board.