The baseball dataset consists of the statistics of 263 players in Major League Baseball in the season 1986. The dataset (hitters.csv) consist of 20 variables

Problem 1

The baseball dataset consists of the statistics of 263 players in Major League Baseball in the season 1986. The dataset (hitters.csv) consist of 20 variables:

Variable Description AtBat Number of times at bat in 1986

Hits Number of hits in 1986

HmRun Number of home runs in 1986

Runs Number of runs in 1986

RBI Number of runs batted in in 1986

Walks Number of walks in 1986

Years Number of years in major leagues CAtBat Number of times at bat during his career

CHits Number of hits during his career

CHmRun Number of home runs during his career

CRuns Number of runs during his career

CRBI Number of runs batted in during his career

CWalks Number of walks during his career

League A factor with levels A (coded as 1) and N (coded as 2) indicating player’s league at the end of 1986

Division A factor with levels E (coded as 1) and W (coded as 2) indicating player’s division at the end of 1986

PutOuts Number of put outs in 1986 Assists Number of assists in 1986

Errors Number of errors in 1986

Salary 1987 annual salary on opening day in thousands of dollars

NewLeague A factor with levels A (coded as 1) and N (coded as 2) indicating player’s league at the beginning of 1987

In this problem, we use Salary as the response variable, and the rest 19 variables as predictors/covariates, which measure the performance of each player in season

1986 and his whole career. Write R functions to perform variable selection using best subset selection partnered with BIC (Bayesian Information Criterion):

1) Starting from the null model, apply the forward stepwise selection algorithm to produce a sequence of sub-models iteratively, and select a single best model using the BIC. Plot the “BIC vs Number of Variables” curve. Present the selected model with the corresponding BIC.

2) Starting from the full model (that is, the one obtained from minimizing the MSE/RSS using all the predictors), apply the backward stepwise selection algorithm to produce a sequence of sub-models iteratively, and select a single best model using the BIC. Plot the “BIC vs Number of Variables” curve. Present the selected model with the corresponding BIC.

3) Are the selected models from 1) and 2) the same?

Problem 2

In this problem, we fit ridge regression on the same dataset as in Problem 1. First, standardize the variables so that they are on the same scale. Next, choose a grid of ?? values ranging from ?? = 1010 to ?? = 10?2, essentially covering the full range of scenarios from the null model containing only the intercept, to the least squares fit. For example:

> grid = 10^seq(10, -2, length=100)

1) Write an R function to do the following: associated with each value of ?? , compute a vector of ridge regression coefficients (including the intercept), stored in a 20 × 100 matrix, with 20 rows (one for each predictor, plus an intercept) and 100 columns (one for each value of ??).

2) To find the “best” ?? , use ten-fold cross-validation to choose the tuning parameter from the previous grid of values. Set a random seed – set.seed(1), first so your results will be reproducible, since the choice of the cross-validation folds is random. Plot the “Cross-Validation Error versus ??” curve, and report the selected ??.

3) Finally, refit the ridge regression model on the full dataset, using the value of ?? chosen by cross-validation, and report the coefficient estimates.

Remark: You should expect that none of the coefficients are zero – ridge regression does not perform variable selection.

Problem 3

In this problem, we revisit the best subset selection problem. Given a response vector ?? = (??1, … , ????)

?? and an ?? × ?? design matrix ?? = (??1, … , ????) ?? with ???? =

(????1, … , ??????) ??

. For 1 ? ?? ? ??, let ???0, ??? be the solution to the following sparsity-

constrained least squares problem:

min ??0,??:????0=??

? ?? ? ??0 ? ???? ?2 2 = min

??0,??:????0=?? ? (???? ? ??0 ? ????

????) 2??

??=1 .

Based on the property ???0 = ??? ? ??? ?????, we can center ?? and ?? first to get rid of the

intercept, and solve

min ??:????0=??

? ??? ? ????? ?2 2,

where ??? and ??? represent the centered ?? and ??, respectively. To solve this, we introduce the Gradient Hard Thresholding Pursuit (GraHTP) algorithm. Let ??(??) =

? ??? ? ????? ?2 2 (2??)? be the objective function.

GraHTP Algorithm.

Input: ???, ???, sparsity ??, stepsize ?? > 0

(Hint: normalize the columns of ??? to have variance 1).

Initialization: ??0 = 0, ?? = 1.

repeat

1) Compute ????? = ?????1 ? ?????(?????1);

2) Let ???? = supp(?????, ??) be the indices of ????? with the largest ?? absolute values; 3) Compute ???? = argmin{??(??); supp(??) ? ????};

?? = ?? + 1;

until convergence, i.e. ? ???? ? ?????1 ?2< 10 ?4. Output: ????. 1) Write an R function to implement the above GraHTP algorithm. 2) Consider again the baseball dataset in Problem 1 with ?? = 263, ?? = 19. For ?? = 1, … , ??, use the above function to find the best ??-sparse model, denoted by ???. Then use BIC to select a single best model among ?1, … , ???. 3) Compare your result with those obtained in Problem 1. Late submission will NOT be accepted. The students can write up the report in any word processing software, e.g. MS Word, Pages, LaTex, etc. The submission should contain only one single PDF. Format: The report should be prepared on A4/US letter sized paper. The main report should be no more than 10 pages including everything (e.g. text, equations, tables, figures etc.) except the list of references. The list of references (if there isany) should be added to the end of the report. The font size should be no smaller than 11 pt and the line space should be at least single spaced. The margins should be at least 1 inch on top and bottom and 1.25 inches on left and right. All tables and figures included in the report should be properly numbered. The sections and subsections should also be properly numbered. Remember that you have limited budget on pages, please use that wisely by choosing what to include in your report. Again, hand-written report will NOT be accepted. Implementation and Coding: Solve the problem by following the instructions and using the methods asked. For each method, students should give a clear description towards its implementation. The standard of clarity is that someone else can replicate the method based on your description. Students can code in any programming language. R is recommended.Attach thecode in the report, either with every problem or in the end of the report. If necessary, you can summarize your program in an algorithm format (like the ones showed in lecture slides). Again, remember the page limits.

Leave a Reply

Your email address will not be published.