Introduction

In this notebook we will be using data from Federal Reserve of delinquency rates for mortgages by metro area to forecast delinquency rates in the Sacramento Metro Area. We will build three forecasting models and compare their performance. Finally we use the models to predict delinquency rates for the next 12 weeks.

The Data

We have downloaded the data as a csv from the Federal Reserve. We load it into r with the code below.

library(tidyverse)
library(modeltime)
library(tidymodels)
library(timetk)

late_mortgage <- read_csv("C:/Users/Owner/Documents/Data/MetroAreaMortgagesPercent-30-89DaysLate-thru-2022-06.csv")

Now let’s take a quick look at the data. Below we can see that we have 317 records of 177 variables. Taking a glimpse() of our data though reveals that this dataset is actually wide and we’re probably gonna want to make it long. It looks like most of the columns are the months of the record. We’ll want to pivot those months to be their own variable. It looks like we don’t have any missing data though, so this shouldn’t get too complicated.

dim(late_mortgage)
[1] 317 177
glimpse(late_mortgage)
Rows: 317
Columns: 177
$ RegionType <chr> "National", "MetroArea", "MetroArea", "MetroArea", "MetroArea", "MetroArea", "MetroArea…
$ Name       <chr> "United States", "Akron, OH", "Albany-Schenectady-Troy, NY", "Albuquerque, NM", "Allent…
$ CBSACode   <chr> "-----", "10420", "10580", "10740", "10900", "11100", "11260", "11460", "11540", "11700…
$ `2008-01`  <dbl> 3.5, 3.4, 3.0, 3.0, 3.5, 4.5, 3.1, 2.6, 1.5, 2.8, 2.3, 5.0, 3.4, 3.8, 4.8, 2.9, 4.6, 3.…
$ `2008-02`  <dbl> 3.2, 2.8, 2.5, 2.8, 3.1, 4.3, 2.6, 2.4, 1.5, 3.3, 2.5, 4.6, 3.3, 4.5, 4.5, 2.7, 3.9, 3.…
$ `2008-03`  <dbl> 3.1, 2.5, 2.3, 2.7, 3.0, 3.6, 2.5, 2.5, 1.2, 2.5, 2.3, 4.4, 3.1, 4.2, 3.8, 2.6, 4.0, 3.…
$ `2008-04`  <dbl> 3.1, 2.9, 2.5, 2.6, 2.7, 4.3, 2.5, 2.5, 1.6, 2.7, 2.5, 4.5, 3.1, 3.6, 3.6, 2.4, 4.2, 3.…
$ `2008-05`  <dbl> 3.2, 2.9, 2.5, 2.6, 3.0, 4.3, 2.4, 2.5, 1.2, 2.8, 2.7, 4.6, 3.3, 3.8, 4.0, 2.5, 4.2, 3.…
$ `2008-06`  <dbl> 3.2, 3.2, 2.8, 2.9, 2.8, 4.2, 2.5, 2.6, 1.6, 2.8, 2.7, 4.5, 3.3, 4.4, 3.9, 2.4, 4.2, 3.…
$ `2008-07`  <dbl> 3.4, 2.9, 2.7, 3.0, 3.1, 4.1, 2.3, 2.6, 1.4, 2.7, 3.4, 4.6, 3.5, 3.4, 4.1, 2.7, 4.6, 3.…
$ `2008-08`  <dbl> 3.6, 3.0, 3.1, 3.3, 3.3, 4.8, 2.7, 3.1, 1.6, 3.3, 3.2, 4.9, 3.6, 4.1, 4.1, 2.9, 5.1, 3.…
$ `2008-09`  <dbl> 3.6, 3.4, 2.9, 3.1, 3.4, 4.4, 2.2, 2.6, 1.7, 3.9, 3.7, 5.1, 3.6, 2.9, 4.1, 3.0, 5.3, 3.…
$ `2008-10`  <dbl> 3.8, 3.5, 3.0, 3.4, 3.5, 4.8, 1.3, 2.4, 1.7, 3.6, 3.6, 5.2, 4.1, 4.0, 4.9, 3.2, 5.4, 3.…
$ `2008-11`  <dbl> 3.9, 3.7, 3.0, 3.7, 3.9, 4.5, 1.8, 3.0, 1.7, 3.8, 3.9, 5.4, 4.5, 4.0, 4.8, 3.2, 5.4, 4.…
$ `2008-12`  <dbl> 4.2, 3.7, 3.5, 3.9, 3.9, 5.0, 2.4, 2.9, 1.7, 3.9, 5.1, 5.7, 5.1, 4.6, 5.0, 3.3, 5.3, 4.…
$ `2009-01`  <dbl> 4.2, 3.9, 3.4, 4.0, 4.0, 4.6, 2.6, 2.9, 1.8, 4.0, 4.0, 5.7, 5.8, 4.5, 5.2, 3.1, 5.5, 4.…
$ `2009-02`  <dbl> 3.9, 3.6, 3.2, 3.5, 4.0, 3.9, 2.8, 2.5, 1.9, 3.3, 3.8, 5.4, 5.1, 4.0, 5.0, 3.1, 5.7, 4.…
$ `2009-03`  <dbl> 3.7, 3.1, 3.1, 3.3, 3.4, 3.7, 2.4, 2.3, 1.3, 3.4, 3.3, 5.3, 4.8, 3.1, 3.9, 2.9, 5.5, 3.…
$ `2009-04`  <dbl> 3.7, 3.4, 3.1, 3.2, 3.8, 3.6, 2.4, 2.4, 1.5, 3.2, 3.6, 5.2, 4.7, 3.6, 4.2, 2.8, 5.0, 4.…
$ `2009-05`  <dbl> 3.8, 3.3, 3.1, 3.5, 3.7, 4.0, 2.6, 2.6, 1.9, 3.5, 3.9, 5.4, 4.9, 3.5, 4.7, 2.9, 5.1, 4.…
$ `2009-06`  <dbl> 3.8, 3.3, 3.3, 3.8, 3.8, 4.2, 2.8, 2.8, 1.9, 3.7, 3.6, 5.3, 4.3, 3.8, 4.9, 3.0, 5.1, 4.…
$ `2009-07`  <dbl> 4.0, 3.8, 3.1, 3.9, 4.2, 4.9, 3.3, 2.6, 2.1, 4.2, 4.1, 5.5, 5.4, 4.7, 4.9, 3.2, 5.2, 4.…
$ `2009-08`  <dbl> 4.0, 3.5, 3.2, 3.8, 4.0, 4.8, 3.2, 2.8, 1.9, 3.7, 3.7, 5.4, 4.5, 3.9, 4.5, 3.3, 5.7, 4.…
$ `2009-09`  <dbl> 3.9, 3.5, 3.1, 3.5, 4.0, 4.4, 3.0, 2.6, 2.1, 3.8, 4.0, 5.5, 4.2, 3.5, 4.4, 3.2, 5.4, 4.…
$ `2009-10`  <dbl> 4.0, 3.7, 3.2, 3.6, 3.7, 4.3, 2.8, 2.0, 1.8, 3.9, 4.1, 5.5, 3.9, 4.2, 4.6, 3.5, 5.1, 4.…
$ `2009-11`  <dbl> 3.9, 3.3, 2.9, 3.6, 3.8, 4.3, 2.3, 2.1, 2.2, 4.1, 3.8, 5.4, 4.6, 3.9, 4.5, 3.6, 5.0, 4.…
$ `2009-12`  <dbl> 3.9, 3.7, 3.2, 3.6, 3.8, 4.4, 2.5, 2.4, 2.0, 4.8, 4.1, 5.3, 4.4, 4.6, 4.5, 3.6, 5.1, 4.…
$ `2010-01`  <dbl> 4.0, 3.6, 3.5, 3.7, 4.2, 4.6, 2.7, 2.6, 2.3, 4.9, 4.7, 5.5, 4.3, 4.3, 4.8, 3.3, 5.1, 4.…
$ `2010-02`  <dbl> 3.8, 2.9, 3.2, 3.7, 3.7, 4.7, 3.0, 2.5, 2.0, 4.3, 4.1, 5.2, 4.1, 3.5, 4.5, 3.4, 4.9, 4.…
$ `2010-03`  <dbl> 3.4, 2.7, 2.9, 3.4, 3.8, 3.8, 2.6, 2.1, 1.7, 3.9, 3.5, 4.8, 3.7, 3.1, 3.6, 3.0, 4.2, 3.…
$ `2010-04`  <dbl> 3.3, 2.8, 2.7, 3.4, 3.4, 4.1, 2.5, 1.9, 1.3, 4.1, 3.4, 4.7, 3.8, 3.4, 4.2, 3.0, 4.0, 3.…
$ `2010-05`  <dbl> 3.5, 3.0, 2.9, 3.3, 3.3, 4.1, 2.5, 2.0, 1.9, 4.0, 3.3, 4.8, 3.8, 2.8, 4.3, 3.2, 4.2, 3.…
$ `2010-06`  <dbl> 3.5, 2.9, 3.2, 3.2, 3.5, 4.4, 2.4, 2.6, 1.8, 4.2, 3.8, 5.0, 4.0, 3.4, 4.1, 3.1, 4.4, 3.…
$ `2010-07`  <dbl> 3.7, 3.1, 3.8, 3.6, 3.8, 4.5, 2.6, 2.6, 1.9, 4.1, 4.1, 5.3, 4.0, 4.0, 4.1, 3.2, 4.4, 4.…
$ `2010-08`  <dbl> 3.7, 3.2, 3.7, 3.4, 3.8, 4.8, 2.4, 2.9, 1.7, 4.0, 4.2, 5.2, 3.9, 4.2, 4.5, 3.2, 4.7, 4.…
$ `2010-09`  <dbl> 3.7, 3.0, 3.2, 3.4, 3.9, 4.4, 2.6, 2.8, 1.7, 4.0, 4.1, 5.2, 3.8, 4.6, 4.3, 3.2, 4.4, 4.…
$ `2010-10`  <dbl> 3.7, 3.1, 3.6, 3.4, 3.8, 4.5, 2.6, 2.5, 1.6, 3.8, 4.1, 5.3, 4.2, 3.9, 4.3, 3.2, 4.4, 4.…
$ `2010-11`  <dbl> 3.6, 2.7, 3.3, 3.3, 3.9, 4.4, 2.1, 2.2, 1.7, 4.2, 4.2, 5.0, 4.5, 3.9, 4.7, 3.1, 3.9, 3.…
$ `2010-12`  <dbl> 3.7, 3.1, 3.2, 3.7, 4.3, 3.6, 2.5, 2.4, 1.5, 4.2, 3.6, 5.2, 4.5, 3.6, 4.9, 3.2, 4.2, 4.…
$ `2011-01`  <dbl> 3.7, 2.8, 3.5, 3.5, 4.0, 4.1, 2.5, 2.6, 1.7, 4.5, 4.1, 5.2, 4.8, 4.1, 5.0, 3.2, 3.7, 4.…
$ `2011-02`  <dbl> 3.4, 2.7, 3.3, 3.2, 3.8, 4.1, 2.1, 2.6, 1.3, 4.1, 3.9, 5.0, 4.5, 3.2, 4.5, 3.1, 3.8, 4.…
$ `2011-03`  <dbl> 3.1, 2.6, 2.9, 2.8, 3.5, 3.6, 2.0, 2.4, 1.4, 3.3, 3.2, 4.5, 3.6, 2.9, 3.5, 2.7, 3.5, 3.…
$ `2011-04`  <dbl> 2.9, 2.2, 2.7, 2.8, 3.3, 3.3, 2.2, 2.1, 1.3, 3.3, 3.2, 4.2, 3.7, 2.0, 3.6, 2.5, 3.4, 3.…
$ `2011-05`  <dbl> 3.1, 2.7, 3.1, 3.0, 3.6, 3.7, 2.5, 2.4, 1.3, 3.5, 3.2, 4.5, 3.5, 3.1, 3.5, 2.6, 3.3, 3.…
$ `2011-06`  <dbl> 3.2, 2.9, 2.7, 2.8, 3.5, 3.9, 2.5, 2.5, 1.5, 3.6, 3.0, 4.4, 4.0, 2.9, 3.7, 2.6, 3.2, 3.…
$ `2011-07`  <dbl> 3.4, 3.2, 3.0, 3.0, 3.5, 3.7, 2.7, 2.5, 1.8, 3.9, 3.8, 4.8, 4.1, 3.3, 4.2, 2.8, 3.4, 3.…
$ `2011-08`  <dbl> 3.4, 3.3, 3.2, 2.9, 3.8, 3.6, 2.8, 2.5, 1.5, 3.9, 3.9, 4.8, 4.1, 3.5, 4.3, 3.0, 4.0, 3.…
$ `2011-09`  <dbl> 3.4, 2.9, 2.7, 3.0, 3.5, 3.8, 2.3, 2.4, 1.4, 3.4, 3.8, 4.7, 4.3, 3.5, 4.4, 3.0, 4.0, 3.…
$ `2011-10`  <dbl> 3.4, 3.0, 3.0, 3.1, 3.5, 3.3, 2.2, 2.2, 1.5, 3.6, 3.4, 4.8, 4.2, 4.8, 4.7, 3.0, 3.8, 3.…
$ `2011-11`  <dbl> 3.3, 2.9, 2.9, 3.1, 3.5, 3.8, 2.1, 2.3, 1.7, 3.9, 3.1, 4.7, 3.7, 4.0, 4.5, 2.9, 3.3, 3.…
$ `2011-12`  <dbl> 3.5, 3.3, 3.1, 3.4, 3.7, 3.7, 2.7, 2.4, 1.5, 3.9, 3.7, 4.9, 4.2, 4.0, 4.7, 3.1, 3.9, 4.…
$ `2012-01`  <dbl> 3.7, 3.6, 3.4, 3.5, 3.9, 4.3, 3.2, 2.5, 1.8, 3.8, 3.8, 5.2, 4.8, 5.1, 5.2, 3.2, 4.2, 4.…
$ `2012-02`  <dbl> 3.3, 3.2, 3.2, 3.1, 3.4, 4.1, 2.6, 2.3, 1.4, 3.9, 3.3, 4.7, 4.3, 4.5, 4.3, 2.8, 4.0, 3.…
$ `2012-03`  <dbl> 3.1, 3.1, 2.8, 3.0, 3.3, 3.1, 2.8, 2.3, 1.5, 3.8, 2.9, 4.4, 4.1, 3.6, 4.0, 2.6, 3.6, 3.…
$ `2012-04`  <dbl> 3.0, 3.2, 2.7, 2.9, 3.2, 3.3, 2.4, 2.3, 1.8, 3.4, 2.9, 4.2, 3.7, 3.1, 3.8, 2.5, 3.3, 3.…
$ `2012-05`  <dbl> 3.1, 3.1, 2.9, 3.1, 3.4, 3.8, 2.6, 2.5, 1.6, 3.7, 3.4, 4.4, 3.9, 3.1, 4.2, 2.7, 3.5, 3.…
$ `2012-06`  <dbl> 3.1, 3.0, 3.0, 2.9, 3.6, 4.1, 2.5, 2.2, 2.0, 3.6, 3.8, 4.3, 4.1, 3.3, 3.8, 2.6, 3.6, 3.…
$ `2012-07`  <dbl> 3.3, 3.4, 3.3, 3.1, 3.7, 4.5, 2.4, 2.7, 1.8, 4.2, 3.5, 4.5, 4.3, 3.3, 4.2, 2.8, 4.0, 3.…
$ `2012-08`  <dbl> 3.3, 3.3, 3.2, 3.3, 3.6, 4.6, 2.4, 2.5, 2.0, 3.6, 3.1, 4.5, 3.9, 3.9, 3.7, 2.8, 3.8, 3.…
$ `2012-09`  <dbl> 3.3, 3.4, 3.0, 3.3, 3.6, 4.4, 2.3, 2.3, 1.6, 3.5, 3.3, 4.6, 3.8, 3.7, 3.8, 2.9, 3.8, 3.…
$ `2012-10`  <dbl> 3.4, 3.4, 3.1, 3.4, 3.7, 4.4, 2.3, 2.2, 1.9, 3.3, 3.0, 4.6, 4.2, 4.6, 4.2, 3.0, 4.0, 3.…
$ `2012-11`  <dbl> 3.2, 3.4, 3.1, 3.1, 3.3, 4.4, 2.0, 2.3, 1.5, 3.6, 3.2, 4.4, 3.4, 5.0, 4.0, 2.9, 3.9, 3.…
$ `2012-12`  <dbl> 3.4, 3.6, 3.2, 3.4, 3.8, 3.9, 2.1, 2.0, 1.5, 3.8, 3.4, 4.6, 4.0, 4.7, 4.6, 2.9, 4.1, 3.…
$ `2013-01`  <dbl> 3.4, 3.6, 3.1, 3.5, 3.6, 4.5, 2.1, 2.1, 2.1, 4.0, 3.7, 4.6, 3.6, 4.8, 5.0, 2.8, 4.1, 3.…
$ `2013-02`  <dbl> 3.1, 3.1, 3.0, 3.2, 3.5, 3.8, 2.2, 2.0, 1.7, 3.6, 3.0, 4.3, 3.0, 3.9, 4.5, 2.7, 3.8, 3.…
$ `2013-03`  <dbl> 2.9, 3.0, 2.6, 2.9, 3.3, 3.2, 2.1, 1.8, 1.5, 3.3, 3.2, 4.2, 3.4, 3.2, 3.9, 2.3, 3.6, 3.…
$ `2013-04`  <dbl> 2.7, 2.7, 2.4, 2.6, 3.3, 3.5, 2.0, 1.7, 1.3, 3.1, 2.4, 3.8, 3.4, 3.1, 3.4, 2.3, 3.3, 3.…
$ `2013-05`  <dbl> 2.7, 2.6, 2.5, 2.8, 3.3, 3.7, 2.1, 1.5, 1.6, 2.8, 2.7, 3.6, 3.7, 2.9, 3.1, 2.2, 3.2, 3.…
$ `2013-06`  <dbl> 2.7, 2.8, 2.4, 2.6, 3.3, 3.4, 2.2, 1.8, 2.0, 3.2, 3.3, 3.5, 3.4, 3.4, 3.6, 2.2, 2.9, 3.…
$ `2013-07`  <dbl> 2.8, 2.6, 2.3, 3.0, 3.4, 3.7, 2.1, 2.0, 1.7, 3.0, 2.5, 3.6, 3.5, 3.5, 3.6, 2.2, 3.2, 3.…
$ `2013-08`  <dbl> 2.8, 2.9, 2.2, 2.7, 3.2, 3.3, 2.2, 1.8, 1.6, 2.9, 2.2, 3.7, 4.0, 3.6, 3.7, 2.3, 3.1, 3.…
$ `2013-09`  <dbl> 2.6, 2.5, 2.1, 2.3, 2.9, 2.7, 2.2, 1.9, 1.3, 2.5, 1.7, 3.3, 3.1, 3.5, 3.8, 2.1, 2.5, 2.…
$ `2013-10`  <dbl> 2.8, 2.8, 2.3, 2.8, 3.5, 3.5, 2.1, 2.1, 1.8, 3.1, 3.3, 3.7, 3.8, 4.2, 4.3, 2.3, 3.1, 3.…
$ `2013-11`  <dbl> 2.6, 2.6, 2.2, 2.8, 3.3, 3.2, 1.8, 1.9, 1.7, 2.6, 2.7, 3.4, 3.4, 3.4, 4.1, 2.1, 2.7, 2.…
$ `2013-12`  <dbl> 2.9, 2.7, 2.3, 3.1, 3.5, 3.4, 2.2, 2.0, 2.1, 3.2, 3.1, 3.7, 3.6, 3.3, 4.2, 2.1, 3.4, 3.…
$ `2014-01`  <dbl> 2.9, 2.7, 2.5, 3.0, 3.4, 3.2, 2.5, 2.1, 1.5, 2.8, 3.9, 3.8, 3.9, 4.3, 4.3, 2.2, 3.4, 3.…
$ `2014-02`  <dbl> 2.4, 2.6, 2.4, 2.5, 2.7, 2.1, 1.8, 1.8, 1.6, 2.4, 2.7, 3.2, 3.6, 2.6, 3.6, 1.9, 2.6, 2.…
$ `2014-03`  <dbl> 2.4, 2.2, 2.2, 2.5, 2.6, 2.0, 1.8, 1.9, 1.3, 2.2, 2.7, 3.2, 3.5, 3.0, 3.4, 1.8, 2.9, 2.…
$ `2014-04`  <dbl> 2.1, 1.9, 2.2, 2.4, 2.5, 1.4, 1.6, 1.6, 1.3, 2.1, 2.1, 2.9, 3.7, 2.1, 2.7, 1.5, 2.1, 2.…
$ `2014-05`  <dbl> 2.4, 2.4, 2.0, 2.5, 2.9, 2.8, 1.7, 1.8, 1.6, 2.2, 2.0, 3.1, 4.4, 2.6, 3.0, 1.7, 2.7, 2.…
$ `2014-06`  <dbl> 2.1, 2.0, 2.1, 2.2, 2.7, 2.7, 1.6, 1.6, 1.2, 2.1, 1.9, 2.7, 3.7, 2.5, 3.0, 1.6, 2.3, 2.…
$ `2014-07`  <dbl> 2.4, 2.4, 2.1, 2.6, 3.2, 2.9, 2.0, 1.8, 1.6, 2.4, 2.4, 3.1, 3.4, 2.9, 3.1, 1.9, 2.7, 2.…
$ `2014-08`  <dbl> 2.6, 2.6, 2.5, 2.5, 3.4, 2.4, 2.0, 2.4, 1.8, 2.4, 2.9, 3.3, 4.0, 2.8, 3.6, 1.9, 3.1, 3.…
$ `2014-09`  <dbl> 2.4, 2.4, 2.3, 2.2, 2.9, 2.4, 1.8, 1.9, 1.7, 2.0, 2.2, 2.9, 3.8, 1.9, 3.3, 1.9, 2.7, 2.…
$ `2014-10`  <dbl> 2.4, 2.5, 2.5, 2.6, 3.0, 2.6, 1.5, 1.8, 2.0, 2.0, 1.9, 3.1, 3.6, 3.2, 3.5, 1.9, 2.9, 2.…
$ `2014-11`  <dbl> 2.4, 2.5, 2.2, 2.2, 2.8, 2.7, 1.2, 1.8, 1.6, 2.7, 1.7, 3.0, 2.5, 2.4, 3.3, 1.9, 2.9, 2.…
$ `2014-12`  <dbl> 2.6, 2.8, 2.5, 2.5, 3.1, 2.3, 1.6, 1.8, 1.6, 2.8, 2.5, 3.3, 3.5, 3.6, 3.6, 2.0, 2.9, 3.…
$ `2015-01`  <dbl> 2.6, 2.8, 2.7, 2.6, 3.2, 3.0, 1.6, 1.7, 1.7, 2.7, 2.2, 3.4, 3.4, 3.6, 3.6, 2.0, 3.1, 3.…
$ `2015-02`  <dbl> 2.2, 2.1, 2.4, 2.0, 2.9, 2.6, 1.8, 1.5, 1.2, 2.2, 1.8, 2.8, 2.8, 3.6, 2.9, 1.6, 2.3, 2.…
$ `2015-03`  <dbl> 2.0, 1.8, 1.9, 2.2, 2.5, 2.2, 1.4, 1.1, 1.3, 1.8, 1.9, 2.7, 3.0, 2.8, 2.8, 1.4, 2.3, 2.…
$ `2015-04`  <dbl> 2.0, 1.7, 1.7, 1.8, 2.4, 2.1, 1.7, 1.0, 1.0, 2.5, 2.0, 2.5, 2.6, 3.2, 2.7, 1.6, 2.4, 2.…
$ `2015-05`  <dbl> 2.1, 1.9, 1.9, 2.1, 2.3, 2.6, 1.8, 1.1, 1.1, 2.2, 1.9, 2.8, 2.8, 3.6, 3.2, 1.6, 2.5, 2.…
$ `2015-06`  <dbl> 2.1, 2.1, 2.0, 2.0, 2.4, 2.5, 1.5, 1.1, 0.9, 2.4, 1.6, 2.7, 2.4, 2.7, 3.2, 1.3, 2.5, 2.…
$ `2015-07`  <dbl> 2.2, 2.6, 2.3, 2.2, 2.6, 2.3, 1.7, 1.3, 1.3, 2.0, 1.8, 2.8, 2.7, 3.1, 3.5, 1.4, 2.7, 2.…
$ `2015-08`  <dbl> 2.4, 2.6, 1.9, 2.2, 2.9, 2.8, 2.1, 1.3, 1.3, 2.4, 2.0, 3.1, 3.3, 2.8, 3.7, 1.5, 2.9, 2.…
$ `2015-09`  <dbl> 2.3, 2.3, 2.0, 2.2, 2.7, 2.8, 1.8, 1.3, 1.6, 2.6, 1.9, 2.9, 2.8, 3.1, 3.6, 1.6, 2.9, 2.…
$ `2015-10`  <dbl> 2.4, 2.4, 2.4, 2.4, 2.9, 3.1, 1.7, 1.7, 1.6, 2.5, 2.0, 3.1, 3.2, 3.4, 3.7, 1.5, 3.3, 2.…
$ `2015-11`  <dbl> 2.2, 2.1, 1.8, 2.2, 2.7, 3.0, 1.4, 1.5, 2.0, 2.6, 1.8, 2.9, 3.3, 3.1, 3.3, 1.4, 3.0, 2.…
$ `2015-12`  <dbl> 2.4, 2.2, 2.1, 2.4, 2.8, 2.5, 1.7, 1.8, 1.7, 2.5, 2.2, 3.2, 3.7, 2.8, 3.7, 1.6, 3.2, 2.…
$ `2016-01`  <dbl> 2.6, 2.4, 2.3, 2.8, 3.2, 2.4, 2.1, 1.4, 1.5, 2.9, 2.0, 3.3, 3.9, 3.4, 3.9, 1.7, 3.7, 3.…
$ `2016-02`  <dbl> 2.2, 2.1, 2.0, 2.1, 2.7, 2.0, 1.8, 1.2, 1.2, 2.7, 1.6, 2.8, 3.3, 2.6, 3.3, 1.5, 3.0, 2.…
$ `2016-03`  <dbl> 2.0, 1.9, 1.9, 2.1, 2.5, 1.9, 1.6, 1.1, 1.1, 2.3, 1.8, 2.5, 3.2, 2.2, 2.7, 1.4, 2.7, 2.…
$ `2016-04`  <dbl> 1.8, 1.6, 1.6, 1.8, 2.3, 2.3, 1.6, 1.1, 1.1, 2.2, 1.4, 2.4, 2.9, 2.3, 2.5, 1.3, 2.5, 2.…
$ `2016-05`  <dbl> 2.0, 2.0, 1.8, 2.0, 2.3, 2.2, 1.5, 1.2, 1.1, 2.4, 1.7, 2.6, 2.7, 2.1, 2.8, 1.4, 3.0, 2.…
$ `2016-06`  <dbl> 2.0, 2.1, 1.8, 2.0, 2.6, 2.8, 1.3, 1.1, 1.3, 2.6, 1.8, 2.5, 2.4, 2.0, 3.0, 1.4, 2.7, 2.…
$ `2016-07`  <dbl> 2.2, 2.2, 1.8, 2.2, 2.6, 3.2, 1.8, 1.2, 1.3, 2.5, 2.0, 2.7, 3.3, 2.4, 3.2, 1.5, 3.0, 2.…
$ `2016-08`  <dbl> 2.2, 2.2, 1.9, 2.4, 2.9, 3.0, 1.7, 1.4, 1.4, 2.6, 2.8, 2.8, 3.2, 2.6, 3.2, 1.6, 2.7, 2.…
$ `2016-09`  <dbl> 2.2, 2.2, 2.0, 2.2, 2.5, 3.2, 1.8, 1.7, 1.5, 2.7, 1.9, 2.7, 2.9, 2.5, 3.4, 1.5, 2.6, 2.…
$ `2016-10`  <dbl> 2.2, 2.1, 2.2, 2.3, 3.0, 3.2, 1.6, 1.3, 1.2, 2.6, 1.8, 2.8, 2.9, 2.4, 3.3, 1.7, 3.1, 2.…
$ `2016-11`  <dbl> 2.1, 2.3, 1.9, 2.2, 2.8, 3.2, 1.4, 1.2, 1.2, 2.5, 1.5, 2.8, 3.1, 2.8, 3.3, 1.7, 2.8, 2.…
$ `2016-12`  <dbl> 2.2, 2.4, 2.1, 2.3, 3.0, 3.0, 1.4, 1.4, 0.8, 2.4, 2.2, 2.8, 2.7, 2.5, 3.5, 1.7, 2.8, 2.…
$ `2017-01`  <dbl> 2.4, 2.5, 2.2, 2.5, 3.3, 3.6, 1.6, 1.4, 1.2, 2.5, 2.3, 2.9, 3.5, 2.8, 3.7, 1.8, 2.9, 2.…
$ `2017-02`  <dbl> 2.1, 2.0, 1.8, 2.2, 2.6, 3.1, 1.7, 1.4, 1.3, 2.5, 1.9, 2.6, 2.9, 2.9, 3.0, 1.6, 2.7, 2.…
$ `2017-03`  <dbl> 2.0, 1.9, 1.8, 2.1, 2.4, 2.4, 1.5, 1.0, 1.2, 1.8, 1.7, 2.6, 3.1, 2.5, 2.8, 1.6, 2.5, 2.…
$ `2017-04`  <dbl> 1.9, 1.8, 1.7, 1.9, 2.3, 2.3, 1.6, 1.1, 1.1, 2.2, 1.5, 2.4, 2.3, 1.6, 2.6, 1.5, 2.4, 2.…
$ `2017-05`  <dbl> 2.0, 1.8, 1.7, 1.9, 2.2, 3.0, 1.9, 1.2, 1.3, 2.3, 1.4, 2.5, 2.4, 1.8, 2.7, 1.4, 2.6, 2.…
$ `2017-06`  <dbl> 1.9, 1.9, 1.6, 1.8, 2.5, 2.5, 1.5, 1.2, 0.9, 2.0, 1.4, 2.4, 2.3, 1.6, 2.5, 1.4, 2.2, 2.…
$ `2017-07`  <dbl> 2.1, 2.2, 1.7, 2.0, 2.6, 3.0, 1.8, 1.1, 1.0, 2.2, 1.3, 2.4, 2.7, 1.8, 3.0, 1.6, 2.5, 2.…
$ `2017-08`  <dbl> 2.2, 2.5, 2.0, 2.1, 2.9, 2.9, 1.8, 1.3, 1.2, 2.0, 1.8, 2.6, 3.0, 2.5, 3.6, 1.7, 2.7, 2.…
$ `2017-09`  <dbl> 2.0, 2.3, 1.5, 2.0, 2.8, 2.7, 1.9, 1.0, 1.1, 1.8, 1.4, 2.2, 2.6, 2.5, 2.7, 1.5, 2.6, 2.…
$ `2017-10`  <dbl> 2.0, 2.2, 1.9, 2.2, 2.7, 3.4, 1.5, 1.3, 0.9, 1.7, 1.6, 2.2, 2.6, 2.5, 3.4, 1.5, 2.9, 2.…
$ `2017-11`  <dbl> 2.0, 2.1, 1.8, 1.9, 2.7, 2.9, 1.3, 1.1, 1.1, 1.6, 1.5, 2.1, 3.1, 2.7, 2.9, 1.4, 2.7, 2.…
$ `2017-12`  <dbl> 2.1, 2.2, 2.2, 2.2, 2.9, 2.4, 1.7, 1.0, 1.2, 1.8, 2.0, 2.4, 3.6, 2.7, 3.1, 1.6, 2.8, 2.…
$ `2018-01`  <dbl> 2.3, 2.5, 2.3, 2.3, 3.5, 3.2, 2.3, 1.0, 1.2, 2.0, 2.3, 2.8, 3.9, 2.6, 3.2, 1.8, 3.1, 2.…
$ `2018-02`  <dbl> 2.0, 2.1, 1.9, 1.8, 2.7, 2.9, 2.0, 1.2, 1.3, 1.9, 2.3, 2.4, 3.6, 2.3, 3.0, 1.6, 2.6, 2.…
$ `2018-03`  <dbl> 1.8, 1.9, 1.8, 1.9, 2.7, 2.6, 1.9, 0.8, 1.0, 1.6, 1.9, 2.3, 3.2, 2.0, 2.5, 1.6, 2.2, 2.…
$ `2018-04`  <dbl> 1.8, 1.8, 1.8, 1.7, 2.5, 2.6, 1.7, 1.3, 0.8, 1.5, 1.4, 2.1, 2.9, 1.8, 2.1, 1.2, 2.6, 2.…
$ `2018-05`  <dbl> 1.8, 1.8, 1.6, 2.0, 2.4, 2.5, 1.7, 1.2, 0.9, 1.5, 1.9, 2.3, 2.8, 1.9, 2.7, 1.4, 2.3, 2.…
$ `2018-06`  <dbl> 1.8, 1.6, 1.6, 1.7, 2.6, 2.5, 1.7, 1.0, 1.1, 1.7, 1.4, 2.4, 2.3, 2.3, 2.6, 1.5, 2.3, 2.…
$ `2018-07`  <dbl> 2.0, 2.0, 1.8, 2.3, 2.5, 3.0, 1.7, 1.2, 1.0, 1.9, 1.4, 2.4, 3.3, 2.1, 2.7, 1.6, 2.3, 2.…
$ `2018-08`  <dbl> 2.1, 2.2, 1.7, 2.1, 3.0, 3.0, 1.7, 1.1, 1.2, 2.1, 2.1, 2.6, 3.2, 2.6, 2.9, 1.6, 2.8, 2.…
$ `2018-09`  <dbl> 2.0, 2.1, 1.8, 1.8, 2.9, 2.9, 1.7, 1.2, 0.9, 1.6, 2.0, 2.5, 3.2, 2.4, 3.0, 1.6, 2.5, 2.…
$ `2018-10`  <dbl> 2.0, 2.1, 1.7, 2.0, 2.6, 2.7, 1.4, 1.3, 1.2, 1.7, 2.2, 2.6, 3.2, 2.5, 3.0, 1.7, 2.4, 2.…
$ `2018-11`  <dbl> 1.9, 2.2, 1.6, 1.8, 2.4, 3.1, 1.3, 1.2, 1.3, 1.7, 1.8, 2.5, 2.8, 2.8, 2.9, 1.5, 2.5, 2.…
$ `2018-12`  <dbl> 2.1, 2.3, 1.8, 2.0, 2.7, 2.6, 1.7, 1.1, 1.3, 2.0, 1.8, 2.6, 3.3, 2.5, 3.3, 1.7, 2.5, 2.…
$ `2019-01`  <dbl> 2.2, 2.6, 2.3, 2.1, 2.9, 3.4, 1.9, 1.5, 1.3, 2.0, 1.4, 2.8, 3.8, 2.8, 3.2, 1.8, 2.8, 2.…
$ `2019-02`  <dbl> 1.9, 2.2, 1.7, 1.7, 2.8, 2.7, 1.5, 1.3, 1.1, 1.7, 1.5, 2.4, 2.7, 2.4, 2.7, 1.6, 2.5, 2.…
$ `2019-03`  <dbl> 1.8, 2.0, 1.6, 1.7, 2.3, 2.1, 1.3, 1.3, 0.9, 1.7, 1.8, 2.2, 2.4, 2.0, 2.5, 1.3, 2.1, 2.…
$ `2019-04`  <dbl> 1.6, 1.5, 1.5, 1.4, 2.1, 2.3, 1.2, 1.3, 0.9, 1.3, 1.1, 2.0, 2.3, 1.7, 2.3, 1.4, 2.0, 1.…
$ `2019-05`  <dbl> 1.8, 1.9, 1.8, 1.7, 2.3, 2.6, 1.5, 1.1, 1.1, 1.3, 1.4, 2.3, 2.8, 1.5, 2.8, 1.4, 2.3, 2.…
$ `2019-06`  <dbl> 1.7, 1.8, 1.7, 1.9, 2.4, 2.8, 1.6, 1.2, 1.1, 1.2, 1.4, 2.2, 2.6, 1.1, 2.6, 1.3, 2.3, 1.…
$ `2019-07`  <dbl> 2.0, 2.0, 2.0, 2.1, 2.8, 2.8, 1.8, 1.4, 1.1, 1.7, 1.6, 2.4, 3.0, 1.7, 3.3, 1.5, 2.6, 2.…
$ `2019-08`  <dbl> 2.0, 2.1, 1.9, 2.0, 2.8, 2.5, 1.7, 1.5, 1.2, 1.8, 2.3, 2.6, 3.1, 2.0, 3.2, 1.6, 2.7, 2.…
$ `2019-09`  <dbl> 1.9, 2.1, 2.0, 1.9, 2.8, 2.5, 1.7, 1.3, 1.0, 1.7, 2.0, 2.4, 2.9, 1.9, 2.6, 1.4, 2.3, 2.…
$ `2019-10`  <dbl> 2.1, 2.3, 1.9, 2.3, 3.0, 2.7, 1.5, 1.2, 1.2, 1.9, 1.8, 2.7, 3.6, 2.7, 2.6, 1.7, 2.5, 2.…
$ `2019-11`  <dbl> 1.9, 2.2, 1.6, 1.9, 2.8, 3.0, 1.3, 1.3, 0.9, 1.7, 2.0, 2.4, 3.1, 2.3, 2.8, 1.6, 2.4, 2.…
$ `2019-12`  <dbl> 2.2, 2.2, 1.9, 2.5, 3.1, 3.5, 1.3, 1.4, 0.9, 2.3, 2.0, 2.8, 3.1, 2.6, 3.2, 1.7, 2.7, 2.…
$ `2020-01`  <dbl> 2.2, 2.5, 2.0, 2.5, 2.9, 4.0, 1.5, 1.5, 1.0, 2.0, 2.0, 2.8, 3.3, 2.7, 3.2, 1.7, 2.8, 2.…
$ `2020-02`  <dbl> 1.8, 2.0, 1.7, 1.7, 2.6, 2.5, 1.6, 1.0, 1.0, 1.6, 1.3, 2.2, 2.5, 2.1, 2.5, 1.4, 2.5, 2.…
$ `2020-03`  <dbl> 1.8, 1.8, 1.8, 1.8, 2.3, 2.5, 1.5, 1.2, 0.9, 1.8, 1.7, 2.1, 2.4, 2.3, 2.6, 1.3, 2.1, 2.…
$ `2020-04`  <dbl> 1.2, 1.2, 1.1, 1.1, 1.6, 1.6, 1.0, 0.8, 0.7, 1.5, 0.8, 1.4, 1.7, 1.0, 1.5, 0.9, 1.4, 1.…
$ `2020-05`  <dbl> 1.0, 1.0, 1.0, 1.1, 1.1, 1.4, 1.2, 0.6, 0.4, 1.2, 0.5, 1.2, 1.5, 0.8, 1.1, 0.7, 1.2, 1.…
$ `2020-06`  <dbl> 0.8, 0.9, 0.7, 1.0, 1.1, 1.3, 0.9, 0.7, 0.5, 0.8, 0.5, 1.0, 0.9, 0.8, 1.1, 0.6, 0.9, 1.…
$ `2020-07`  <dbl> 0.9, 0.9, 1.0, 1.1, 1.1, 1.2, 1.0, 0.5, 0.4, 0.9, 0.7, 1.0, 1.1, 0.7, 1.2, 0.7, 1.1, 1.…
$ `2020-08`  <dbl> 1.0, 1.1, 1.0, 1.0, 1.1, 1.1, 1.1, 0.5, 0.6, 0.9, 0.6, 1.0, 1.7, 0.8, 1.2, 0.7, 1.0, 1.…
$ `2020-09`  <dbl> 0.9, 0.9, 0.7, 0.9, 0.9, 1.3, 0.8, 0.5, 1.0, 1.1, 0.5, 0.9, 1.1, 0.6, 1.2, 0.6, 1.0, 0.…
$ `2020-10`  <dbl> 1.0, 0.9, 1.0, 1.0, 1.2, 1.4, 0.9, 0.4, 0.5, 1.0, 0.8, 1.1, 1.3, 0.6, 1.5, 0.7, 1.2, 1.…
$ `2020-11`  <dbl> 0.8, 1.0, 0.8, 0.9, 1.1, 1.5, 0.9, 0.6, 0.3, 0.8, 0.8, 0.9, 1.2, 0.8, 1.4, 0.6, 0.8, 0.…
$ `2020-12`  <dbl> 1.0, 1.1, 1.2, 1.1, 1.3, 1.5, 1.0, 0.7, 0.6, 1.2, 1.1, 1.1, 1.4, 0.8, 1.6, 0.7, 1.1, 1.…
$ `2021-01`  <dbl> 1.0, 1.1, 1.0, 0.9, 1.2, 1.3, 1.1, 0.5, 0.7, 1.1, 0.8, 1.0, 1.5, 0.9, 1.8, 0.6, 1.0, 1.…
$ `2021-02`  <dbl> 0.7, 0.9, 0.6, 0.8, 0.9, 1.1, 0.7, 0.5, 0.6, 0.7, 0.8, 0.8, 1.0, 0.2, 1.1, 0.4, 0.9, 0.…
$ `2021-03`  <dbl> 0.8, 0.8, 0.8, 0.7, 1.0, 0.9, 0.8, 0.6, 0.5, 0.9, 1.0, 0.8, 0.9, 0.5, 1.1, 0.4, 0.9, 0.…
$ `2021-04`  <dbl> 0.6, 0.7, 0.6, 0.6, 0.7, 0.7, 0.6, 0.5, 0.4, 0.6, 0.4, 0.6, 0.8, 0.5, 0.9, 0.3, 0.7, 0.…
$ `2021-05`  <dbl> 0.7, 0.7, 0.6, 0.6, 0.7, 0.9, 0.8, 0.4, 0.5, 0.6, 0.3, 0.7, 1.0, 0.6, 0.9, 0.4, 0.7, 0.…
$ `2021-06`  <dbl> 0.7, 0.6, 0.6, 0.6, 0.8, 0.9, 0.7, 0.6, 0.3, 0.7, 0.3, 0.7, 0.7, 0.7, 0.8, 0.4, 0.7, 0.…
$ `2021-07`  <dbl> 0.8, 0.9, 0.7, 0.9, 1.0, 1.2, 0.7, 0.4, 0.6, 0.8, 0.8, 0.9, 0.9, 1.0, 1.1, 0.4, 0.9, 0.…
$ `2021-08`  <dbl> 0.8, 0.9, 0.8, 0.9, 1.0, 1.1, 0.7, 0.6, 0.6, 0.9, 0.8, 0.9, 0.9, 1.5, 1.3, 0.5, 0.9, 0.…
$ `2021-09`  <dbl> 0.8, 0.8, 0.7, 1.0, 1.2, 1.4, 0.9, 0.4, 0.4, 0.7, 1.1, 0.8, 0.8, 0.9, 1.0, 0.5, 0.7, 0.…
$ `2021-10`  <dbl> 0.9, 1.0, 0.9, 1.1, 1.0, 1.3, 1.0, 0.5, 0.5, 0.8, 1.1, 1.0, 1.2, 1.3, 1.1, 0.6, 0.7, 1.…
$ `2021-11`  <dbl> 0.8, 1.0, 0.9, 1.1, 0.9, 1.0, 0.7, 0.3, 0.3, 0.5, 0.5, 1.0, 1.1, 1.4, 1.0, 0.6, 0.7, 0.…
$ `2021-12`  <dbl> 1.0, 1.3, 1.1, 1.3, 1.1, 1.6, 0.7, 0.5, 0.8, 0.7, 1.1, 1.2, 1.2, 1.5, 1.5, 0.6, 1.0, 1.…
$ `2022-01`  <dbl> 1.0, 1.5, 1.2, 1.2, 1.2, 1.9, 0.9, 0.5, 0.5, 1.0, 1.3, 1.2, 1.0, 1.1, 1.4, 0.7, 1.1, 1.…
$ `2022-02`  <dbl> 0.8, 0.9, 0.9, 1.0, 1.1, 1.2, 0.6, 0.5, 0.5, 0.8, 0.7, 0.9, 0.7, 1.0, 1.0, 0.5, 1.1, 0.…
$ `2022-03`  <dbl> 1.0, 1.2, 1.0, 1.0, 1.1, 1.1, 0.9, 0.7, 0.5, 0.8, 1.0, 1.1, 1.0, 0.9, 1.4, 0.6, 1.4, 1.…
$ `2022-04`  <dbl> 0.9, 1.1, 0.8, 1.1, 1.2, 0.8, 0.7, 0.7, 0.6, 0.6, 0.4, 0.9, 1.0, 0.6, 1.1, 0.6, 1.2, 1.…
$ `2022-05`  <dbl> 1.0, 1.1, 1.2, 1.2, 1.4, 1.4, 0.8, 0.9, 0.7, 0.9, 1.1, 1.2, 1.1, 1.2, 1.2, 0.7, 1.2, 1.…
$ `2022-06`  <dbl> 1.0, 1.1, 1.0, 1.3, 1.4, 1.4, 1.0, 0.9, 0.5, 0.7, 0.8, 1.1, 1.1, 1.0, 1.2, 0.7, 1.2, 1.…
summary(late_mortgage)
  RegionType            Name             CBSACode            2008-01         2008-02         2008-03     
 Length:317         Length:317         Length:317         Min.   :1.000   Min.   :1.100   Min.   :1.100  
 Class :character   Class :character   Class :character   1st Qu.:2.600   1st Qu.:2.400   1st Qu.:2.300  
 Mode  :character   Mode  :character   Mode  :character   Median :3.400   Median :3.100   Median :2.900  
                                                          Mean   :3.438   Mean   :3.139   Mean   :2.955  
                                                          3rd Qu.:4.200   3rd Qu.:3.800   3rd Qu.:3.500  
    2008-04         2008-05         2008-06         2008-07         2008-08         2008-09     
 Min.   :1.000   Min.   :0.900   Min.   :1.100   Min.   :0.700   Min.   :1.100   Min.   :1.300  
 1st Qu.:2.300   1st Qu.:2.500   1st Qu.:2.400   1st Qu.:2.500   1st Qu.:2.700   1st Qu.:2.700  
 Median :2.900   Median :3.100   Median :3.100   Median :3.200   Median :3.400   Median :3.400  
 Mean   :2.972   Mean   :3.154   Mean   :3.085   Mean   :3.213   Mean   :3.452   Mean   :3.473  
 3rd Qu.:3.500   3rd Qu.:3.800   3rd Qu.:3.700   3rd Qu.:3.900   3rd Qu.:4.200   3rd Qu.:4.200  
    2008-10         2008-11          2008-12         2009-01         2009-02        2009-03     
 Min.   :1.300   Min.   : 0.900   Min.   :1.300   Min.   :1.000   Min.   :1.30   Min.   :1.300  
 1st Qu.:2.800   1st Qu.: 2.900   1st Qu.:3.200   1st Qu.:3.200   1st Qu.:3.00   1st Qu.:2.800  
 Median :3.600   Median : 3.700   Median :4.000   Median :4.000   Median :3.70   Median :3.500  
 Mean   :3.672   Mean   : 3.725   Mean   :4.027   Mean   :4.084   Mean   :3.75   Mean   :3.507  
 3rd Qu.:4.400   3rd Qu.: 4.400   3rd Qu.:4.800   3rd Qu.:4.800   3rd Qu.:4.40   3rd Qu.:4.100  
    2009-04         2009-05         2009-06         2009-07         2009-08          2009-09      
 Min.   :1.300   Min.   :1.200   Min.   :1.400   Min.   :0.900   Min.   : 1.100   Min.   : 1.200  
 1st Qu.:2.800   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.100   1st Qu.: 3.100   1st Qu.: 3.100  
 Median :3.400   Median :3.600   Median :3.700   Median :3.800   Median : 3.800   Median : 3.800  
 Mean   :3.496   Mean   :3.646   Mean   :3.681   Mean   :3.853   Mean   : 3.849   Mean   : 3.799  
 3rd Qu.:4.000   3rd Qu.:4.200   3rd Qu.:4.300   3rd Qu.:4.600   3rd Qu.: 4.600   3rd Qu.: 4.500  
    2009-10         2009-11         2009-12          2010-01          2010-02         2010-03     
 Min.   :1.100   Min.   :1.200   Min.   : 1.500   Min.   : 1.400   Min.   :1.300   Min.   :1.000  
 1st Qu.:3.000   1st Qu.:3.000   1st Qu.: 3.200   1st Qu.: 3.100   1st Qu.:2.900   1st Qu.:2.700  
 Median :3.800   Median :3.800   Median : 3.800   Median : 4.000   Median :3.700   Median :3.400  
 Mean   :3.879   Mean   :3.785   Mean   : 3.918   Mean   : 3.998   Mean   :3.709   Mean   :3.322  
 3rd Qu.:4.600   3rd Qu.:4.400   3rd Qu.: 4.700   3rd Qu.: 4.700   3rd Qu.:4.300   3rd Qu.:3.800  
    2010-04         2010-05         2010-06         2010-07         2010-08         2010-09     
 Min.   :1.100   Min.   :1.300   Min.   :1.200   Min.   :1.300   Min.   :1.200   Min.   :1.400  
 1st Qu.:2.600   1st Qu.:2.800   1st Qu.:2.800   1st Qu.:2.900   1st Qu.:2.900   1st Qu.:2.900  
 Median :3.200   Median :3.300   Median :3.400   Median :3.600   Median :3.700   Median :3.700  
 Mean   :3.279   Mean   :3.442   Mean   :3.495   Mean   :3.635   Mean   :3.661   Mean   :3.655  
 3rd Qu.:3.900   3rd Qu.:4.100   3rd Qu.:4.100   3rd Qu.:4.300   3rd Qu.:4.300   3rd Qu.:4.300  
    2010-10         2010-11         2010-12        2011-01         2011-02         2011-03     
 Min.   :0.900   Min.   :1.200   Min.   :1.20   Min.   :1.100   Min.   :0.800   Min.   :0.800  
 1st Qu.:2.900   1st Qu.:2.700   1st Qu.:2.90   1st Qu.:2.900   1st Qu.:2.800   1st Qu.:2.400  
 Median :3.600   Median :3.500   Median :3.70   Median :3.700   Median :3.400   Median :3.000  
 Mean   :3.676   Mean   :3.572   Mean   :3.74   Mean   :3.765   Mean   :3.445   Mean   :3.081  
 3rd Qu.:4.300   3rd Qu.:4.200   3rd Qu.:4.40   3rd Qu.:4.400   3rd Qu.:4.100   3rd Qu.:3.600  
    2011-04         2011-05         2011-06         2011-07         2011-08          2011-09     
 Min.   :0.900   Min.   :1.100   Min.   :1.000   Min.   :1.200   Min.   : 1.100   Min.   :1.000  
 1st Qu.:2.300   1st Qu.:2.500   1st Qu.:2.600   1st Qu.:2.700   1st Qu.: 2.800   1st Qu.:2.700  
 Median :2.900   Median :3.200   Median :3.100   Median :3.300   Median : 3.400   Median :3.300  
 Mean   :2.928   Mean   :3.139   Mean   :3.187   Mean   :3.396   Mean   : 3.474   Mean   :3.397  
 3rd Qu.:3.400   3rd Qu.:3.600   3rd Qu.:3.700   3rd Qu.:4.000   3rd Qu.: 4.100   3rd Qu.:4.000  
    2011-10          2011-11         2011-12         2012-01          2012-02         2012-03     
 Min.   : 0.800   Min.   :0.900   Min.   :0.900   Min.   : 1.100   Min.   :1.100   Min.   :1.100  
 1st Qu.: 2.600   1st Qu.:2.500   1st Qu.:2.700   1st Qu.: 2.800   1st Qu.:2.500   1st Qu.:2.400  
 Median : 3.400   Median :3.300   Median :3.500   Median : 3.700   Median :3.300   Median :3.000  
 Mean   : 3.428   Mean   :3.321   Mean   :3.514   Mean   : 3.737   Mean   :3.297   Mean   :3.024  
 3rd Qu.: 4.100   3rd Qu.:4.000   3rd Qu.:4.200   3rd Qu.: 4.400   3rd Qu.:3.900   3rd Qu.:3.600  
    2012-04         2012-05         2012-06         2012-07         2012-08         2012-09     
 Min.   :0.800   Min.   :1.100   Min.   :1.100   Min.   :1.000   Min.   :1.000   Min.   :0.900  
 1st Qu.:2.300   1st Qu.:2.500   1st Qu.:2.400   1st Qu.:2.500   1st Qu.:2.500   1st Qu.:2.600  
 Median :2.900   Median :3.100   Median :3.100   Median :3.300   Median :3.300   Median :3.300  
 Mean   :2.967   Mean   :3.117   Mean   :3.133   Mean   :3.302   Mean   :3.294   Mean   :3.349  
 3rd Qu.:3.500   3rd Qu.:3.700   3rd Qu.:3.700   3rd Qu.:3.900   3rd Qu.:3.900   3rd Qu.:4.000  
    2012-10        2012-11         2012-12         2013-01          2013-02         2013-03     
 Min.   :1.00   Min.   :0.700   Min.   :0.800   Min.   : 1.100   Min.   :1.100   Min.   :0.500  
 1st Qu.:2.60   1st Qu.:2.400   1st Qu.:2.600   1st Qu.: 2.600   1st Qu.:2.300   1st Qu.:2.200  
 Median :3.30   Median :3.200   Median :3.400   Median : 3.400   Median :3.100   Median :2.900  
 Mean   :3.41   Mean   :3.265   Mean   :3.453   Mean   : 3.485   Mean   :3.135   Mean   :2.931  
 3rd Qu.:4.10   3rd Qu.:3.900   3rd Qu.:4.100   3rd Qu.: 4.200   3rd Qu.:3.800   3rd Qu.:3.500  
    2013-04        2013-05        2013-06         2013-07         2013-08         2013-09    
 Min.   :0.60   Min.   :0.90   Min.   :0.800   Min.   :0.600   Min.   :0.800   Min.   :0.30  
 1st Qu.:2.10   1st Qu.:2.00   1st Qu.:2.100   1st Qu.:2.100   1st Qu.:2.100   1st Qu.:1.90  
 Median :2.70   Median :2.70   Median :2.700   Median :2.800   Median :2.900   Median :2.50  
 Mean   :2.75   Mean   :2.75   Mean   :2.792   Mean   :2.862   Mean   :2.894   Mean   :2.64  
 3rd Qu.:3.30   3rd Qu.:3.30   3rd Qu.:3.400   3rd Qu.:3.500   3rd Qu.:3.500   3rd Qu.:3.20  
    2013-10        2013-11         2013-12         2014-01         2014-02        2014-03     
 Min.   :0.60   Min.   :0.800   Min.   :0.800   Min.   :0.600   Min.   :0.70   Min.   :0.600  
 1st Qu.:2.10   1st Qu.:1.900   1st Qu.:2.100   1st Qu.:2.200   1st Qu.:1.80   1st Qu.:1.800  
 Median :2.80   Median :2.700   Median :2.900   Median :2.900   Median :2.40   Median :2.400  
 Mean   :2.87   Mean   :2.694   Mean   :2.956   Mean   :2.994   Mean   :2.47   Mean   :2.394  
 3rd Qu.:3.50   3rd Qu.:3.300   3rd Qu.:3.700   3rd Qu.:3.700   3rd Qu.:3.10   3rd Qu.:2.900  
    2014-04         2014-05        2014-06         2014-07         2014-08         2014-09     
 Min.   :0.600   Min.   :0.70   Min.   :0.400   Min.   :0.500   Min.   :0.600   Min.   :0.600  
 1st Qu.:1.500   1st Qu.:1.80   1st Qu.:1.600   1st Qu.:1.800   1st Qu.:1.900   1st Qu.:1.800  
 Median :2.100   Median :2.40   Median :2.200   Median :2.500   Median :2.600   Median :2.400  
 Mean   :2.148   Mean   :2.42   Mean   :2.189   Mean   :2.536   Mean   :2.664   Mean   :2.432  
 3rd Qu.:2.600   3rd Qu.:2.90   3rd Qu.:2.600   3rd Qu.:3.100   3rd Qu.:3.200   3rd Qu.:3.000  
    2014-10         2014-11         2014-12         2015-01         2015-02         2015-03     
 Min.   :0.500   Min.   :0.200   Min.   :0.600   Min.   :0.700   Min.   :0.400   Min.   :0.400  
 1st Qu.:1.900   1st Qu.:1.800   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.600   1st Qu.:1.500  
 Median :2.500   Median :2.400   Median :2.600   Median :2.700   Median :2.200   Median :2.000  
 Mean   :2.508   Mean   :2.462   Mean   :2.688   Mean   :2.734   Mean   :2.226   Mean   :2.078  
 3rd Qu.:3.100   3rd Qu.:3.000   3rd Qu.:3.300   3rd Qu.:3.400   3rd Qu.:2.700   3rd Qu.:2.600  
    2015-04         2015-05        2015-06         2015-07         2015-08         2015-09     
 Min.   :0.400   Min.   :0.40   Min.   :0.500   Min.   :0.500   Min.   :0.600   Min.   :0.500  
 1st Qu.:1.400   1st Qu.:1.60   1st Qu.:1.500   1st Qu.:1.600   1st Qu.:1.800   1st Qu.:1.600  
 Median :2.000   Median :2.10   Median :2.100   Median :2.200   Median :2.400   Median :2.300  
 Mean   :2.028   Mean   :2.17   Mean   :2.129   Mean   :2.226   Mean   :2.417   Mean   :2.319  
 3rd Qu.:2.500   3rd Qu.:2.70   3rd Qu.:2.600   3rd Qu.:2.700   3rd Qu.:2.900   3rd Qu.:2.900  
    2015-10         2015-11         2015-12         2016-01         2016-02        2016-03   
 Min.   :0.400   Min.   :0.400   Min.   :0.300   Min.   :0.600   Min.   :0.50   Min.   :0.3  
 1st Qu.:1.800   1st Qu.:1.700   1st Qu.:1.800   1st Qu.:1.900   1st Qu.:1.60   1st Qu.:1.5  
 Median :2.400   Median :2.300   Median :2.500   Median :2.600   Median :2.20   Median :1.9  
 Mean   :2.444   Mean   :2.311   Mean   :2.514   Mean   :2.669   Mean   :2.26   Mean   :2.0  
 3rd Qu.:3.100   3rd Qu.:2.900   3rd Qu.:3.100   3rd Qu.:3.300   3rd Qu.:2.80   3rd Qu.:2.5  
    2016-04         2016-05         2016-06         2016-07         2016-08         2016-09     
 Min.   :0.300   Min.   :0.200   Min.   :0.300   Min.   :0.300   Min.   :0.400   Min.   :0.300  
 1st Qu.:1.400   1st Qu.:1.500   1st Qu.:1.500   1st Qu.:1.600   1st Qu.:1.700   1st Qu.:1.600  
 Median :1.800   Median :2.000   Median :2.000   Median :2.200   Median :2.300   Median :2.200  
 Mean   :1.897   Mean   :2.075   Mean   :2.101   Mean   :2.313   Mean   :2.362   Mean   :2.254  
 3rd Qu.:2.300   3rd Qu.:2.600   3rd Qu.:2.600   3rd Qu.:2.900   3rd Qu.:2.900   3rd Qu.:2.800  
    2016-10         2016-11         2016-12         2017-01         2017-02         2017-03     
 Min.   :0.400   Min.   :0.300   Min.   :0.500   Min.   :0.400   Min.   :0.500   Min.   :0.400  
 1st Qu.:1.700   1st Qu.:1.600   1st Qu.:1.700   1st Qu.:1.800   1st Qu.:1.600   1st Qu.:1.400  
 Median :2.200   Median :2.100   Median :2.200   Median :2.400   Median :2.100   Median :1.900  
 Mean   :2.337   Mean   :2.238   Mean   :2.358   Mean   :2.533   Mean   :2.255   Mean   :2.031  
 3rd Qu.:3.000   3rd Qu.:2.800   3rd Qu.:2.900   3rd Qu.:3.100   3rd Qu.:2.800   3rd Qu.:2.500  
    2017-04         2017-05         2017-06        2017-07         2017-08         2017-09     
 Min.   :0.300   Min.   :0.300   Min.   :0.40   Min.   :0.500   Min.   :0.400   Min.   :0.400  
 1st Qu.:1.400   1st Qu.:1.400   1st Qu.:1.40   1st Qu.:1.500   1st Qu.:1.600   1st Qu.:1.500  
 Median :1.900   Median :2.000   Median :1.90   Median :2.100   Median :2.200   Median :2.100  
 Mean   :1.963   Mean   :2.075   Mean   :2.03   Mean   :2.211   Mean   :2.327   Mean   :2.153  
 3rd Qu.:2.400   3rd Qu.:2.600   3rd Qu.:2.50   3rd Qu.:2.700   3rd Qu.:2.800   3rd Qu.:2.700  
    2017-10         2017-11        2017-12         2018-01         2018-02         2018-03     
 Min.   :0.500   Min.   :0.40   Min.   :0.400   Min.   :0.500   Min.   :0.400   Min.   :0.300  
 1st Qu.:1.500   1st Qu.:1.40   1st Qu.:1.500   1st Qu.:1.700   1st Qu.:1.500   1st Qu.:1.400  
 Median :2.100   Median :2.00   Median :2.100   Median :2.300   Median :2.000   Median :1.900  
 Mean   :2.163   Mean   :2.09   Mean   :2.215   Mean   :2.456   Mean   :2.143   Mean   :1.945  
 3rd Qu.:2.700   3rd Qu.:2.60   3rd Qu.:2.800   3rd Qu.:3.100   3rd Qu.:2.700   3rd Qu.:2.400  
    2018-04         2018-05         2018-06         2018-07         2018-08         2018-09     
 Min.   :0.300   Min.   :0.400   Min.   :0.400   Min.   :0.300   Min.   :0.400   Min.   :0.400  
 1st Qu.:1.300   1st Qu.:1.400   1st Qu.:1.400   1st Qu.:1.400   1st Qu.:1.600   1st Qu.:1.500  
 Median :1.700   Median :1.800   Median :1.800   Median :2.000   Median :2.100   Median :2.000  
 Mean   :1.848   Mean   :1.944   Mean   :1.928   Mean   :2.081   Mean   :2.192   Mean   :2.092  
 3rd Qu.:2.200   3rd Qu.:2.400   3rd Qu.:2.400   3rd Qu.:2.500   3rd Qu.:2.700   3rd Qu.:2.600  
    2018-10         2018-11         2018-12        2019-01         2019-02         2019-03     
 Min.   :0.400   Min.   :0.400   Min.   :0.40   Min.   :0.500   Min.   :0.500   Min.   :0.400  
 1st Qu.:1.400   1st Qu.:1.400   1st Qu.:1.50   1st Qu.:1.600   1st Qu.:1.400   1st Qu.:1.300  
 Median :2.000   Median :1.900   Median :2.10   Median :2.300   Median :1.900   Median :1.800  
 Mean   :2.134   Mean   :2.034   Mean   :2.22   Mean   :2.384   Mean   :2.036   Mean   :1.862  
 3rd Qu.:2.700   3rd Qu.:2.500   3rd Qu.:2.70   3rd Qu.:3.100   3rd Qu.:2.600   3rd Qu.:2.300  
    2019-04         2019-05         2019-06         2019-07         2019-08         2019-09   
 Min.   :0.300   Min.   :0.400   Min.   :0.300   Min.   :0.400   Min.   :0.400   Min.   :0.4  
 1st Qu.:1.200   1st Qu.:1.300   1st Qu.:1.300   1st Qu.:1.500   1st Qu.:1.500   1st Qu.:1.4  
 Median :1.600   Median :1.800   Median :1.700   Median :2.000   Median :2.000   Median :1.9  
 Mean   :1.668   Mean   :1.885   Mean   :1.811   Mean   :2.078   Mean   :2.141   Mean   :2.0  
 3rd Qu.:2.100   3rd Qu.:2.300   3rd Qu.:2.300   3rd Qu.:2.500   3rd Qu.:2.600   3rd Qu.:2.5  
    2019-10         2019-11         2019-12         2020-01        2020-02         2020-03     
 Min.   :0.400   Min.   :0.200   Min.   :0.300   Min.   :0.30   Min.   :0.400   Min.   :0.400  
 1st Qu.:1.600   1st Qu.:1.500   1st Qu.:1.600   1st Qu.:1.70   1st Qu.:1.300   1st Qu.:1.300  
 Median :2.100   Median :1.900   Median :2.200   Median :2.20   Median :1.800   Median :1.700  
 Mean   :2.231   Mean   :2.058   Mean   :2.343   Mean   :2.39   Mean   :1.931   Mean   :1.844  
 3rd Qu.:2.700   3rd Qu.:2.500   3rd Qu.:2.900   3rd Qu.:2.90   3rd Qu.:2.400   3rd Qu.:2.300  
    2020-04         2020-05         2020-06          2020-07       2020-08         2020-09      
 Min.   :0.200   Min.   :0.200   Min.   :0.2000   Min.   :0.1   Min.   :0.200   Min.   :0.1000  
 1st Qu.:0.900   1st Qu.:0.800   1st Qu.:0.6000   1st Qu.:0.7   1st Qu.:0.700   1st Qu.:0.6000  
 Median :1.200   Median :1.000   Median :0.8000   Median :1.0   Median :1.000   Median :0.8000  
 Mean   :1.296   Mean   :1.096   Mean   :0.8959   Mean   :1.0   Mean   :1.057   Mean   :0.9338  
 3rd Qu.:1.600   3rd Qu.:1.400   3rd Qu.:1.1000   3rd Qu.:1.3   3rd Qu.:1.300   3rd Qu.:1.2000  
    2020-10         2020-11          2020-12        2021-01         2021-02          2021-03      
 Min.   :0.200   Min.   :0.2000   Min.   :0.10   Min.   :0.200   Min.   :0.1000   Min.   :0.1000  
 1st Qu.:0.700   1st Qu.:0.6000   1st Qu.:0.80   1st Qu.:0.700   1st Qu.:0.6000   1st Qu.:0.6000  
 Median :1.000   Median :0.8000   Median :1.10   Median :1.000   Median :0.7000   Median :0.8000  
 Mean   :1.051   Mean   :0.9079   Mean   :1.11   Mean   :1.053   Mean   :0.8028   Mean   :0.8347  
 3rd Qu.:1.300   3rd Qu.:1.1000   3rd Qu.:1.40   3rd Qu.:1.300   3rd Qu.:1.0000   3rd Qu.:1.0000  
    2021-04          2021-05          2021-06          2021-07          2021-08          2021-09      
 Min.   :0.1000   Min.   :0.1000   Min.   :0.0000   Min.   :0.2000   Min.   :0.1000   Min.   :0.1000  
 1st Qu.:0.4000   1st Qu.:0.5000   1st Qu.:0.5000   1st Qu.:0.6000   1st Qu.:0.6000   1st Qu.:0.6000  
 Median :0.6000   Median :0.7000   Median :0.7000   Median :0.9000   Median :0.9000   Median :0.8000  
 Mean   :0.6328   Mean   :0.7325   Mean   :0.7101   Mean   :0.8899   Mean   :0.9233   Mean   :0.8379  
 3rd Qu.:0.8000   3rd Qu.:0.9000   3rd Qu.:0.9000   3rd Qu.:1.1000   3rd Qu.:1.2000   3rd Qu.:1.1000  
    2021-10          2021-11          2021-12         2022-01         2022-02          2022-03     
 Min.   :0.1000   Min.   :0.1000   Min.   :0.100   Min.   :0.100   Min.   :0.1000   Min.   :0.200  
 1st Qu.:0.7000   1st Qu.:0.6000   1st Qu.:0.800   1st Qu.:0.800   1st Qu.:0.7000   1st Qu.:0.800  
 Median :1.0000   Median :0.8000   Median :1.000   Median :1.100   Median :0.9000   Median :1.000  
 Mean   :0.9956   Mean   :0.8965   Mean   :1.106   Mean   :1.159   Mean   :0.9293   Mean   :1.079  
 3rd Qu.:1.3000   3rd Qu.:1.1000   3rd Qu.:1.400   3rd Qu.:1.500   3rd Qu.:1.2000   3rd Qu.:1.400  
    2022-04          2022-05         2022-06     
 Min.   :0.2000   Min.   :0.000   Min.   :0.100  
 1st Qu.:0.7000   1st Qu.:0.800   1st Qu.:0.800  
 Median :0.9000   Median :1.100   Median :1.000  
 Mean   :0.9319   Mean   :1.135   Mean   :1.061  
 3rd Qu.:1.2000   3rd Qu.:1.400   3rd Qu.:1.300  
 [ reached getOption("max.print") -- omitted 1 row ]

We saw from our quick exploration that we want to pivot most of the columns so that the column names are a new variable month. After that, we’ll probably want to pivot the data wider again, turning the metro areas and regions we want into columns. We do that in the code below

late_mortgage_cleaned <- late_mortgage %>%
  # Turn our columns into a new variable calle month
  pivot_longer(!c(RegionType:CBSACode), names_to = "month", values_to = "mortgage_share_delinquent") %>%
  # filter so we only have records of the areas we want
  filter(Name %in% c("California", "United States", "Arizona", "Nevada", "ORegon", "Fresno, CA", 
                     "Los Angeles-Long Beach-Anaheim, CA", "Merced, CA", "Modesto, CA", "Redding, CA", 
                     "Sacramento--Roseville--Arden-Arcade, CA", "Salinas, CA", "San Francisco-Oakland-Hayward, CA",
                     "San Jose-Sunnyvale-Santa Clara, CA", "Santa Cruz-Watsonville, CA", "Stockton-Lodi, CA",
                     "Vallejo-Fairfield, CA", "Visalia-Porterville, CA", "Yuba City, CA")) %>%
  select(-c(RegionType, CBSACode)) %>%
  # Pivot our data wider so each row corresponds to a month and metro areas are in columns
  pivot_wider(names_from = Name, values_from = mortgage_share_delinquent) %>%
  # Format our month variable as a date data type
  mutate(month = lubridate::ym(month))

Now that we have our data the way we want we can plot the delinquency rate in the Sacramento Metro Area (our dependent variable) over time. We see in the plot below that it looks like the rate spiked in late 2008 to early 2009 and then fell over the next decade leveling out since 2020.

late_mortgage_cleaned %>%
  plot_time_series(month, `Sacramento--Roseville--Arden-Arcade, CA`)
NA

Splitting the Data

Now that we have our data we want to prepare it for the model. First we will want to extend our data frame by 24 months so that we can predict into the future. Then we will want to create lagged variables and a chained average of them so that we can predict the future using current data, the model will be trained to predict based on these lagged variables so it’s predicting sacramento delinquency rates based on past delinquency rates. Finally, we’ll have to split the dates in the current data into a training and a test set. The model will be trained on the training dataset and then we will test performance on the test data set which the model will not have seen yet. Once that is done we will train the models on the full data set (both train and test) and use our extended part of future dates to predict delinquency rates for dates in the future that haven’t been reported yet.

In the plot below the blue portion of the line indicates the data that will be included in the training set and the red portion indicates the data that will be included in the test set.

# extending our data frame so we can predict into the future
late_mortgage_cleaned_extended <- late_mortgage_cleaned %>%
 future_frame(
        .length_out = 24,
        .bind_data  = TRUE
    )
# a function to create our lagged variables
lag_roll_transformer <- function(data){
    data %>%
        tk_augment_lags(c(`United States`:Nevada), .lags = 1:24) %>%
        tk_augment_slidify(
          contains("lag6"),
          .f = ~mean(.x, na.rm = T),
          .period  = 3,
          .partial = TRUE
        ) 
}


late_mortgage_cleaned_model <- late_mortgage_cleaned_extended %>%
  # Creating our lagged variables
  lag_roll_transformer() %>%
  # remove the current records of the data we wouldn't be able to predict with and the lagged variables that are 
  # too recent
  select(-c(`United States`:`Redding, CA`, `Salinas, CA`:Nevada, 
            ends_with("_lag1"), ends_with("_lag2"), ends_with("_lag3"), ends_with("_lag4"), 
            ends_with("_lag5"), ends_with("_lag6")))

# Splitting the data in train and test set
splits <- late_mortgage_cleaned_model%>%
  filter(!is.na(`Sacramento--Roseville--Arden-Arcade, CA`)) %>%
  time_series_split(
    assess = "2 years",
    cumulative = TRUE
  )


splits %>%
  tk_time_series_cv_plan() %>%
  plot_time_series_cv_plan(month, `Sacramento--Roseville--Arden-Arcade, CA`)

# Setting aside our future data 
future_data <- late_mortgage_cleaned_model %>%
    filter(is.na(`Sacramento--Roseville--Arden-Arcade, CA`))

Training the Models

In the code below we train three models. a linear model, a glment model, and a xgboost model. In this project we don’t tune the parameters of these models. That would likely improve performance (as would feature engineering), but for now, we’re playing with the models out of the box.

lt_mtgg_lm <- linear_reg() %>%
  set_engine("lm") %>%
  fit(`Sacramento--Roseville--Arden-Arcade, CA` ~ ., training(splits))

lt_mtgg_lm
parsnip model object


Call:
stats::lm(formula = `Sacramento--Roseville--Arden-Arcade, CA` ~ 
    ., data = data)

Coefficients:
                                          (Intercept)  
                                            3.153e+02  
                                                month  
                                           -1.452e-02  
                                 `United States_lag7`  
                                            7.648e+01  
                                    `Fresno, CA_lag7`  
                                           -2.930e+01  
            `Los Angeles-Long Beach-Anaheim, CA_lag7`  
                                           -7.707e+01  
                                    `Merced, CA_lag7`  
                                            1.603e+00  
                                   `Modesto, CA_lag7`  
                                            1.955e+01  
                                   `Redding, CA_lag7`  
                                           -2.406e+00  
       `Sacramento--Roseville--Arden-Arcade, CA_lag7`  
                                           -4.823e+01  
                                   `Salinas, CA_lag7`  
                                            1.033e+01  
             `San Francisco-Oakland-Hayward, CA_lag7`  
                                            3.273e+01  
            `San Jose-Sunnyvale-Santa Clara, CA_lag7`  
                                           -5.153e+00  
                    `Santa Cruz-Watsonville, CA_lag7`  
                                            6.996e+00  
                             `Stockton-Lodi, CA_lag7`  
                                           -1.627e+01  
                         `Vallejo-Fairfield, CA_lag7`  
                                            4.408e+01  
                       `Visalia-Porterville, CA_lag7`  
                                            6.371e+00  
                                 `Yuba City, CA_lag7`  
                                            6.823e+00  
                                         Arizona_lag7  
                                           -2.230e+01  
                                      California_lag7  
                                           -4.125e+01  
                                          Nevada_lag7  
                                            1.234e+01  
                                 `United States_lag8`  
                                            2.340e+01  
                                    `Fresno, CA_lag8`  
                                            1.413e+01  
            `Los Angeles-Long Beach-Anaheim, CA_lag8`  
                                           -3.385e+00  
                                    `Merced, CA_lag8`  
                                            1.178e+01  
                                   `Modesto, CA_lag8`  
                                           -8.453e+00  
                                   `Redding, CA_lag8`  
                                           -9.338e-01  
       `Sacramento--Roseville--Arden-Arcade, CA_lag8`  
                                            1.543e+01  
                                   `Salinas, CA_lag8`  
                                           -2.376e+01  
             `San Francisco-Oakland-Hayward, CA_lag8`  
                                           -9.979e+01  
            `San Jose-Sunnyvale-Santa Clara, CA_lag8`  
                                           -1.083e+02  
                    `Santa Cruz-Watsonville, CA_lag8`  
                                            1.353e+00  
                             `Stockton-Lodi, CA_lag8`  
                                            2.932e+01  
                         `Vallejo-Fairfield, CA_lag8`  
                                            2.736e+01  
                       `Visalia-Porterville, CA_lag8`  
                                           -1.114e+01  
                                 `Yuba City, CA_lag8`  
                                            5.244e+00  
                                         Arizona_lag8  
                                            9.876e+00  
                                      California_lag8  
                                           -8.127e+00  
                                          Nevada_lag8  
                                            9.986e+00  
                                 `United States_lag9`  
                                           -7.492e+01  
                                    `Fresno, CA_lag9`  
                                           -1.926e+00  
            `Los Angeles-Long Beach-Anaheim, CA_lag9`  
                                           -6.771e+00  
                                    `Merced, CA_lag9`  
                                            3.132e+00  
                                   `Modesto, CA_lag9`  
                                           -1.518e+01  
                                   `Redding, CA_lag9`  
                                           -5.575e+00  
       `Sacramento--Roseville--Arden-Arcade, CA_lag9`  
                                           -3.394e+01  
                                   `Salinas, CA_lag9`  
                                            1.533e+01  
             `San Francisco-Oakland-Hayward, CA_lag9`  
                                            7.719e+01  
            `San Jose-Sunnyvale-Santa Clara, CA_lag9`  
                                           -1.126e+01  
                    `Santa Cruz-Watsonville, CA_lag9`  
                                            7.833e+00  
                             `Stockton-Lodi, CA_lag9`  
                                            1.187e+01  
                         `Vallejo-Fairfield, CA_lag9`  
                                            6.424e+00  
                       `Visalia-Porterville, CA_lag9`  
                                            5.609e+00  
                                 `Yuba City, CA_lag9`  
                                           -1.347e+01  
                                         Arizona_lag9  
                                            7.442e+00  
                                      California_lag9  
                                            1.820e+01  
                                          Nevada_lag9  
                                           -3.966e+01  
                                `United States_lag10`  
                                            7.512e+01  
                                   `Fresno, CA_lag10`  
                                            2.100e+01  
           `Los Angeles-Long Beach-Anaheim, CA_lag10`  
                                            4.217e+01  
                                   `Merced, CA_lag10`  
                                            2.629e+00  
                                  `Modesto, CA_lag10`  
                                            1.445e+01  
                                  `Redding, CA_lag10`  
                                           -4.415e+00  
      `Sacramento--Roseville--Arden-Arcade, CA_lag10`  
                                           -9.235e+01  
                                  `Salinas, CA_lag10`  
                                           -1.298e+00  
            `San Francisco-Oakland-Hayward, CA_lag10`  
                                            7.579e+01  
           `San Jose-Sunnyvale-Santa Clara, CA_lag10`  
                                            7.391e+00  
                   `Santa Cruz-Watsonville, CA_lag10`  
                                           -2.641e+01  
                            `Stockton-Lodi, CA_lag10`  
                                           -2.303e+01  
                        `Vallejo-Fairfield, CA_lag10`  
                                           -2.163e+01  
                      `Visalia-Porterville, CA_lag10`  
                                           -1.105e+01  
                                `Yuba City, CA_lag10`  
                                           -2.242e+01  
                                        Arizona_lag10  
                                            5.640e+00  
                                     California_lag10  
                                            2.008e+01  
                                         Nevada_lag10  
                                           -2.822e+01  
                                `United States_lag11`  
                                            1.603e+01  
                                   `Fresno, CA_lag11`  
                                            6.318e+00  
           `Los Angeles-Long Beach-Anaheim, CA_lag11`  
                                            1.355e+01  
                                   `Merced, CA_lag11`  
                                            9.281e+00  
                                  `Modesto, CA_lag11`  
                                           -9.200e+00  
                                  `Redding, CA_lag11`  
                                           -7.864e+00  
      `Sacramento--Roseville--Arden-Arcade, CA_lag11`  
                                            1.459e+01  
                                  `Salinas, CA_lag11`  
                                            3.678e+01  
            `San Francisco-Oakland-Hayward, CA_lag11`  
                                            3.738e+01  
           `San Jose-Sunnyvale-Santa Clara, CA_lag11`  
                                           -3.638e+01  
                   `Santa Cruz-Watsonville, CA_lag11`  
                                           -1.034e+01  
                            `Stockton-Lodi, CA_lag11`  
                                           -9.449e+00  
                        `Vallejo-Fairfield, CA_lag11`  
                                           -1.561e+01  
                      `Visalia-Porterville, CA_lag11`  
                                            7.713e+00  
                                `Yuba City, CA_lag11`  
                                           -6.513e+00  
                                        Arizona_lag11  
                                           -3.318e+01  
                                     California_lag11  
                                            2.465e+01  
                                         Nevada_lag11  
                                           -6.080e+00  
                                `United States_lag12`  
                                           -1.206e+01  
                                   `Fresno, CA_lag12`  
                                           -6.219e+01  
           `Los Angeles-Long Beach-Anaheim, CA_lag12`  
                                           -2.576e+01  
                                   `Merced, CA_lag12`  
                                           -2.286e+01  
                                  `Modesto, CA_lag12`  
                                           -1.292e+01  
                                  `Redding, CA_lag12`  
                                            9.079e+00  
      `Sacramento--Roseville--Arden-Arcade, CA_lag12`  
                                            1.140e+02  
                                  `Salinas, CA_lag12`  
                                           -5.969e+00  
            `San Francisco-Oakland-Hayward, CA_lag12`  
                                            1.027e+00  
           `San Jose-Sunnyvale-Santa Clara, CA_lag12`  
                                            1.641e+01  
                   `Santa Cruz-Watsonville, CA_lag12`  
                                           -2.113e+01  
                            `Stockton-Lodi, CA_lag12`  
                                           -1.011e+01  
                        `Vallejo-Fairfield, CA_lag12`  
                                           -8.060e-01  
                      `Visalia-Porterville, CA_lag12`  
                                            1.729e+00  
                                `Yuba City, CA_lag12`  
                                            1.685e+01  
                                        Arizona_lag12  
                                            1.671e+00  
                                     California_lag12  
                                            4.982e+01  
                                         Nevada_lag12  
                                            2.646e+00  
                                `United States_lag13`  
                                           -4.913e+01  
                                   `Fresno, CA_lag13`  
                                           -2.563e+00  
           `Los Angeles-Long Beach-Anaheim, CA_lag13`  
                                           -1.839e+01  
                                   `Merced, CA_lag13`  
                                            1.408e+01  
                                  `Modesto, CA_lag13`  
                                            2.519e+00  
                                  `Redding, CA_lag13`  
                                            2.185e+01  
      `Sacramento--Roseville--Arden-Arcade, CA_lag13`  
                                           -8.234e+00  
                                  `Salinas, CA_lag13`  
                                            3.457e+00  
            `San Francisco-Oakland-Hayward, CA_lag13`  
                                            1.944e+01  
           `San Jose-Sunnyvale-Santa Clara, CA_lag13`  
                                            5.536e+01  
                   `Santa Cruz-Watsonville, CA_lag13`  
                                            1.373e+01  
                            `Stockton-Lodi, CA_lag13`  
                                           -6.499e+00  
                        `Vallejo-Fairfield, CA_lag13`  
                                           -2.293e-03  
                      `Visalia-Porterville, CA_lag13`  
                                           -1.105e+01  
                                `Yuba City, CA_lag13`  
                                            2.215e+01  
                                        Arizona_lag13  
                                            1.448e+01  
                                     California_lag13  
                                                   NA  
                                         Nevada_lag13  
                                                   NA  
                                `United States_lag14`  
                                                   NA  
                                   `Fresno, CA_lag14`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag14`  
                                                   NA  
                                   `Merced, CA_lag14`  
                                                   NA  
                                  `Modesto, CA_lag14`  
                                                   NA  
                                  `Redding, CA_lag14`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag14`  
                                                   NA  
                                  `Salinas, CA_lag14`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag14`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag14`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag14`  
                                                   NA  
                            `Stockton-Lodi, CA_lag14`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag14`  
                                                   NA  
                      `Visalia-Porterville, CA_lag14`  
                                                   NA  
                                `Yuba City, CA_lag14`  
                                                   NA  
                                        Arizona_lag14  
                                                   NA  
                                     California_lag14  
                                                   NA  
                                         Nevada_lag14  
                                                   NA  
                                `United States_lag15`  
                                                   NA  
                                   `Fresno, CA_lag15`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag15`  
                                                   NA  
                                   `Merced, CA_lag15`  
                                                   NA  
                                  `Modesto, CA_lag15`  
                                                   NA  
                                  `Redding, CA_lag15`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag15`  
                                                   NA  
                                  `Salinas, CA_lag15`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag15`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag15`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag15`  
                                                   NA  
                            `Stockton-Lodi, CA_lag15`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag15`  
                                                   NA  
                      `Visalia-Porterville, CA_lag15`  
                                                   NA  
                                `Yuba City, CA_lag15`  
                                                   NA  
                                        Arizona_lag15  
                                                   NA  
                                     California_lag15  
                                                   NA  
                                         Nevada_lag15  
                                                   NA  
                                `United States_lag16`  
                                                   NA  
                                   `Fresno, CA_lag16`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag16`  
                                                   NA  
                                   `Merced, CA_lag16`  
                                                   NA  
                                  `Modesto, CA_lag16`  
                                                   NA  
                                  `Redding, CA_lag16`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag16`  
                                                   NA  
                                  `Salinas, CA_lag16`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag16`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag16`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag16`  
                                                   NA  
                            `Stockton-Lodi, CA_lag16`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag16`  
                                                   NA  
                      `Visalia-Porterville, CA_lag16`  
                                                   NA  
                                `Yuba City, CA_lag16`  
                                                   NA  
                                        Arizona_lag16  
                                                   NA  
                                     California_lag16  
                                                   NA  
                                         Nevada_lag16  
                                                   NA  
                                `United States_lag17`  
                                                   NA  
                                   `Fresno, CA_lag17`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag17`  
                                                   NA  
                                   `Merced, CA_lag17`  
                                                   NA  
                                  `Modesto, CA_lag17`  
                                                   NA  
                                  `Redding, CA_lag17`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag17`  
                                                   NA  
                                  `Salinas, CA_lag17`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag17`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag17`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag17`  
                                                   NA  
                            `Stockton-Lodi, CA_lag17`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag17`  
                                                   NA  
                      `Visalia-Porterville, CA_lag17`  
                                                   NA  
                                `Yuba City, CA_lag17`  
                                                   NA  
                                        Arizona_lag17  
                                                   NA  
                                     California_lag17  
                                                   NA  
                                         Nevada_lag17  
                                                   NA  
                                `United States_lag18`  
                                                   NA  
                                   `Fresno, CA_lag18`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag18`  
                                                   NA  
                                   `Merced, CA_lag18`  
                                                   NA  
                                  `Modesto, CA_lag18`  
                                                   NA  
                                  `Redding, CA_lag18`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag18`  
                                                   NA  
                                  `Salinas, CA_lag18`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag18`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag18`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag18`  
                                                   NA  
                            `Stockton-Lodi, CA_lag18`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag18`  
                                                   NA  
                      `Visalia-Porterville, CA_lag18`  
                                                   NA  
                                `Yuba City, CA_lag18`  
                                                   NA  
                                        Arizona_lag18  
                                                   NA  
                                     California_lag18  
                                                   NA  
                                         Nevada_lag18  
                                                   NA  
                                `United States_lag19`  
                                                   NA  
                                   `Fresno, CA_lag19`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag19`  
                                                   NA  
                                   `Merced, CA_lag19`  
                                                   NA  
                                  `Modesto, CA_lag19`  
                                                   NA  
                                  `Redding, CA_lag19`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag19`  
                                                   NA  
                                  `Salinas, CA_lag19`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag19`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag19`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag19`  
                                                   NA  
                            `Stockton-Lodi, CA_lag19`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag19`  
                                                   NA  
                      `Visalia-Porterville, CA_lag19`  
                                                   NA  
                                `Yuba City, CA_lag19`  
                                                   NA  
                                        Arizona_lag19  
                                                   NA  
                                     California_lag19  
                                                   NA  
                                         Nevada_lag19  
                                                   NA  
                                `United States_lag20`  
                                                   NA  
                                   `Fresno, CA_lag20`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag20`  
                                                   NA  
                                   `Merced, CA_lag20`  
                                                   NA  
                                  `Modesto, CA_lag20`  
                                                   NA  
                                  `Redding, CA_lag20`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag20`  
                                                   NA  
                                  `Salinas, CA_lag20`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag20`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag20`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag20`  
                                                   NA  
                            `Stockton-Lodi, CA_lag20`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag20`  
                                                   NA  
                      `Visalia-Porterville, CA_lag20`  
                                                   NA  
                                `Yuba City, CA_lag20`  
                                                   NA  
                                        Arizona_lag20  
                                                   NA  
                                     California_lag20  
                                                   NA  
                                         Nevada_lag20  
                                                   NA  
                                `United States_lag21`  
                                                   NA  
                                   `Fresno, CA_lag21`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag21`  
                                                   NA  
                                   `Merced, CA_lag21`  
                                                   NA  
                                  `Modesto, CA_lag21`  
                                                   NA  
                                  `Redding, CA_lag21`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag21`  
                                                   NA  
                                  `Salinas, CA_lag21`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag21`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag21`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag21`  
                                                   NA  
                            `Stockton-Lodi, CA_lag21`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag21`  
                                                   NA  
                      `Visalia-Porterville, CA_lag21`  
                                                   NA  
                                `Yuba City, CA_lag21`  
                                                   NA  
                                        Arizona_lag21  
                                                   NA  
                                     California_lag21  
                                                   NA  
                                         Nevada_lag21  
                                                   NA  
                                `United States_lag22`  
                                                   NA  
                                   `Fresno, CA_lag22`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag22`  
                                                   NA  
                                   `Merced, CA_lag22`  
                                                   NA  
                                  `Modesto, CA_lag22`  
                                                   NA  
                                  `Redding, CA_lag22`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag22`  
                                                   NA  
                                  `Salinas, CA_lag22`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag22`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag22`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag22`  
                                                   NA  
                            `Stockton-Lodi, CA_lag22`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag22`  
                                                   NA  
                      `Visalia-Porterville, CA_lag22`  
                                                   NA  
                                `Yuba City, CA_lag22`  
                                                   NA  
                                        Arizona_lag22  
                                                   NA  
                                     California_lag22  
                                                   NA  
                                         Nevada_lag22  
                                                   NA  
                                `United States_lag23`  
                                                   NA  
                                   `Fresno, CA_lag23`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag23`  
                                                   NA  
                                   `Merced, CA_lag23`  
                                                   NA  
                                  `Modesto, CA_lag23`  
                                                   NA  
                                  `Redding, CA_lag23`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag23`  
                                                   NA  
                                  `Salinas, CA_lag23`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag23`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag23`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag23`  
                                                   NA  
                            `Stockton-Lodi, CA_lag23`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag23`  
                                                   NA  
                      `Visalia-Porterville, CA_lag23`  
                                                   NA  
                                `Yuba City, CA_lag23`  
                                                   NA  
                                        Arizona_lag23  
                                                   NA  
                                     California_lag23  
                                                   NA  
                                         Nevada_lag23  
                                                   NA  
                                `United States_lag24`  
                                                   NA  
                                   `Fresno, CA_lag24`  
                                                   NA  
           `Los Angeles-Long Beach-Anaheim, CA_lag24`  
                                                   NA  
                                   `Merced, CA_lag24`  
                                                   NA  
                                  `Modesto, CA_lag24`  
                                                   NA  
                                  `Redding, CA_lag24`  
                                                   NA  
      `Sacramento--Roseville--Arden-Arcade, CA_lag24`  
                                                   NA  
                                  `Salinas, CA_lag24`  
                                                   NA  
            `San Francisco-Oakland-Hayward, CA_lag24`  
                                                   NA  
           `San Jose-Sunnyvale-Santa Clara, CA_lag24`  
                                                   NA  
                   `Santa Cruz-Watsonville, CA_lag24`  
                                                   NA  
                            `Stockton-Lodi, CA_lag24`  
                                                   NA  
                        `Vallejo-Fairfield, CA_lag24`  
                                                   NA  
                      `Visalia-Porterville, CA_lag24`  
                                                   NA  
                                `Yuba City, CA_lag24`  
                                                   NA  
                                        Arizona_lag24  
                                                   NA  
                                     California_lag24  
                                                   NA  
                                         Nevada_lag24  
                                                   NA  
                          `United States_lag6_roll_3`  
                                                   NA  
                             `Fresno, CA_lag6_roll_3`  
                                                   NA  
     `Los Angeles-Long Beach-Anaheim, CA_lag6_roll_3`  
                                                   NA  
                             `Merced, CA_lag6_roll_3`  
                                                   NA  
                            `Modesto, CA_lag6_roll_3`  
                                                   NA  
                            `Redding, CA_lag6_roll_3`  
                                                   NA  
`Sacramento--Roseville--Arden-Arcade, CA_lag6_roll_3`  
                                                   NA  
                            `Salinas, CA_lag6_roll_3`  
                                                   NA  
      `San Francisco-Oakland-Hayward, CA_lag6_roll_3`  
                                                   NA  
     `San Jose-Sunnyvale-Santa Clara, CA_lag6_roll_3`  
                                                   NA  
             `Santa Cruz-Watsonville, CA_lag6_roll_3`  
                                                   NA  
                      `Stockton-Lodi, CA_lag6_roll_3`  
                                                   NA  
                  `Vallejo-Fairfield, CA_lag6_roll_3`  
                                                   NA  
                `Visalia-Porterville, CA_lag6_roll_3`  
                                                   NA  
                          `Yuba City, CA_lag6_roll_3`  
                                                   NA  
                                  Arizona_lag6_roll_3  
                                                   NA  
                               California_lag6_roll_3  
                                                   NA  
                                   Nevada_lag6_roll_3  
                                                   NA  
lt_mtgg_glmnt <- linear_reg(penalty = 0.01) %>%
  set_engine("glmnet") %>%
  fit(`Sacramento--Roseville--Arden-Arcade, CA` ~ lubridate::month(month,label = T) + as.numeric(month)+.,
      training(splits))

lt_mtgg_glmnt
parsnip model object


Call:  glmnet::glmnet(x = maybe_matrix(x), y = y, family = "gaussian") 

    Df  %Dev  Lambda
1    0  0.00 0.70000
2    1  8.38 0.66820
3    1 16.02 0.63790
4    1 22.97 0.60890
5    1 29.31 0.58120
6    1 35.09 0.55480
7    1 40.35 0.52960
8    1 45.15 0.50550
9    1 49.52 0.48250
10   1 53.50 0.46060
11   1 57.13 0.43960
12   1 60.43 0.41970
13   1 63.45 0.40060
14   1 66.19 0.38240
15   2 68.72 0.36500
16   2 71.06 0.34840
17   2 73.18 0.33260
18   2 75.12 0.31750
19   2 76.89 0.30300
20   2 78.50 0.28930
21   3 79.97 0.27610
22   4 81.33 0.26360
23   4 82.57 0.25160
24   4 83.71 0.24010
25   4 84.74 0.22920
26   4 85.68 0.21880
27   4 86.53 0.20890
28   4 87.31 0.19940
29   4 88.03 0.19030
30   4 88.67 0.18170
31   5 89.27 0.17340
32   5 89.83 0.16550
33   6 90.35 0.15800
34   7 90.83 0.15080
35   7 91.28 0.14400
36   8 91.68 0.13740
37   8 92.05 0.13120
38   8 92.38 0.12520
39   8 92.69 0.11950
40   9 92.99 0.11410
41  10 93.26 0.10890
42  10 93.51 0.10400
43  10 93.75 0.09923
44  10 93.96 0.09472
45  11 94.15 0.09041
46  13 94.33 0.08630
47  13 94.50 0.08238
48  12 94.64 0.07864
49  12 94.78 0.07506
50  12 94.90 0.07165
51  12 95.01 0.06839
52  12 95.11 0.06529
53  12 95.21 0.06232
54  13 95.29 0.05949
55  13 95.37 0.05678
56  14 95.44 0.05420
57  14 95.51 0.05174
58  15 95.56 0.04939
59  15 95.62 0.04714
60  15 95.67 0.04500
61  15 95.72 0.04295
62  15 95.76 0.04100
63  15 95.80 0.03914
64  15 95.84 0.03736
65  15 95.87 0.03566
66  16 95.92 0.03404
67  16 95.96 0.03249
68  16 96.00 0.03102
69  16 96.04 0.02961
70  17 96.08 0.02826
71  18 96.11 0.02698
72  19 96.15 0.02575
73  19 96.20 0.02458
74  18 96.24 0.02346
75  17 96.28 0.02240
76  19 96.32 0.02138
77  20 96.37 0.02041
78  20 96.43 0.01948
79  20 96.47 0.01859
80  20 96.52 0.01775
81  21 96.56 0.01694
82  20 96.59 0.01617
83  21 96.63 0.01544
84  21 96.67 0.01474
85  21 96.70 0.01407
86  21 96.73 0.01343
87  21 96.76 0.01282
88  22 96.78 0.01223
89  22 96.81 0.01168
90  24 96.87 0.01115
91  27 96.96 0.01064
92  31 97.07 0.01016
93  31 97.19 0.00970
94  31 97.29 0.00925
95  31 97.39 0.00883
96  32 97.48 0.00843
97  32 97.56 0.00805
98  37 97.64 0.00768
99  38 97.71 0.00733
100 40 97.79 0.00700
lt_mtgg_xgboost <- boost_tree() %>%
  set_engine("xgboost")  %>%
  set_mode("regression") %>%
  fit(`Sacramento--Roseville--Arden-Arcade, CA` ~ lubridate::month(month,label = T) + as.numeric(month)+.,
      training(splits))

lt_mtgg_xgboost
parsnip model object

##### xgb.Booster
raw: 27 Kb 
call:
  xgboost::xgb.train(params = list(eta = 0.3, max_depth = 6, gamma = 0, 
    colsample_bytree = 1, colsample_bynode = 1, min_child_weight = 1, 
    subsample = 1), data = x$data, nrounds = 15, watchlist = x$watchlist, 
    verbose = 0, nthread = 1, objective = "reg:squarederror")
params (as set within xgb.train):
  eta = "0.3", max_depth = "6", gamma = "0", colsample_bytree = "1", colsample_bynode = "1", min_child_weight = "1", subsample = "1", nthread = "1", objective = "reg:squarederror", validate_parameters = "TRUE"
xgb.attributes:
  niter
callbacks:
  cb.evaluation.log()
# of features: 355 
niter: 15
nfeatures : 355 
evaluation_log:

Model Performance

Our linear model has extremely high rmse and we can see in our first plot, it predicts delinquency rates that are no where near the real world values and far outside the range of delinquency rates in the whole data set. This model is immediately ruled as a poor model. The xgboost and glmnet both have much more reasonable rmse with the xgboost having the lowest. The xgboost model also explains a much high amount of the variation in our dependent variable with an r squared value of 0.23. In our second plot we can see that the xgboost does predict much more closely to the actual test set values. The glmnet model predicts much higher that both the xgboost and the true values then drops to beneath the true value ending with predictions about 0.3 lower than the true value. The xgboost stays closer, following the slopes in the true values pretty closely, and at the end of the test set the xgboost model is almost right on the true values. The xgboost model is definitely the preferred model, but I would include all both the glmnet and the xgboost in any report.

model_compare <- modeltime_table(lt_mtgg_lm, lt_mtgg_glmnt, lt_mtgg_xgboost)

calibration <- model_compare %>%
  modeltime_calibrate(testing(splits))
Warning: prediction from a rank-deficient fit may be misleading
calibration %>% modeltime_accuracy()

calibration %>%
  modeltime_forecast(
    new_data = testing(splits),
    actual_data = late_mortgage_cleaned_model
  ) %>%
  plot_modeltime_forecast()
Warning: prediction from a rank-deficient fit may be misleading
calibration[2:3,] %>%
  modeltime_forecast(
    new_data = testing(splits),
    actual_data = late_mortgage_cleaned_model
  ) %>%
  plot_modeltime_forecast()
NA

Future Prediction

The linear model is still very poor, but in our second plot you can see the glmnet model and the xgboost both predict January 2023 delinquency rates in the Sacramento area to be about the same, but glmnet gets there through a little more of an upward trend from a lower starting point. The xgboost model can handle NA values and so can predict much further out, but it’s prediction is pretty constant.

lt_mtgg_forecast <- calibration %>%
  modeltime_refit(late_mortgage_cleaned_model %>%
  drop_na()) %>%
  modeltime_forecast(
    actual_data = late_mortgage_cleaned_model %>%
  drop_na(),
    new_data = future_data
  )
Warning: prediction from a rank-deficient fit may be misleading
lt_mtgg_forecast %>%
  plot_modeltime_forecast()

lt_mtgg_forecast %>%
  filter(.model_desc != "LM") %>%
  plot_modeltime_forecast()
NA
LS0tDQp0aXRsZTogIkZvcmVjYXN0aW5nIFNhY3JlbWVudG8gTWV0cm8gQXJlYSBEZWxpbnF1ZW50IE1vcnRnYWdlcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMgSW50cm9kdWN0aW9uDQpJbiB0aGlzIG5vdGVib29rIHdlIHdpbGwgYmUgdXNpbmcgZGF0YSBmcm9tIEZlZGVyYWwgUmVzZXJ2ZSBvZiBkZWxpbnF1ZW5jeSByYXRlcyBmb3IgbW9ydGdhZ2VzIGJ5IG1ldHJvIGFyZWEgdG8gZm9yZWNhc3QgZGVsaW5xdWVuY3kgcmF0ZXMgaW4gdGhlIFNhY3JhbWVudG8gTWV0cm8gQXJlYS4gV2Ugd2lsbCBidWlsZCB0aHJlZSBmb3JlY2FzdGluZyBtb2RlbHMgYW5kIGNvbXBhcmUgdGhlaXIgcGVyZm9ybWFuY2UuIEZpbmFsbHkgd2UgdXNlIHRoZSBtb2RlbHMgdG8gcHJlZGljdCBkZWxpbnF1ZW5jeSByYXRlcyBmb3IgdGhlIG5leHQgMTIgd2Vla3MuDQoNCiMjIyBUaGUgRGF0YQ0KV2UgaGF2ZSBkb3dubG9hZGVkIHRoZSBkYXRhIGFzIGEgY3N2IGZyb20gdGhlIFtGZWRlcmFsIFJlc2VydmVdKGh0dHBzOi8vd3d3LmZlZGVyYWxyZXNlcnZlLmdvdi9yZWxlYXNlcy9jaGFyZ2VvZmYvKS4gV2UgbG9hZCBpdCBpbnRvIHIgd2l0aCB0aGUgY29kZSBiZWxvdy4NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkobW9kZWx0aW1lKQ0KbGlicmFyeSh0aWR5bW9kZWxzKQ0KbGlicmFyeSh0aW1ldGspDQoNCmxhdGVfbW9ydGdhZ2UgPC0gcmVhZF9jc3YoIkM6L1VzZXJzL093bmVyL0RvY3VtZW50cy9EYXRhL01ldHJvQXJlYU1vcnRnYWdlc1BlcmNlbnQtMzAtODlEYXlzTGF0ZS10aHJ1LTIwMjItMDYuY3N2IikNCg0KYGBgDQoNCk5vdyBsZXQncyB0YWtlIGEgcXVpY2sgbG9vayBhdCB0aGUgZGF0YS4gQmVsb3cgd2UgY2FuIHNlZSB0aGF0IHdlIGhhdmUgMzE3IHJlY29yZHMgb2YgMTc3IHZhcmlhYmxlcy4gVGFraW5nIGEgYGdsaW1wc2UoKWAgb2Ygb3VyIGRhdGEgdGhvdWdoIHJldmVhbHMgdGhhdCB0aGlzIGRhdGFzZXQgaXMgYWN0dWFsbHkgd2lkZSBhbmQgd2UncmUgcHJvYmFibHkgZ29ubmEgd2FudCB0byBtYWtlIGl0IGxvbmcuIEl0IGxvb2tzIGxpa2UgbW9zdCBvZiB0aGUgY29sdW1ucyBhcmUgdGhlIG1vbnRocyBvZiB0aGUgcmVjb3JkLiBXZSdsbCB3YW50IHRvIHBpdm90IHRob3NlIG1vbnRocyB0byBiZSB0aGVpciBvd24gdmFyaWFibGUuIEl0IGxvb2tzIGxpa2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgbWlzc2luZyBkYXRhIHRob3VnaCwgc28gdGhpcyBzaG91bGRuJ3QgZ2V0IHRvbyBjb21wbGljYXRlZC4NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQpkaW0obGF0ZV9tb3J0Z2FnZSkNCg0KZ2xpbXBzZShsYXRlX21vcnRnYWdlKQ0KDQpzdW1tYXJ5KGxhdGVfbW9ydGdhZ2UpDQoNCmBgYA0KDQpXZSBzYXcgZnJvbSBvdXIgcXVpY2sgZXhwbG9yYXRpb24gdGhhdCB3ZSB3YW50IHRvIHBpdm90IG1vc3Qgb2YgdGhlIGNvbHVtbnMgc28gdGhhdCB0aGUgY29sdW1uIG5hbWVzIGFyZSBhIG5ldyB2YXJpYWJsZSBgbW9udGhgLiBBZnRlciB0aGF0LCB3ZSdsbCBwcm9iYWJseSB3YW50IHRvIHBpdm90IHRoZSBkYXRhIHdpZGVyIGFnYWluLCB0dXJuaW5nIHRoZSBtZXRybyBhcmVhcyBhbmQgcmVnaW9ucyB3ZSB3YW50IGludG8gY29sdW1ucy4gV2UgZG8gdGhhdCBpbiB0aGUgY29kZSBiZWxvdw0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRX0NCmxhdGVfbW9ydGdhZ2VfY2xlYW5lZCA8LSBsYXRlX21vcnRnYWdlICU+JQ0KICAjIFR1cm4gb3VyIGNvbHVtbnMgaW50byBhIG5ldyB2YXJpYWJsZSBjYWxsZSBtb250aA0KICBwaXZvdF9sb25nZXIoIWMoUmVnaW9uVHlwZTpDQlNBQ29kZSksIG5hbWVzX3RvID0gIm1vbnRoIiwgdmFsdWVzX3RvID0gIm1vcnRnYWdlX3NoYXJlX2RlbGlucXVlbnQiKSAlPiUNCiAgIyBmaWx0ZXIgc28gd2Ugb25seSBoYXZlIHJlY29yZHMgb2YgdGhlIGFyZWFzIHdlIHdhbnQNCiAgZmlsdGVyKE5hbWUgJWluJSBjKCJDYWxpZm9ybmlhIiwgIlVuaXRlZCBTdGF0ZXMiLCAiQXJpem9uYSIsICJOZXZhZGEiLCAiT1JlZ29uIiwgIkZyZXNubywgQ0EiLCANCiAgICAgICAgICAgICAgICAgICAgICJMb3MgQW5nZWxlcy1Mb25nIEJlYWNoLUFuYWhlaW0sIENBIiwgIk1lcmNlZCwgQ0EiLCAiTW9kZXN0bywgQ0EiLCAiUmVkZGluZywgQ0EiLCANCiAgICAgICAgICAgICAgICAgICAgICJTYWNyYW1lbnRvLS1Sb3NldmlsbGUtLUFyZGVuLUFyY2FkZSwgQ0EiLCAiU2FsaW5hcywgQ0EiLCAiU2FuIEZyYW5jaXNjby1PYWtsYW5kLUhheXdhcmQsIENBIiwNCiAgICAgICAgICAgICAgICAgICAgICJTYW4gSm9zZS1TdW5ueXZhbGUtU2FudGEgQ2xhcmEsIENBIiwgIlNhbnRhIENydXotV2F0c29udmlsbGUsIENBIiwgIlN0b2NrdG9uLUxvZGksIENBIiwNCiAgICAgICAgICAgICAgICAgICAgICJWYWxsZWpvLUZhaXJmaWVsZCwgQ0EiLCAiVmlzYWxpYS1Qb3J0ZXJ2aWxsZSwgQ0EiLCAiWXViYSBDaXR5LCBDQSIpKSAlPiUNCiAgc2VsZWN0KC1jKFJlZ2lvblR5cGUsIENCU0FDb2RlKSkgJT4lDQogICMgUGl2b3Qgb3VyIGRhdGEgd2lkZXIgc28gZWFjaCByb3cgY29ycmVzcG9uZHMgdG8gYSBtb250aCBhbmQgbWV0cm8gYXJlYXMgYXJlIGluIGNvbHVtbnMNCiAgcGl2b3Rfd2lkZXIobmFtZXNfZnJvbSA9IE5hbWUsIHZhbHVlc19mcm9tID0gbW9ydGdhZ2Vfc2hhcmVfZGVsaW5xdWVudCkgJT4lDQogICMgRm9ybWF0IG91ciBtb250aCB2YXJpYWJsZSBhcyBhIGRhdGUgZGF0YSB0eXBlDQogIG11dGF0ZShtb250aCA9IGx1YnJpZGF0ZTo6eW0obW9udGgpKQ0KDQpgYGANCg0KTm93IHRoYXQgd2UgaGF2ZSBvdXIgZGF0YSB0aGUgd2F5IHdlIHdhbnQgd2UgY2FuIHBsb3QgdGhlIGRlbGlucXVlbmN5IHJhdGUgaW4gdGhlIFNhY3JhbWVudG8gTWV0cm8gQXJlYSAob3VyIGRlcGVuZGVudCB2YXJpYWJsZSkgb3ZlciB0aW1lLiBXZSBzZWUgaW4gdGhlIHBsb3QgYmVsb3cgdGhhdCBpdCBsb29rcyBsaWtlIHRoZSByYXRlIHNwaWtlZCBpbiBsYXRlIDIwMDggdG8gZWFybHkgMjAwOSBhbmQgdGhlbiBmZWxsIG92ZXIgdGhlIG5leHQgZGVjYWRlIGxldmVsaW5nIG91dCBzaW5jZSAyMDIwLg0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRX0NCmxhdGVfbW9ydGdhZ2VfY2xlYW5lZCAlPiUNCiAgcGxvdF90aW1lX3Nlcmllcyhtb250aCwgYFNhY3JhbWVudG8tLVJvc2V2aWxsZS0tQXJkZW4tQXJjYWRlLCBDQWApDQoNCmBgYA0KDQojIyMgU3BsaXR0aW5nIHRoZSBEYXRhDQpOb3cgdGhhdCB3ZSBoYXZlIG91ciBkYXRhIHdlIHdhbnQgdG8gcHJlcGFyZSBpdCBmb3IgdGhlIG1vZGVsLiBGaXJzdCB3ZSB3aWxsIHdhbnQgdG8gZXh0ZW5kIG91ciBkYXRhIGZyYW1lIGJ5IDI0IG1vbnRocyBzbyB0aGF0IHdlIGNhbiBwcmVkaWN0IGludG8gdGhlIGZ1dHVyZS4gVGhlbiB3ZSB3aWxsIHdhbnQgdG8gY3JlYXRlIGxhZ2dlZCB2YXJpYWJsZXMgYW5kIGEgY2hhaW5lZCBhdmVyYWdlIG9mIHRoZW0gc28gdGhhdCB3ZSBjYW4gcHJlZGljdCB0aGUgZnV0dXJlIHVzaW5nIGN1cnJlbnQgZGF0YSwgdGhlIG1vZGVsIHdpbGwgYmUgdHJhaW5lZCB0byBwcmVkaWN0IGJhc2VkIG9uIHRoZXNlIGxhZ2dlZCB2YXJpYWJsZXMgc28gaXQncyBwcmVkaWN0aW5nIHNhY3JhbWVudG8gZGVsaW5xdWVuY3kgcmF0ZXMgYmFzZWQgb24gcGFzdCBkZWxpbnF1ZW5jeSByYXRlcy4gRmluYWxseSwgd2UnbGwgaGF2ZSB0byBzcGxpdCB0aGUgZGF0ZXMgaW4gdGhlIGN1cnJlbnQgZGF0YSBpbnRvIGEgdHJhaW5pbmcgYW5kIGEgdGVzdCBzZXQuIFRoZSBtb2RlbCB3aWxsIGJlIHRyYWluZWQgb24gdGhlIHRyYWluaW5nIGRhdGFzZXQgYW5kIHRoZW4gd2Ugd2lsbCB0ZXN0IHBlcmZvcm1hbmNlIG9uIHRoZSB0ZXN0IGRhdGEgc2V0IHdoaWNoIHRoZSBtb2RlbCB3aWxsIG5vdCBoYXZlIHNlZW4geWV0LiBPbmNlIHRoYXQgaXMgZG9uZSB3ZSB3aWxsIHRyYWluIHRoZSBtb2RlbHMgb24gdGhlIGZ1bGwgZGF0YSBzZXQgKGJvdGggdHJhaW4gYW5kIHRlc3QpIGFuZCB1c2Ugb3VyIGV4dGVuZGVkIHBhcnQgb2YgZnV0dXJlIGRhdGVzIHRvIHByZWRpY3QgZGVsaW5xdWVuY3kgcmF0ZXMgZm9yIGRhdGVzIGluIHRoZSBmdXR1cmUgdGhhdCBoYXZlbid0IGJlZW4gcmVwb3J0ZWQgeWV0Lg0KDQpJbiB0aGUgcGxvdCBiZWxvdyB0aGUgYmx1ZSBwb3J0aW9uIG9mIHRoZSBsaW5lIGluZGljYXRlcyB0aGUgZGF0YSB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHRyYWluaW5nIHNldCBhbmQgdGhlIHJlZCBwb3J0aW9uIGluZGljYXRlcyB0aGUgZGF0YSB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHRlc3Qgc2V0Lg0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRX0NCiMgZXh0ZW5kaW5nIG91ciBkYXRhIGZyYW1lIHNvIHdlIGNhbiBwcmVkaWN0IGludG8gdGhlIGZ1dHVyZQ0KbGF0ZV9tb3J0Z2FnZV9jbGVhbmVkX2V4dGVuZGVkIDwtIGxhdGVfbW9ydGdhZ2VfY2xlYW5lZCAlPiUNCiBmdXR1cmVfZnJhbWUoDQogICAgICAgIC5sZW5ndGhfb3V0ID0gMjQsDQogICAgICAgIC5iaW5kX2RhdGEgID0gVFJVRQ0KICAgICkNCiMgYSBmdW5jdGlvbiB0byBjcmVhdGUgb3VyIGxhZ2dlZCB2YXJpYWJsZXMNCmxhZ19yb2xsX3RyYW5zZm9ybWVyIDwtIGZ1bmN0aW9uKGRhdGEpew0KICAgIGRhdGEgJT4lDQogICAgICAgIHRrX2F1Z21lbnRfbGFncyhjKGBVbml0ZWQgU3RhdGVzYDpOZXZhZGEpLCAubGFncyA9IDE6MjQpICU+JQ0KICAgICAgICB0a19hdWdtZW50X3NsaWRpZnkoDQogICAgICAgICAgY29udGFpbnMoImxhZzYiKSwNCiAgICAgICAgICAuZiA9IH5tZWFuKC54LCBuYS5ybSA9IFQpLA0KICAgICAgICAgIC5wZXJpb2QgID0gMywNCiAgICAgICAgICAucGFydGlhbCA9IFRSVUUNCiAgICAgICAgKSANCn0NCg0KDQpsYXRlX21vcnRnYWdlX2NsZWFuZWRfbW9kZWwgPC0gbGF0ZV9tb3J0Z2FnZV9jbGVhbmVkX2V4dGVuZGVkICU+JQ0KICAjIENyZWF0aW5nIG91ciBsYWdnZWQgdmFyaWFibGVzDQogIGxhZ19yb2xsX3RyYW5zZm9ybWVyKCkgJT4lDQogICMgcmVtb3ZlIHRoZSBjdXJyZW50IHJlY29yZHMgb2YgdGhlIGRhdGEgd2Ugd291bGRuJ3QgYmUgYWJsZSB0byBwcmVkaWN0IHdpdGggYW5kIHRoZSBsYWdnZWQgdmFyaWFibGVzIHRoYXQgYXJlIA0KICAjIHRvbyByZWNlbnQNCiAgc2VsZWN0KC1jKGBVbml0ZWQgU3RhdGVzYDpgUmVkZGluZywgQ0FgLCBgU2FsaW5hcywgQ0FgOk5ldmFkYSwgDQogICAgICAgICAgICBlbmRzX3dpdGgoIl9sYWcxIiksIGVuZHNfd2l0aCgiX2xhZzIiKSwgZW5kc193aXRoKCJfbGFnMyIpLCBlbmRzX3dpdGgoIl9sYWc0IiksIA0KICAgICAgICAgICAgZW5kc193aXRoKCJfbGFnNSIpLCBlbmRzX3dpdGgoIl9sYWc2IikpKQ0KDQojIFNwbGl0dGluZyB0aGUgZGF0YSBpbiB0cmFpbiBhbmQgdGVzdCBzZXQNCnNwbGl0cyA8LSBsYXRlX21vcnRnYWdlX2NsZWFuZWRfbW9kZWwlPiUNCiAgZmlsdGVyKCFpcy5uYShgU2FjcmFtZW50by0tUm9zZXZpbGxlLS1BcmRlbi1BcmNhZGUsIENBYCkpICU+JQ0KICB0aW1lX3Nlcmllc19zcGxpdCgNCiAgICBhc3Nlc3MgPSAiMiB5ZWFycyIsDQogICAgY3VtdWxhdGl2ZSA9IFRSVUUNCiAgKQ0KDQoNCnNwbGl0cyAlPiUNCiAgdGtfdGltZV9zZXJpZXNfY3ZfcGxhbigpICU+JQ0KICBwbG90X3RpbWVfc2VyaWVzX2N2X3BsYW4obW9udGgsIGBTYWNyYW1lbnRvLS1Sb3NldmlsbGUtLUFyZGVuLUFyY2FkZSwgQ0FgKQ0KDQojIFNldHRpbmcgYXNpZGUgb3VyIGZ1dHVyZSBkYXRhIA0KZnV0dXJlX2RhdGEgPC0gbGF0ZV9tb3J0Z2FnZV9jbGVhbmVkX21vZGVsICU+JQ0KICAgIGZpbHRlcihpcy5uYShgU2FjcmFtZW50by0tUm9zZXZpbGxlLS1BcmRlbi1BcmNhZGUsIENBYCkpDQoNCmBgYA0KDQojIyMgVHJhaW5pbmcgdGhlIE1vZGVscw0KSW4gdGhlIGNvZGUgYmVsb3cgd2UgdHJhaW4gdGhyZWUgbW9kZWxzLiBhIGxpbmVhciBtb2RlbCwgYSBnbG1lbnQgbW9kZWwsIGFuZCBhIHhnYm9vc3QgbW9kZWwuIEluIHRoaXMgcHJvamVjdCB3ZSBkb24ndCB0dW5lIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZXNlIG1vZGVscy4gVGhhdCB3b3VsZCBsaWtlbHkgaW1wcm92ZSBwZXJmb3JtYW5jZSAoYXMgd291bGQgZmVhdHVyZSBlbmdpbmVlcmluZyksIGJ1dCBmb3Igbm93LCB3ZSdyZSBwbGF5aW5nIHdpdGggdGhlIG1vZGVscyBvdXQgb2YgdGhlIGJveC4NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQpsdF9tdGdnX2xtIDwtIGxpbmVhcl9yZWcoKSAlPiUNCiAgc2V0X2VuZ2luZSgibG0iKSAlPiUNCiAgZml0KGBTYWNyYW1lbnRvLS1Sb3NldmlsbGUtLUFyZGVuLUFyY2FkZSwgQ0FgIH4gLiwgdHJhaW5pbmcoc3BsaXRzKSkNCg0KbHRfbXRnZ19sbQ0KDQpsdF9tdGdnX2dsbW50IDwtIGxpbmVhcl9yZWcocGVuYWx0eSA9IDAuMDEpICU+JQ0KICBzZXRfZW5naW5lKCJnbG1uZXQiKSAlPiUNCiAgZml0KGBTYWNyYW1lbnRvLS1Sb3NldmlsbGUtLUFyZGVuLUFyY2FkZSwgQ0FgIH4gbHVicmlkYXRlOjptb250aChtb250aCxsYWJlbCA9IFQpICsgYXMubnVtZXJpYyhtb250aCkrLiwNCiAgICAgIHRyYWluaW5nKHNwbGl0cykpDQoNCmx0X210Z2dfZ2xtbnQNCg0KbHRfbXRnZ194Z2Jvb3N0IDwtIGJvb3N0X3RyZWUoKSAlPiUNCiAgc2V0X2VuZ2luZSgieGdib29zdCIpICAlPiUNCiAgc2V0X21vZGUoInJlZ3Jlc3Npb24iKSAlPiUNCiAgZml0KGBTYWNyYW1lbnRvLS1Sb3NldmlsbGUtLUFyZGVuLUFyY2FkZSwgQ0FgIH4gbHVicmlkYXRlOjptb250aChtb250aCxsYWJlbCA9IFQpICsgYXMubnVtZXJpYyhtb250aCkrLiwNCiAgICAgIHRyYWluaW5nKHNwbGl0cykpDQoNCmx0X210Z2dfeGdib29zdA0KDQpgYGANCg0KIyMjIE1vZGVsIFBlcmZvcm1hbmNlDQpPdXIgbGluZWFyIG1vZGVsIGhhcyBleHRyZW1lbHkgaGlnaCBybXNlIGFuZCB3ZSBjYW4gc2VlIGluIG91ciBmaXJzdCBwbG90LCBpdCBwcmVkaWN0cyBkZWxpbnF1ZW5jeSByYXRlcyB0aGF0IGFyZSBubyB3aGVyZSBuZWFyIHRoZSByZWFsIHdvcmxkIHZhbHVlcyBhbmQgZmFyIG91dHNpZGUgdGhlIHJhbmdlIG9mIGRlbGlucXVlbmN5IHJhdGVzIGluIHRoZSB3aG9sZSBkYXRhIHNldC4gVGhpcyBtb2RlbCBpcyBpbW1lZGlhdGVseSBydWxlZCBhcyBhIHBvb3IgbW9kZWwuIFRoZSB4Z2Jvb3N0IGFuZCBnbG1uZXQgYm90aCBoYXZlIG11Y2ggbW9yZSByZWFzb25hYmxlIHJtc2Ugd2l0aCB0aGUgeGdib29zdCBoYXZpbmcgdGhlIGxvd2VzdC4gVGhlIHhnYm9vc3QgbW9kZWwgYWxzbyBleHBsYWlucyBhIG11Y2ggaGlnaCBhbW91bnQgb2YgdGhlIHZhcmlhdGlvbiBpbiBvdXIgZGVwZW5kZW50IHZhcmlhYmxlIHdpdGggYW4gciBzcXVhcmVkIHZhbHVlIG9mIDAuMjMuIEluIG91ciBzZWNvbmQgcGxvdCB3ZSBjYW4gc2VlIHRoYXQgdGhlIHhnYm9vc3QgZG9lcyBwcmVkaWN0IG11Y2ggbW9yZSBjbG9zZWx5IHRvIHRoZSBhY3R1YWwgdGVzdCBzZXQgdmFsdWVzLiBUaGUgZ2xtbmV0IG1vZGVsIHByZWRpY3RzIG11Y2ggaGlnaGVyIHRoYXQgYm90aCB0aGUgeGdib29zdCBhbmQgdGhlIHRydWUgdmFsdWVzIHRoZW4gZHJvcHMgdG8gYmVuZWF0aCB0aGUgdHJ1ZSB2YWx1ZSBlbmRpbmcgd2l0aCBwcmVkaWN0aW9ucyBhYm91dCAwLjMgbG93ZXIgdGhhbiB0aGUgdHJ1ZSB2YWx1ZS4gVGhlIHhnYm9vc3Qgc3RheXMgY2xvc2VyLCBmb2xsb3dpbmcgdGhlIHNsb3BlcyBpbiB0aGUgdHJ1ZSB2YWx1ZXMgcHJldHR5IGNsb3NlbHksIGFuZCBhdCB0aGUgZW5kIG9mIHRoZSB0ZXN0IHNldCB0aGUgeGdib29zdCBtb2RlbCBpcyBhbG1vc3QgcmlnaHQgb24gdGhlIHRydWUgdmFsdWVzLiBUaGUgeGdib29zdCBtb2RlbCBpcyBkZWZpbml0ZWx5IHRoZSBwcmVmZXJyZWQgbW9kZWwsIGJ1dCBJIHdvdWxkIGluY2x1ZGUgYWxsIGJvdGggdGhlIGdsbW5ldCBhbmQgdGhlIHhnYm9vc3QgaW4gYW55IHJlcG9ydC4NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQptb2RlbF9jb21wYXJlIDwtIG1vZGVsdGltZV90YWJsZShsdF9tdGdnX2xtLCBsdF9tdGdnX2dsbW50LCBsdF9tdGdnX3hnYm9vc3QpDQoNCmNhbGlicmF0aW9uIDwtIG1vZGVsX2NvbXBhcmUgJT4lDQogIG1vZGVsdGltZV9jYWxpYnJhdGUodGVzdGluZyhzcGxpdHMpKQ0KDQpjYWxpYnJhdGlvbiAlPiUgbW9kZWx0aW1lX2FjY3VyYWN5KCkNCg0KY2FsaWJyYXRpb24gJT4lDQogIG1vZGVsdGltZV9mb3JlY2FzdCgNCiAgICBuZXdfZGF0YSA9IHRlc3Rpbmcoc3BsaXRzKSwNCiAgICBhY3R1YWxfZGF0YSA9IGxhdGVfbW9ydGdhZ2VfY2xlYW5lZF9tb2RlbA0KICApICU+JQ0KICBwbG90X21vZGVsdGltZV9mb3JlY2FzdCgpDQoNCmNhbGlicmF0aW9uWzI6MyxdICU+JQ0KICBtb2RlbHRpbWVfZm9yZWNhc3QoDQogICAgbmV3X2RhdGEgPSB0ZXN0aW5nKHNwbGl0cyksDQogICAgYWN0dWFsX2RhdGEgPSBsYXRlX21vcnRnYWdlX2NsZWFuZWRfbW9kZWwNCiAgKSAlPiUNCiAgcGxvdF9tb2RlbHRpbWVfZm9yZWNhc3QoKQ0KDQpgYGANCg0KIyMjIEZ1dHVyZSBQcmVkaWN0aW9uDQoNClRoZSBsaW5lYXIgbW9kZWwgaXMgc3RpbGwgdmVyeSBwb29yLCBidXQgaW4gb3VyIHNlY29uZCBwbG90IHlvdSBjYW4gc2VlIHRoZSBnbG1uZXQgbW9kZWwgYW5kIHRoZSB4Z2Jvb3N0IGJvdGggcHJlZGljdCBKYW51YXJ5IDIwMjMgZGVsaW5xdWVuY3kgcmF0ZXMgaW4gdGhlIFNhY3JhbWVudG8gYXJlYSB0byBiZSBhYm91dCB0aGUgc2FtZSwgYnV0IGdsbW5ldCBnZXRzIHRoZXJlIHRocm91Z2ggYSBsaXR0bGUgbW9yZSBvZiBhbiB1cHdhcmQgdHJlbmQgZnJvbSBhIGxvd2VyIHN0YXJ0aW5nIHBvaW50LiBUaGUgeGdib29zdCBtb2RlbCBjYW4gaGFuZGxlIGBOQWAgdmFsdWVzIGFuZCBzbyBjYW4gcHJlZGljdCBtdWNoIGZ1cnRoZXIgb3V0LCBidXQgaXQncyBwcmVkaWN0aW9uIGlzIHByZXR0eSBjb25zdGFudC4NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0V9DQpsdF9tdGdnX2ZvcmVjYXN0IDwtIGNhbGlicmF0aW9uICU+JQ0KICBtb2RlbHRpbWVfcmVmaXQobGF0ZV9tb3J0Z2FnZV9jbGVhbmVkX21vZGVsICU+JQ0KICBkcm9wX25hKCkpICU+JQ0KICBtb2RlbHRpbWVfZm9yZWNhc3QoDQogICAgYWN0dWFsX2RhdGEgPSBsYXRlX21vcnRnYWdlX2NsZWFuZWRfbW9kZWwgJT4lDQogIGRyb3BfbmEoKSwNCiAgICBuZXdfZGF0YSA9IGZ1dHVyZV9kYXRhDQogICkNCg0KbHRfbXRnZ19mb3JlY2FzdCAlPiUNCiAgcGxvdF9tb2RlbHRpbWVfZm9yZWNhc3QoKQ0KDQpsdF9tdGdnX2ZvcmVjYXN0ICU+JQ0KICBmaWx0ZXIoLm1vZGVsX2Rlc2MgIT0gIkxNIikgJT4lDQogIHBsb3RfbW9kZWx0aW1lX2ZvcmVjYXN0KCkNCg0KYGBg