SlideShare a Scribd company logo
DATA 503 – Applied Regression Analysis
Lecture 14: Diagnostics, Collinearity, Transformation, and
Missing Data Highlights
By Dr. Ellie Small
Overview
Topics:
‱ Diagnostics:
₋ Checking Error Variance
₋ Checking for Normality of the Errors
₋ Checking the Structure of the Model
‱ Categorical Predictors
‱ Collinearity
‱ Transformations:
₋ Box-Cox and Logtrans
₋ Polynomials
‱ Missing Data
2
Checking Error Variance
‱ To verify constant symmetrical variance, or homoscedasticity (vs. heteroscedasticity, or non-constant
variation), we plot the residuals (or standardized residuals) vs. the fitted values, with a horizontal line at
residual=0. The points should be randomly spread around the center line. We look for:
₋ “cone shape” – variance appears to be either increasing or decreasing with increasing fitted values
₋ “nonlinearity” – data points do not seem to be randomly spread around the center line but appears to
be following a pattern
The graph can be created manually using plot(fitted(lmod), residuals(lmod); abline(h=0), or via plot(lmod),
where it will be the first plot.
If there are any doubts, a magnified view can be obtained by plotting the square root of the residuals versus
the fitted values (the third plot in plot(lmod)).
‱ Also plot the predictors vs. the residuals using plot(predictor, residuals(lmod); abline(h=0); these data points
should also be randomly spread around the center line.
‱ Plotting a predictor that was not included in the model vs. the residuals could indicate that the predictor
should be included if a relationship appears to exist in the plot.
3
Checking for Normality of the Errors
4
‱ We check for normality using qqnorm(residuals(lmod)) and qqline(residuals(lmod)), or via plot(lmod), where
it will be the second plot. For large sample sizes (>30), we are only concerned with a plot that starts below
the line and ends above, indicating a long-tailed distribution. In that case we should run Shapiro’s test for
normality using shapiro.test(residuals(lmod)). If the p-value is large (greater than .05), we can assume
normality. If the p-value is small, we need to deal with non-normality of the data.
Plot of a long-tailed distribution
Finding Unusual Observations
Studentized Residual i: Residual of case (or subject) i vs. the model that excludes case i.
Unusual Observations
‱ Leverages: 𝒉 = 𝑑𝑖𝑎𝑔 𝑃X . The ith element of 𝒉 is the leverage of case (or subject) i; they can be obtained
using hatvalues(lmod). For all i, 0 ≀ ℎ𝑖 ≀ 𝑝, with the average equal to
𝑝
𝑛
. Large values indicate extreme
predictor values; report/investigate values that exceed
2𝑝
𝑛
. A half normal plot (available in the faraway
package) on 𝒉 will also show the largest values: halfnorm(hatvalues(lmod)).
‱ Outliers: Data points for which the magnitude of the residual or the studentized residual is large. Find them
using abs(residuals(lmod)) (regular) or abs(rstudent(lmod)) (studentized).
‱ Influential Observations: Points whose removal from the data set would cause a large change in the fit.
These are usually outliers with high leverage and can be found using Cook’s statistic via
cooks.distance(lmod). Investigate values larger than .5. The fourth and last plot in plot(lmod) also shows data
points with a Cook’s distance larger than .5.
5
Checking the Structure of the Model
In simple linear regression we can plot the response versus the predictor to check whether the
relationship is linear. We can also easily find outliers, high leverage points, and influential points
using this plot. In multiple regression, we can do this too for each predictor, but we need to
consider the other predictors. As such, we use the partial regression plot and the partial residual
plot.
‱ Partial Regression Plot: For a partial regression plot of the response 𝒀 versus predictor 𝒙 𝑗 , we
first remove the effect of the other predictors both from 𝒀 and 𝒙 𝑗 . We plot the residuals of the
regression of 𝒀 onto all predictors except 𝒙 𝑗 , versus the residuals of the regression of 𝒙 𝑗 onto
all predictors except 𝒙 𝑗 . The former we call 𝛿, the latter đ›Ÿ. We then use plot( 𝛿, đ›Ÿ). The slope of
this plot equals the jth regression coefficient in the full model.
‱ Partial Residual Plot: For a partial residual plot of the response 𝒀 versus predictor 𝒙 𝑗 , we
remove the predicted effect of all predictors except 𝒙 𝑗 from 𝒀, then plot these values against
𝒙 𝑗 . The slope of this plot also equals the jth regression coefficient in the full model. We can
obtain the partial residual plot in R using termplot(lmod, partial.resid=T, terms=(j-1)).
6
Categorical Predictors
If a predictor only takes on a limited number of values, it is considered a categorical predictor and
needs to be identified as such. If those values are alphanumeric, R will automatically do this for you.
If they are numeric, this needs to be done using 𝒙 𝑗 = factor(𝒙 𝑗 ). If this is not done, R will treat the
variable as an ordinary numeric variable, possibly resulting in an inferior model.
R will create dummy variables, one for each value except the first, and name those dummy variables
as the original variable name indexed with the value it represents. The dummy variable for a specific
value will equal 1 if the variable equals that value, and it will equal 0 otherwise. The first value (for
which there is no dummy variable) will therefore be implied when all the dummy variables equal 0.
7
Collinearity
Exact Collinearity: Some predictors are a linear combination of some of the others.
Collinearity: Some predictors are almost a linear combination of some of the others.
Finding collinearity:
‱ Eigenvalues: To find out if collinearity exists, we determine đŸ =
𝜆1
𝜆 𝑝
, where 𝜆1 ≄ ⋯ ≄ 𝜆 𝑝 are the ordered
eigenvalues of X
â€Č
X. If đŸ exceeds 30, there is significant collinearity. Use ei=eigen(crossprod(X))$val;
K=sqrt(ei[1]/ei)) to find K (it is the last value).
‱ Pairwise collinearity: This can be found from the correlations between the predictors; any correlation close
to 1 or -1 needs to be investigated. Use cor(X).
‱ Variance Inflation Factors (VIFs): đ‘‰đŒđč𝑗 =
1
1−𝑅2, where 𝑅2 comes from the regression model that regresses
𝒙 𝑗 on all other predictors. Investigate when it exceeds 5. In R: vif(X) gives all of them.
We investigate by removing suspect predictors one by one and see if it affects the model. If removing one does
not appear to make a great difference to the adjusted 𝑅2
for the model, we leave it out.
8
Transformations
The Box-Cox Method: Used to determine the best power transformation on the
response. It provides the likelihood of observing the transformed response 𝒀 given the
predictors X for a range of powers, with a power of 𝜆 = 0 indicating the log
transformation. In R: boxcox(lmod, plotit=T); this function also plots vertical lines indicating
the 95% confidence interval.
NOTE: Can be used for strictly positive responses only! But we may add a constant to all
responses if small negative responses are present.
NOTE: Box-Cox does not deal very well with outliers; as such, if the power is extreme, it is
likely wrong.
Logtrans: Used to determine the optimal đ›Œ for the transformation 𝑙𝑜𝑔 𝑌𝑖 + đ›Œ . It provides
the likelihood of observing the transformed response 𝒀 given the predictors X for a range
of đ›Œ. In R: logtrans(lmod, plotit=T); this function also plots vertical lines indicating the 95%
confidence interval.
9
Transformations - 2
Polynomials: When there appears to be a nonlinear relationship between the residuals
and the fitted values, there is likely a nonlinear relationship between the residuals and at
least one of the predictors. If this situation is found for one of the predictors, we create
polynomials for that predictor, adding additional predictors equal to the square of the
predictor, the cube, etc. etc. We go as far as the last power that is significant in the model.
NOTE: All powers less than the last significant power must be included, even if they,
themselves, are not significant.
NOTE: The function poly(𝒙 𝑗 , m) creates orthogonal polynomials for predictor 𝒙 𝑗 up to
the mth power.
NOTE: Orthogonal polynomials in 2 predictors 𝒙 𝑗 and 𝒙 𝑘 can be created using
polym(𝒙 𝑗 , 𝒙 𝑘 , degree=2)
10
Missing Data
Missing values in R should be indicated by NA. Make sure to change the data appropriately if some other method was
used. In R, summary(data) will indicate if there are missing values for each predictor, and if so, how many. For linear
regression, deleting cases with missing data is the default for R. Other options are:
1. Single imputation: Replace missing values in predictors with either the mean of the predictor, or with the predicted value
of a regression of the predictor on the other predictors. For the latter, make sure to include all predictors in the regression,
even those that you will not include in your final model.
Regression method for predictor 𝒙 𝑗 : lmod=lm(𝒙 𝑗 ~X, data); data2[is.na(data[,j]),j]=predict(lmod, data[is.na(data[,j]),])
Note that data2 must start off equal to data and will be the data set with the imputed values in the end.
2. Multiple Imputation: Use the regression method above to determine the missing values but add a random error to each.
Do this multiple times and take the aggregate of the regression coefficients and standard errors over all of them.
In R, the package Amelia may be used to do multiple imputation, where a=amelia(data, m) creates m datasets like the
original one, but with the missing values replaced using regression (the regression method of single imputation) plus a
random error. The function outputs a$m, and a$imputations[[i]] as the data sets with imputed values for i going from 1 to
m. A regression can then be performed on each dataset using a loop, and the regression coefficients and standard errors
saved as rows in matrices. The function agg=mi.meld(q=betas, se=st.errors) will then do the aggregation of the matrices
resulting in the vectors agg$q.mi and agg$se.mi, containing the aggregated regression coefficients and aggregated standard
errors, respectively.
11

More Related Content

PPT
Regression analysis ppt
PPTX
Econometrics chapter 5-two-variable-regression-interval-estimation-
PDF
Linear regression
PDF
Linear models for data science
PDF
Logistic regression
PDF
Data Science - Part XII - Ridge Regression, LASSO, and Elastic Nets
PDF
working with python
PPTX
Transformation of variables
Regression analysis ppt
Econometrics chapter 5-two-variable-regression-interval-estimation-
Linear regression
Linear models for data science
Logistic regression
Data Science - Part XII - Ridge Regression, LASSO, and Elastic Nets
working with python
Transformation of variables

What's hot (20)

PDF
Regression analysis algorithm
PDF
Regression analysis in excel
PPSX
Lasso and ridge regression
PPTX
Functional Forms of Regression Models | Eonomics
PPTX
Machine Learning - Simple Linear Regression
PPTX
Regression Analysis
PPTX
Diagnostic methods for Building the regression model
PPTX
Statistics-Regression analysis
PPT
Lecture 1 maximum likelihood
PDF
Linear regression
PPTX
Logistic regression
PPTX
Simple linear regression analysis
PDF
Ridge regression
PPT
Tbs910 regression models
PPTX
Introduction to Maximum Likelihood Estimator
PDF
Visual Explanation of Ridge Regression and LASSO
PPT
Notes Ch8
PPTX
Contingency Table Test, M. Asad Hayat, UET Taxila
PDF
Estimation theory 1
Regression analysis algorithm
Regression analysis in excel
Lasso and ridge regression
Functional Forms of Regression Models | Eonomics
Machine Learning - Simple Linear Regression
Regression Analysis
Diagnostic methods for Building the regression model
Statistics-Regression analysis
Lecture 1 maximum likelihood
Linear regression
Logistic regression
Simple linear regression analysis
Ridge regression
Tbs910 regression models
Introduction to Maximum Likelihood Estimator
Visual Explanation of Ridge Regression and LASSO
Notes Ch8
Contingency Table Test, M. Asad Hayat, UET Taxila
Estimation theory 1
Ad

Similar to 2. diagnostics, collinearity, transformation, and missing data (20)

PPTX
Linear regression by Kodebay
PPT
Linear regression
 
PPTX
Linear Regression.pptx
PDF
Multivariate Regression Analysis
PPTX
14. Regression_RcOMMANDER .pptx
PDF
Assumptions of Linear Regression - Machine Learning
PPTX
11.2. Quantitative Data Analysis - Regression.pptx
PPTX
What is Multiple Linear Regression and How Can it be Helpful for Business Ana...
PPTX
Regression analysis in R
PPTX
What is Multiple Linear Regression and How Can it be Helpful for Business Ana...
DOCX
MLR Project (Onion)
PDF
Multiple linear regression
PPTX
1. linear model, inference, prediction
PDF
Simple linear regression
PDF
Unsupervised learning
PPTX
Introduction to Regression Analysis and R
PPTX
Regression_JAMOVI.pptx- Statistical data analysis
PDF
Chapter 18,19
PPTX
PPTX
Corrleation and regression
Linear regression by Kodebay
Linear regression
 
Linear Regression.pptx
Multivariate Regression Analysis
14. Regression_RcOMMANDER .pptx
Assumptions of Linear Regression - Machine Learning
11.2. Quantitative Data Analysis - Regression.pptx
What is Multiple Linear Regression and How Can it be Helpful for Business Ana...
Regression analysis in R
What is Multiple Linear Regression and How Can it be Helpful for Business Ana...
MLR Project (Onion)
Multiple linear regression
1. linear model, inference, prediction
Simple linear regression
Unsupervised learning
Introduction to Regression Analysis and R
Regression_JAMOVI.pptx- Statistical data analysis
Chapter 18,19
Corrleation and regression
Ad

Recently uploaded (20)

PPTX
Leprosy and NLEP programme community medicine
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPT
Predictive modeling basics in data cleaning process
PDF
Introduction to Data Science and Data Analysis
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
Managing Community Partner Relationships
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
Introduction to Knowledge Engineering Part 1
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
Computer network topology notes for revision
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PPT
ISS -ESG Data flows What is ESG and HowHow
Leprosy and NLEP programme community medicine
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Predictive modeling basics in data cleaning process
Introduction to Data Science and Data Analysis
.pdf is not working space design for the following data for the following dat...
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
Reliability_Chapter_ presentation 1221.5784
Managing Community Partner Relationships
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
IBA_Chapter_11_Slides_Final_Accessible.pptx
Introduction to Knowledge Engineering Part 1
Data_Analytics_and_PowerBI_Presentation.pptx
Computer network topology notes for revision
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
Galatica Smart Energy Infrastructure Startup Pitch Deck
ISS -ESG Data flows What is ESG and HowHow

2. diagnostics, collinearity, transformation, and missing data

  • 1. DATA 503 – Applied Regression Analysis Lecture 14: Diagnostics, Collinearity, Transformation, and Missing Data Highlights By Dr. Ellie Small
  • 2. Overview Topics: ‱ Diagnostics: ₋ Checking Error Variance ₋ Checking for Normality of the Errors ₋ Checking the Structure of the Model ‱ Categorical Predictors ‱ Collinearity ‱ Transformations: ₋ Box-Cox and Logtrans ₋ Polynomials ‱ Missing Data 2
  • 3. Checking Error Variance ‱ To verify constant symmetrical variance, or homoscedasticity (vs. heteroscedasticity, or non-constant variation), we plot the residuals (or standardized residuals) vs. the fitted values, with a horizontal line at residual=0. The points should be randomly spread around the center line. We look for: ₋ “cone shape” – variance appears to be either increasing or decreasing with increasing fitted values ₋ “nonlinearity” – data points do not seem to be randomly spread around the center line but appears to be following a pattern The graph can be created manually using plot(fitted(lmod), residuals(lmod); abline(h=0), or via plot(lmod), where it will be the first plot. If there are any doubts, a magnified view can be obtained by plotting the square root of the residuals versus the fitted values (the third plot in plot(lmod)). ‱ Also plot the predictors vs. the residuals using plot(predictor, residuals(lmod); abline(h=0); these data points should also be randomly spread around the center line. ‱ Plotting a predictor that was not included in the model vs. the residuals could indicate that the predictor should be included if a relationship appears to exist in the plot. 3
  • 4. Checking for Normality of the Errors 4 ‱ We check for normality using qqnorm(residuals(lmod)) and qqline(residuals(lmod)), or via plot(lmod), where it will be the second plot. For large sample sizes (>30), we are only concerned with a plot that starts below the line and ends above, indicating a long-tailed distribution. In that case we should run Shapiro’s test for normality using shapiro.test(residuals(lmod)). If the p-value is large (greater than .05), we can assume normality. If the p-value is small, we need to deal with non-normality of the data. Plot of a long-tailed distribution
  • 5. Finding Unusual Observations Studentized Residual i: Residual of case (or subject) i vs. the model that excludes case i. Unusual Observations ‱ Leverages: 𝒉 = 𝑑𝑖𝑎𝑔 𝑃X . The ith element of 𝒉 is the leverage of case (or subject) i; they can be obtained using hatvalues(lmod). For all i, 0 ≀ ℎ𝑖 ≀ 𝑝, with the average equal to 𝑝 𝑛 . Large values indicate extreme predictor values; report/investigate values that exceed 2𝑝 𝑛 . A half normal plot (available in the faraway package) on 𝒉 will also show the largest values: halfnorm(hatvalues(lmod)). ‱ Outliers: Data points for which the magnitude of the residual or the studentized residual is large. Find them using abs(residuals(lmod)) (regular) or abs(rstudent(lmod)) (studentized). ‱ Influential Observations: Points whose removal from the data set would cause a large change in the fit. These are usually outliers with high leverage and can be found using Cook’s statistic via cooks.distance(lmod). Investigate values larger than .5. The fourth and last plot in plot(lmod) also shows data points with a Cook’s distance larger than .5. 5
  • 6. Checking the Structure of the Model In simple linear regression we can plot the response versus the predictor to check whether the relationship is linear. We can also easily find outliers, high leverage points, and influential points using this plot. In multiple regression, we can do this too for each predictor, but we need to consider the other predictors. As such, we use the partial regression plot and the partial residual plot. ‱ Partial Regression Plot: For a partial regression plot of the response 𝒀 versus predictor 𝒙 𝑗 , we first remove the effect of the other predictors both from 𝒀 and 𝒙 𝑗 . We plot the residuals of the regression of 𝒀 onto all predictors except 𝒙 𝑗 , versus the residuals of the regression of 𝒙 𝑗 onto all predictors except 𝒙 𝑗 . The former we call 𝛿, the latter đ›Ÿ. We then use plot( 𝛿, đ›Ÿ). The slope of this plot equals the jth regression coefficient in the full model. ‱ Partial Residual Plot: For a partial residual plot of the response 𝒀 versus predictor 𝒙 𝑗 , we remove the predicted effect of all predictors except 𝒙 𝑗 from 𝒀, then plot these values against 𝒙 𝑗 . The slope of this plot also equals the jth regression coefficient in the full model. We can obtain the partial residual plot in R using termplot(lmod, partial.resid=T, terms=(j-1)). 6
  • 7. Categorical Predictors If a predictor only takes on a limited number of values, it is considered a categorical predictor and needs to be identified as such. If those values are alphanumeric, R will automatically do this for you. If they are numeric, this needs to be done using 𝒙 𝑗 = factor(𝒙 𝑗 ). If this is not done, R will treat the variable as an ordinary numeric variable, possibly resulting in an inferior model. R will create dummy variables, one for each value except the first, and name those dummy variables as the original variable name indexed with the value it represents. The dummy variable for a specific value will equal 1 if the variable equals that value, and it will equal 0 otherwise. The first value (for which there is no dummy variable) will therefore be implied when all the dummy variables equal 0. 7
  • 8. Collinearity Exact Collinearity: Some predictors are a linear combination of some of the others. Collinearity: Some predictors are almost a linear combination of some of the others. Finding collinearity: ‱ Eigenvalues: To find out if collinearity exists, we determine đŸ = 𝜆1 𝜆 𝑝 , where 𝜆1 ≄ ⋯ ≄ 𝜆 𝑝 are the ordered eigenvalues of X â€Č X. If đŸ exceeds 30, there is significant collinearity. Use ei=eigen(crossprod(X))$val; K=sqrt(ei[1]/ei)) to find K (it is the last value). ‱ Pairwise collinearity: This can be found from the correlations between the predictors; any correlation close to 1 or -1 needs to be investigated. Use cor(X). ‱ Variance Inflation Factors (VIFs): đ‘‰đŒđč𝑗 = 1 1−𝑅2, where 𝑅2 comes from the regression model that regresses 𝒙 𝑗 on all other predictors. Investigate when it exceeds 5. In R: vif(X) gives all of them. We investigate by removing suspect predictors one by one and see if it affects the model. If removing one does not appear to make a great difference to the adjusted 𝑅2 for the model, we leave it out. 8
  • 9. Transformations The Box-Cox Method: Used to determine the best power transformation on the response. It provides the likelihood of observing the transformed response 𝒀 given the predictors X for a range of powers, with a power of 𝜆 = 0 indicating the log transformation. In R: boxcox(lmod, plotit=T); this function also plots vertical lines indicating the 95% confidence interval. NOTE: Can be used for strictly positive responses only! But we may add a constant to all responses if small negative responses are present. NOTE: Box-Cox does not deal very well with outliers; as such, if the power is extreme, it is likely wrong. Logtrans: Used to determine the optimal đ›Œ for the transformation 𝑙𝑜𝑔 𝑌𝑖 + đ›Œ . It provides the likelihood of observing the transformed response 𝒀 given the predictors X for a range of đ›Œ. In R: logtrans(lmod, plotit=T); this function also plots vertical lines indicating the 95% confidence interval. 9
  • 10. Transformations - 2 Polynomials: When there appears to be a nonlinear relationship between the residuals and the fitted values, there is likely a nonlinear relationship between the residuals and at least one of the predictors. If this situation is found for one of the predictors, we create polynomials for that predictor, adding additional predictors equal to the square of the predictor, the cube, etc. etc. We go as far as the last power that is significant in the model. NOTE: All powers less than the last significant power must be included, even if they, themselves, are not significant. NOTE: The function poly(𝒙 𝑗 , m) creates orthogonal polynomials for predictor 𝒙 𝑗 up to the mth power. NOTE: Orthogonal polynomials in 2 predictors 𝒙 𝑗 and 𝒙 𝑘 can be created using polym(𝒙 𝑗 , 𝒙 𝑘 , degree=2) 10
  • 11. Missing Data Missing values in R should be indicated by NA. Make sure to change the data appropriately if some other method was used. In R, summary(data) will indicate if there are missing values for each predictor, and if so, how many. For linear regression, deleting cases with missing data is the default for R. Other options are: 1. Single imputation: Replace missing values in predictors with either the mean of the predictor, or with the predicted value of a regression of the predictor on the other predictors. For the latter, make sure to include all predictors in the regression, even those that you will not include in your final model. Regression method for predictor 𝒙 𝑗 : lmod=lm(𝒙 𝑗 ~X, data); data2[is.na(data[,j]),j]=predict(lmod, data[is.na(data[,j]),]) Note that data2 must start off equal to data and will be the data set with the imputed values in the end. 2. Multiple Imputation: Use the regression method above to determine the missing values but add a random error to each. Do this multiple times and take the aggregate of the regression coefficients and standard errors over all of them. In R, the package Amelia may be used to do multiple imputation, where a=amelia(data, m) creates m datasets like the original one, but with the missing values replaced using regression (the regression method of single imputation) plus a random error. The function outputs a$m, and a$imputations[[i]] as the data sets with imputed values for i going from 1 to m. A regression can then be performed on each dataset using a loop, and the regression coefficients and standard errors saved as rows in matrices. The function agg=mi.meld(q=betas, se=st.errors) will then do the aggregation of the matrices resulting in the vectors agg$q.mi and agg$se.mi, containing the aggregated regression coefficients and aggregated standard errors, respectively. 11