Introduction:

This project sets out to recreate a home sale price prediction algorithm. The project is loosely based around Zillow’s Zestimate function, and explores potential features that might explain sale prices in Boulder County, CO, USA. Sale prediction algorithms can be important for evaluating what features might affect home price and further might give the ability for people to make more informed decisions about long-term investments. It also may undercover inequities in the housing market that could be addressed.

This is an incredibly difficult exercise in both the content (using regressions and Machine Learning to build the models), but also in the data wrangling. While great data is available, it can be hard to quantify features that impact home prices and attribute aspects like “neighborhood-feel” to homes. Further, many variables included may be colinear, meaning that they might relate to one another and then pose challenges on the effectiveness of the model.

We set our research design using the hedonic model, a framework in which home prices are predicted utilizing a variety of variables such as internal characteristics related to the home and external or spatial features such as neighborhood demographics, libraries, open space, and more. Our overall modeling strategy was to gather variables that might have an affect on the housing market, clean them, and test them as regressions (to see how meaningful they might be). Once we got a regression model that was moderately meaningful, we continued the process to evaluate it. In determining our model’s predictive power, we must pay close attention towards many statistical metrics such as the mean absolute percentage errors, Moran’s I, and adjusted R-squared.

In the end, we produce an adequate model with some weaknesses. Unfortunately, our model does produce a relatively high percentage of error–this may be because it generally underpredicts and struggles to predict incredibly expensives houses. Despite the accuracy, our model is pretty generalizable across block groups and demographics in Boulder, Colorado. However, beyond Colorado, our model may not be up for the challenge of predicting home prices. More on this throughout the deliverable.

Overall, there are many learning opportunities and key takeaways from our research that will be able to inform and guide future data scientists and the housing industry towards accurate home pricing. Below is the code and more information on how our model performs.

Set Up

Boulder Home Price Data

Below is code to import the working dataset that our model will be based off of. The dataset includes home price sales and characteristics from 2019-2021 in Boulder, CO. The model we will build predicts price and uses some of the internal characteristics from this dataset to inform those predictions.


BoulderHousingData <- 
  st_read("studentData.geojson", crs = "ESRI:102254") %>%
  st_transform('ESRI:102653')
## Reading layer `studentData' from data source 
##   `C:\Users\ammar\OneDrive\Desktop\CPLN592\Midterm\MUSA_508_Midterm\studentData.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 11364 features and 48 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: 907857.2 ymin: 535711.1 xmax: 952487.4 ymax: 574366.8
## Projected CRS: NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502

Boulder.Boundary <-
  st_read("https://opendata.arcgis.com/datasets/964b8f3b3dbe401bb28d49ac93d29dc4_0.geojson") %>%
  st_transform(st_crs(BoulderHousingData))
## Reading layer `County_Boundary' from data source 
##   `https://opendata.arcgis.com/datasets/964b8f3b3dbe401bb28d49ac93d29dc4_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 1 feature and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.6945 ymin: 39.91297 xmax: -105.0528 ymax: 40.26396
## Geodetic CRS:  WGS 84

Cleaning Internal Variables

For the rest of the code, we will refer to “internal variables” as variables embedded in the Boulder Home Price Data above, or Boulder Housing Data. As explained above, internal characteristics are one factor in the hedonic model to predict home prices. This chunk of code cleans a few of the variables we will include in our model later on, like total baths.


#Adding a price/sq foot variable and total baths variable 

BoulderHousingData <- 
  BoulderHousingData %>%
  mutate(pricesqft = ifelse(TotalFinishedSF > 0, (price/TotalFinishedSF), 0),
        totalbaths = (nbrHalfBaths *0.5)+(nbrThreeQtrBaths)+(nbrFullBaths*1))

Adding Data: Amenities/Public Services

In order to start building a model off of potential features that relate to the housing market, we must import some external variables! Another aspect of the hedonic model is distance from certain amenities–this is what these variables will mostly over. The code below pulls in data that is categorized as either an amenity or public service and we pulled: library locations, trail head locations, open space, marijuana establishments, lakes and reservoir locations, as well as public and private schools. The data below is sourced from: https://www.bouldercounty.org/government/open-data/ and https://www.cde.state.co.us/schoolview


BoulderLibraries <-
   st_read("https://opendata.arcgis.com/datasets/7f4ea25ba87345e380d2e896611d2588_0.geojson") %>%
  st_transform(st_crs(BoulderHousingData))
## Reading layer `Libraries' from data source 
##   `https://opendata.arcgis.com/datasets/7f4ea25ba87345e380d2e896611d2588_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 19 features and 7 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -105.5099 ymin: 39.96059 xmax: -105.0989 ymax: 40.22287
## Geodetic CRS:  WGS 84

BoulderTrailHeads <- 
   st_read("https://opendata.arcgis.com/datasets/3a950053bbef46c6a3c2abe3aceee3de_0.geojson") %>%
  st_transform(st_crs(BoulderHousingData)) 
## Reading layer `Boulder_Area_Trailheads' from data source 
##   `https://opendata.arcgis.com/datasets/3a950053bbef46c6a3c2abe3aceee3de_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 331 features and 9 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -105.8584 ymin: 39.91423 xmax: -105.009 ymax: 40.44153
## Geodetic CRS:  WGS 84

BoulderOpenSpace <- 
   st_read("https://opendata.arcgis.com/datasets/61728921abcb481fa98b9b07cfd7c95d_0.geojson") %>%
  st_transform(st_crs(BoulderHousingData))
## Reading layer `County_Open_Space' from data source 
##   `https://opendata.arcgis.com/datasets/61728921abcb481fa98b9b07cfd7c95d_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 2057 features and 24 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.6661 ymin: 39.89269 xmax: -105.017 ymax: 40.26848
## Geodetic CRS:  WGS 84

BoulderMarijuanaEstablishments <- 
   st_read("https://opendata.arcgis.com/datasets/425a0adb547a4faba4b741a4fe4373b1_0.geojson") %>%
  st_transform(st_crs(BoulderHousingData))
## Reading layer `Marijuana_Establishments' from data source 
##   `https://opendata.arcgis.com/datasets/425a0adb547a4faba4b741a4fe4373b1_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 33 features and 28 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -105.286 ymin: 40.00162 xmax: -105.1021 ymax: 40.21266
## Geodetic CRS:  WGS 84

BoulderLakesandReservoirs <- 
   st_read("https://opendata.arcgis.com/datasets/e0759cd6dc8f4990a04b77a29c988b55_0.geojson") %>%
   st_transform(st_crs(BoulderHousingData))
## Reading layer `Lakes_and_Reservoirs' from data source 
##   `https://opendata.arcgis.com/datasets/e0759cd6dc8f4990a04b77a29c988b55_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 2043 features and 27 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.6983 ymin: 39.852 xmax: -104.9438 ymax: 40.34869
## Geodetic CRS:  WGS 84

BoulderSchools <- 
  st_read("BoulderSchools_Geocode_Proj.shp", crs = "ESRI:102653")
## Reading layer `BoulderSchools_Geocode_Proj' from data source 
##   `C:\Users\ammar\OneDrive\Desktop\CPLN592\Midterm\MUSA_508_Midterm\BoulderSchools_Geocode_Proj.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 207 features and 84 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: 2992787 ymin: 1212206 xmax: 7752053 ymax: 2501119
## Projected CRS: NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet

BoulderPublicSchools <- subset(BoulderSchools, BoulderSchools$USER_Publi == 1)
BoulderPrivateSchools <- subset(BoulderSchools, BoulderSchools$USER_Publi == 0)

Adding Data: Spatial Structure

We also included variables that relate to the demographic and environmental makeup of Boulder, CO to try to explain neighborhood or spatial affects beyond just XY points of amenities on a map. The variables pulled for this analysis were census data about race and income, and designated environmental hazards or special views. Variables below are from: https://www.socialexplorer.com/home and https://www.bouldercounty.org/government/open-data/


#race, median household income, education levels
BoulderCensusData <- 
  st_read("BoulderCO_Proj.shp", crs = "ESRI:102653")
## Reading layer `BoulderCO_Proj' from data source 
##   `C:\Users\ammar\OneDrive\Desktop\CPLN592\Midterm\MUSA_508_Midterm\BoulderCO_Proj.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 200 features and 25 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 2945512 ymin: 1211128 xmax: 3125345 ymax: 1338641
## Projected CRS: NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet

BoulderCensusData <- 
  BoulderCensusData %>%
  mutate(BG = GEOID)

BoulderScenicCorridor <- 
   st_read("https://opendata.arcgis.com/datasets/749ed0a11e454f64a0e5f7c51a786129_0.geojson") %>%
   st_transform(st_crs(BoulderHousingData))
## Reading layer `Peak_To_Peak_Scenic_Corridor' from data source 
##   `https://opendata.arcgis.com/datasets/749ed0a11e454f64a0e5f7c51a786129_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 1593 features and 6 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.5472 ymin: 39.93224 xmax: -105.4367 ymax: 40.26143
## Geodetic CRS:  WGS 84

BoulderGeologicalHazards <- 
   st_read("Geological_Hazards.geojson") %>%
   st_transform(st_crs(BoulderHousingData))
## Reading layer `Geological_Hazards' from data source 
##   `C:\Users\ammar\OneDrive\Desktop\CPLN592\Midterm\MUSA_508_Midterm\Geological_Hazards.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 303 features and 9 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.6945 ymin: 39.91318 xmax: -105.0528 ymax: 40.26396
## Geodetic CRS:  WGS 84

BoulderFloodZones <-
   st_read("https://opendata.arcgis.com/datasets/a9624bd25d854ef7ab0d543e9490ce48_0.geojson") %>%
   st_transform(st_crs(BoulderHousingData))
## Reading layer `Flood_2013_Inundated_Areas' from data source 
##   `https://opendata.arcgis.com/datasets/a9624bd25d854ef7ab0d543e9490ce48_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 165 features and 6 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.4942 ymin: 39.91283 xmax: -105.0547 ymax: 40.26225
## Geodetic CRS:  WGS 84

BoulderWildfireHistory <-
   st_read("https://opendata.arcgis.com/datasets/61f20f4a64274969a9e740eda5c62de7_0.geojson") %>%
   st_transform(st_crs(BoulderHousingData))
## Reading layer `Wildfire_History' from data source 
##   `https://opendata.arcgis.com/datasets/61f20f4a64274969a9e740eda5c62de7_0.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 42 features and 7 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -105.5855 ymin: 39.91812 xmax: -105.2345 ymax: 40.23306
## Geodetic CRS:  WGS 84

Adding External Variables to the Big Dataset

To start conducting analysis, we must reconfigure certain variables and attribute them to specific home sales. The code below goes through this process. We used three different types of methodology to measure both distance and occurrences, which were 1. fixed-buffer analysis (set counts in a half mile radius), 2. k-nearest neighborhood (distance to a number of institutions), and 3. spatial join of both descriptive and binary attributes. In sum, we introduced variables that related to open space, lakes and reservoirs, libraries, trailheads, schools, marijuana establishments, scenery, flood zones, wildfires, census data, and geological hazards to see if they would be meaningful to the predictions.


# Fixed Buffer Distance: Open Space & Lakes + Reservoirs

BoulderOpenSpaceGeo <- BoulderOpenSpace %>% 
  dplyr::select(geometry)
BoulderLakesandReservoirsGeo <- BoulderLakesandReservoirs %>% 
  dplyr:: select(geometry)

BoulderHousingData.Buffer.OpenSpace =
  BoulderHousingData %>%
    st_buffer(2640) %>% 
    stats::aggregate(mutate(BoulderLakesandReservoirsGeo, counter = 1),., sum) %>%
    pull(counter)

BoulderHousingData.Buffer.OpenSpace =
  ifelse(is.na(BoulderHousingData.Buffer.OpenSpace),0, 1)

BoulderHousingData.Buffer.LR = 
   BoulderHousingData %>%
    st_buffer(2640) %>% 
    stats::aggregate(mutate(BoulderLakesandReservoirsGeo, counter = 1),., sum) %>%
    pull(counter)

BoulderHousingData.Buffer.LR =
  ifelse(is.na(BoulderHousingData.Buffer.LR),0, 1)

BoulderHousingData <-
  cbind(BoulderHousingData, BoulderHousingData.Buffer.OpenSpace)

BoulderHousingData <-
  cbind(BoulderHousingData, BoulderHousingData.Buffer.LR)

# K-Nearest Neighbor: Libraries, Trail Heads, Marijuana Establishments, Schools (public and private)

st_c <- st_coordinates

BoulderHousingData <-
  BoulderHousingData %>% 
    mutate(
      libraries_nn1 = nn_function(st_c(BoulderHousingData), st_c(BoulderLibraries), 1),
      libraries_nn2 = nn_function(st_c(BoulderHousingData), st_c(BoulderLibraries), 2), 
      libraries_nn3 = nn_function(st_c(BoulderHousingData), st_c(BoulderLibraries), 3), 
      libraries_nn4 = nn_function(st_c(BoulderHousingData), st_c(BoulderLibraries), 4), 
      libraries_nn5 = nn_function(st_c(BoulderHousingData), st_c(BoulderLibraries), 5)) 

BoulderHousingData <-
  BoulderHousingData %>% 
    mutate(
      trailheads_nn1 = nn_function(st_c(BoulderHousingData), st_c(BoulderTrailHeads), 1),
      trailheads_nn2 = nn_function(st_c(BoulderHousingData), st_c(BoulderTrailHeads), 2), 
      trailheads_nn3 = nn_function(st_c(BoulderHousingData), st_c(BoulderTrailHeads), 3), 
      trailheads_nn4 = nn_function(st_c(BoulderHousingData), st_c(BoulderTrailHeads), 4), 
      trailheads_nn5 = nn_function(st_c(BoulderHousingData), st_c(BoulderTrailHeads), 5)) 

BoulderHousingData <-
  BoulderHousingData %>% 
    mutate(
      ME_nn1 = nn_function(st_c(BoulderHousingData), st_c(BoulderMarijuanaEstablishments), 1),
      ME_nn2 = nn_function(st_c(BoulderHousingData), st_c(BoulderMarijuanaEstablishments), 2), 
      ME_nn3 = nn_function(st_c(BoulderHousingData), st_c(BoulderMarijuanaEstablishments), 3), 
      ME_nn4 = nn_function(st_c(BoulderHousingData), st_c(BoulderMarijuanaEstablishments), 4), 
      ME_nn5 = nn_function(st_c(BoulderHousingData), st_c(BoulderMarijuanaEstablishments), 5))

BoulderHousingData <-
  BoulderHousingData %>% 
    mutate(
      public_nn1 = nn_function(st_c(BoulderHousingData), st_c(BoulderPublicSchools), 1),
      public_nn2 = nn_function(st_c(BoulderHousingData), st_c(BoulderPublicSchools), 2), 
      public_nn3 = nn_function(st_c(BoulderHousingData), st_c(BoulderPublicSchools), 3), 
      public_nn4 = nn_function(st_c(BoulderHousingData), st_c(BoulderPublicSchools), 4), 
      public_nn5 = nn_function(st_c(BoulderHousingData), st_c(BoulderPublicSchools), 5))

BoulderHousingData <-
  BoulderHousingData %>% 
    mutate(
      private_nn1 = nn_function(st_c(BoulderHousingData), st_c(BoulderPrivateSchools), 1),
      private_nn2 = nn_function(st_c(BoulderHousingData), st_c(BoulderPrivateSchools), 2), 
      private_nn3 = nn_function(st_c(BoulderHousingData), st_c(BoulderPrivateSchools), 3), 
      private_nn4 = nn_function(st_c(BoulderHousingData), st_c(BoulderPrivateSchools), 4), 
      private_nn5 = nn_function(st_c(BoulderHousingData), st_c(BoulderPrivateSchools), 5))

# St_Join: Census, Scenic, Geological Hazards, Floodzones, Wildfire
BoulderHousingData <- 
  st_join(BoulderHousingData, BoulderCensusData)
  
BoulderHousingData <-
  st_join(BoulderHousingData, BoulderGeologicalHazards)


BoulderScenicCorridor <-
 BoulderScenicCorridor %>%
 mutate(SC = 1)

BoulderFloodZones <-
 BoulderFloodZones %>%
 mutate(FZ = 1)


BoulderWildfireHistory <-
 BoulderWildfireHistory %>%
 mutate(WF = 1)

BoulderHousingData <-
  st_join(BoulderHousingData, BoulderScenicCorridor) 

BoulderHousingData$SC =
  ifelse(is.na(BoulderHousingData$SC),0, 1)

BoulderHousingData <-
  st_join(BoulderHousingData, BoulderFloodZones) 

BoulderHousingData$FZ =
  ifelse(is.na(BoulderHousingData$FZ),0, 1)

BoulderHousingData <-
  st_join(BoulderHousingData, BoulderWildfireHistory) 

BoulderHousingData$WF =
  ifelse(is.na(BoulderHousingData$WF),0, 1)

Exploratory Maps + Stats

Price Sold Map

This is a map of the homes sold from 2019-2021 by price sold to give further context to the area.


options(scipen = 9999)

#Home Price

ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks", 
                   na.value = NA) +
  labs(title="Homes Sold By Sale Price, Boulder CO, 2019-2021", 
      caption="Figure 1") +
  mapTheme()

Internal Variables Map

The following are maps of internal housing characteristics that were included in the modeling process.


options(scipen = 9999)

#Internal Variables
ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(TotalFinishedSF)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"TotalFinishedSF"),
                   name="Quintile\nBreaks") +
  labs(title="Total Finished SF By Homes Sold, Boulder CO, 2019-2021", 
       caption="Figure 2.1") +
  mapTheme()

ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = (qualityCodeDscr)), 
          show.legend = "point", size = .75) +
  labs(title="Quality Description By Homes Sold, Boulder CO, 2019-2021", 
       caption="Figure 2.2") +
  mapTheme()

Amenities/Services Maps

Below are a series of maps that begin to speak to the relationship between sold home prices and amenities/services across the county. Some of these maps may show descriptive relationships, like how there are a lot of trail heads by expensive homes, but we will explore more of this significance later on.


BoulderSchools1 <- st_intersection(Boulder.Boundary, BoulderSchools)

BoulderTrailHeads1 <- st_intersection(Boulder.Boundary, BoulderTrailHeads)

ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks") +
  geom_sf(data = BoulderSchools1, color = "violetred", size = 2) +
  labs(title="Boulder Schools, Boulder CO", 
      caption="Figure 2.3") +
  mapTheme()

ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks") +
  geom_sf(data = BoulderTrailHeads1, color = "dodgerblue3", size = 2) +
  labs(title="Boulder Trailheads, Boulder CO", 
       caption="Figure 2.4") +
  mapTheme()

Spatial Variables Maps

Lastly, there are maps on spatial variables and home prices.


ggplot() +
  geom_sf(data = BoulderCensusData, aes(fill = q5(PerBDorHig)), color = "transparent") +
    scale_fill_brewer(palette = "PuBu",
                      labels = qBr(BoulderCensusData, "PerBDorHig"),
                      name = "% Bachelors or Higher\n(Quintile Breaks)") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks") +
  labs(title="% Bachelors or Higher, Boulder CO, 2019-2021", 
      caption="Figure 2.5") +
  mapTheme()


ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderScenicCorridor, fill = "honeydew3",  color = "transparent") +
  geom_sf(data = BoulderHousingData, fill = "grey50", color = "grey50",
          show.legend = "point", size = .75) +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks") +
  labs(title="Scenic Corridor, Boulder CO", 
       caption="Figure 2.6") +
  mapTheme()

Interesting Variable Maps

Now we’re singling out some even more interesting variables. Total baths is a great indicator for home price and aligns closely with Figure 1–this variable was created from the original dataset that had baths broken up. Another interesting variable is the location of Marijuana Establishments. Marijuana Establishments were included as it is a variable pretty unique to Colorado due to its legalization. From a visual perspective, it seems like the few establishments noted are pretty diverse, but may have some impact in the downtown area. Lastly, we mapped a geological hazard variable by the county. Later in the analysis, we will see how this variable is deemed very significant to the overall price prediction model. In the downtown area, there is a stretch of moderate hazard areas near potentially a clustering of lower priced homes.


ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(totalbaths)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"totalbaths"),
                   name="Quintile\nBreaks") +
  labs(title="Total Baths By Homes Sold, Boulder CO, 2019-2021", 
      caption="Figure 2.7") +
  mapTheme()


ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks") +
  geom_sf(data = BoulderMarijuanaEstablishments, color = "mediumpurple3", size = 2) +
  labs(title="Marijuana Establishments, Boulder CO", 
       caption="Figure 2.8") +
  mapTheme()

ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = BoulderGeologicalHazards, aes(fill = DESCRIPTION), color = "transparent") +
  scale_fill_brewer(palette = "PuBu") +
  geom_sf(data = BoulderHousingData, aes(colour = q5(price)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(BoulderHousingData,"price"),
                   name="Quintile\nBreaks") +
  labs(title="Geological Hazards and Homes Sold, Boulder CO, 2019-2021", 
       caption="Figure 2.9") +
  mapTheme()

Summary Stats

Provided below is a table of summary statistics that outlines each of our internal and external variables as well as the measures of fit such as the R-squared and adjusted R-squared.

## Polished training set table
#--- Internal

ss_boulderInternal <- BoulderHousingData 

ss_boulderInternal <- st_drop_geometry(ss_boulderInternal)

ss_boulderInternal <- ss_boulderInternal %>%
  dplyr::select("pricesqft", "totalbaths", "builtYear", "bsmtSF", "carStorageSF", "nbrBedRoom", "nbrRoomsNobath", "mainfloorSF", "TotalFinishedSF") 

stargazer(as.data.frame(ss_boulderInternal), type="html", digits=1, title = "Descriptive Statistics for Boulder Homes Internal Variables (Figure 3.1)", out = "Training_BoulderInternal.txt")
Descriptive Statistics for Boulder Homes Internal Variables (Figure 3.1)
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
pricesqft 11,264 1,085.4 29,927.0 0.0 261.3 473.6 1,520,000.0
totalbaths 11,364 2.7 1.0 0 2 3.5 12
builtYear 11,364 1,987.2 26.8 1,860 1,972 2,006 2,021
bsmtSF 11,364 743.7 627.4 0 133.8 1,125 4,534
carStorageSF 11,364 471.9 235.9 0 380 600 3,040
nbrBedRoom 11,364 3.4 1.1 0 3 4 24
nbrRoomsNobath 11,364 7.4 2.1 0 6 9 28
mainfloorSF 11,364 1,313.5 607.2 0 923 1,619 7,795
TotalFinishedSF 11,364 1,955.4 892.6 0 1,276 2,443.2 10,188

#--- Amenities/Services
ss_boulderAS <- BoulderHousingData 

ss_boulderAS <- st_drop_geometry(ss_boulderAS)

ss_boulderAS <- ss_boulderAS %>%
  dplyr::select("libraries_nn1", "trailheads_nn1", "ME_nn1","public_nn1","private_nn1")

stargazer(as.data.frame(ss_boulderAS), type="html", digits=1, title="Descriptive Statistics for Boulder Homes Amenities and Services Variables (Figure 3.2)", out = "Training_BoulderExternal.txt")
Descriptive Statistics for Boulder Homes Amenities and Services Variables (Figure 3.2)
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
libraries_nn1 11,364 10,673.2 7,832.2 168.0 5,111.2 13,615.9 69,429.6
trailheads_nn1 11,364 3,909.8 2,749.0 72.2 2,013.9 5,215.6 31,687.6
ME_nn1 11,364 14,213.8 12,012.0 694.0 7,970.4 15,917.6 95,516.0
public_nn1 11,364 4,163.6 5,944.6 83.2 1,651.8 4,252.0 68,222.0
private_nn1 11,364 7,315.3 12,480.0 55.3 2,056.6 6,605.3 103,817.3

#--- Amenities/Services
ss_boulderSpatial <- BoulderHousingData

ss_boulderSpatial <- st_drop_geometry(ss_boulderSpatial)

ss_boulderSpatial <- ss_boulderSpatial %>%
  dplyr::select("PerBDorHig","PerWhitePo","MedHHInc")

stargazer(as.data.frame(ss_boulderSpatial), type="html", digits=1, title="Descriptive Statistics for Boulder Homes Spatial Structure Variables (Figure 3.3)", out = "Training_BoulderExternal.txt")
Descriptive Statistics for Boulder Homes Spatial Structure Variables (Figure 3.3)
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
PerBDorHig 11,364 63.4 16.4 0.0 53.3 73.9 94.8
PerWhitePo 11,364 89.9 5.4 51 87.0 93.4 100
MedHHInc 11,364 102,764.3 34,941.3 0 81,518 123,750 241,161

Splitting Data for Regressions

## Setting toPrecict==0
Training_Boulder <- filter(BoulderHousingData, toPredict == 0) #removed 100

Exploratory Data Analysis: Correlations

Exploratory Data Analysis: Scatterplots + Category Variables

The next chunk of code begins to explore the relationships between the variables and home prices. Below are scatterplots, descriptive statistics, and a barplot. For example, the last chart is a barplot of quality by house price, indicating that the higher the quality of the house, the more expensive the house sells for. These help inform which variables we pick for the model later on.

options(scipen = 9999) #turns off scientific notation and how many points

Training_BoulderPlot <- ## IMPORTANT
  Training_Boulder %>%
  filter(price < 10000000)

## Scatterplot
st_drop_geometry(Training_BoulderPlot) %>% 
  dplyr::select(price, pricesqft, totalbaths, qualityCode, builtYear, bsmtSF, carStorageSF,nbrBedRoom,
                nbrRoomsNobath, mainfloorSF, TotalFinishedSF, Ac, Heating, PerBDorHig, PerWhitePo,
                MedHHInc, ) %>% 
  filter(price < 10000000) %>%
  gather(Variable, Value, -price) %>% 
   ggplot(aes(Value, price)) +
     geom_point(size = .5) + geom_smooth(method = "lm", se=F, colour = "#FA7800") +
     facet_wrap(~Variable, ncol = 3, scales = "free") +
     labs(title = "Price as a function of continuous variables", 
          caption="Figure 4.1") +
     plotTheme()
## `geom_smooth()` using formula 'y ~ x'

Exploratory Data Analysis: Categorical Variable

# separate because above has specific figure height 
## Barplot
plot <- 
  st_drop_geometry(Training_Boulder) %>%
  dplyr::select(price, qualityCodeDscr) %>%
  gather(Variable, Value, -price) %>% 
   ggplot(aes(Value, price)) +
     geom_bar(position = "dodge", stat = "summary", fun.y = "mean") +
     facet_wrap(~Variable, ncol = 1, scales = "free") +
     labs(title = "Price as a function of\ncategorical variables", y = "Mean_Price", 
          caption="Figure 4.2") +
     plotTheme() + theme(axis.text.x = element_text(angle = 45, hjust = 1))

plot
## No summary function supplied, defaulting to `mean_se()`

Exploratory Data Analysis: Correlation Matrix

Below is another visualization explaining correlation. For this visualization, we are mostly focused on price and how it relates to the variables that might be included in the model. We notice that there are some variables with strong positive and negative correlations, which begins our selection process.

## Correlation Matrix

numericVars <- st_drop_geometry(Training_Boulder) %>%
  dplyr::select(price, TotalFinishedSF, mainfloorSF, nbrBedRoom, qualityCode, builtYear, bsmtSF, carStorageSF, nbrRoomsNobath, totalbaths, libraries_nn4, trailheads_nn5, ME_nn5, public_nn1, private_nn5, TotalPop, WhitePop, PerWhitePo, PerNonWhit, PerBDorHig, MedHHInc) %>%
  select(where(is.numeric)) %>%
  na.omit()

ggcorrplot(
  round(cor(numericVars), 1),
  p.mat = cor_pmat(numericVars),
  colors = c("#25CB10", "white", "#FA7800"),
  type="lower",
  insig = "blank") +  
    labs(title = "Figure 1: Sale Price Correlation with Numeric Variables", 
         caption="Figure 4.3") +
  plotTheme()


## Pearson's Test
cor.test(Training_Boulder$price, Training_Boulder$libraries_nn1, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  Training_Boulder$price and Training_Boulder$libraries_nn1
## t = -2.7543, df = 11262, p-value = 0.005892
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.044391355 -0.007481029
## sample estimates:
##         cor 
## -0.02594503

Interesting Scatterplots by Sale Price

Below are interesting scatterplots pulled from prior code. All of these scatterplots depict either rising or falling home prices in relation to distance to/from or concentration of certain populations.


## Marijuana Establishments
ME <- ggplot(data = Training_BoulderPlot, aes(x = ME_nn5, y = price)) +
  geom_point(size=2, shape=20)  +
  labs(title = "Marijuana Establishments", subtitle = "Boulder County, Colorado", caption="Figure 4.4") +
  geom_smooth(method = "lm", se=F, colour = "red") +
  plotTheme()

## Bachelor's Degree or Higher
BD <- ggplot(data = Training_BoulderPlot, aes(x = PerBDorHig, y = price)) +
  geom_point(size=2, shape=20)  +
  labs(title = "Bachelor's Degree or Higher", subtitle = "Boulder County, Colorado", caption="Figure 4.5") +
  geom_smooth(method = "lm", se=F, colour = "red") +
  plotTheme()

## Libraries
LB <- ggplot(data = Training_BoulderPlot, aes(x = libraries_nn5, y = price)) +
  geom_point(size=2, shape=20)  +
  labs(title = "Libraries", subtitle = "Boulder County, Colorado", caption="Figure 4.6") +
  geom_smooth(method = "lm", se=F, colour = "red") +
  plotTheme()

## Percent Non-White  
NW <- ggplot(data = Training_BoulderPlot, aes(x = PerNonWhit, y = price)) +
  geom_point(size=2, shape=20)  +
  labs(title = "Percent Non-White", subtitle = "Boulder County, Colorado", caption="Figure 4.7") +
  geom_smooth(method = "lm", se=F, colour = "red") +
  plotTheme()

grid.arrange(ME, BD, LB, NW, nrow = 2)
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'

Regression Model

Below is our regression model. The one with categorical variables is our model in final form that was adjusted, significantly, from the first variation. This model includes: basement SF, carstorage SF, total finished SF, # of rooms, total baths, % bachelors or higher, distance from libraries, distance from trailheads, distance from marijuana establishments, distance from private schools, description of geological hazards, basement type, car storage type, quality code description (the state of the housing), block groups, distance from lakes and reservoirs, proximity to scenic corridor, flood zones, and wildfires. We tried to make sure these variables were not colinear. Overall, the many of the variables appeared significant. Our adjusted R-Squared value indicates that our model accounts for 56% of the home price variation.

# First Regression Test
first.regression <- lm(price ~ ., data = st_drop_geometry(Training_Boulder) %>% 
                                 dplyr::select(price, TotalFinishedSF, mainfloorSF, nbrBedRoom, qualityCode, bsmtSF, carStorageSF, nbrRoomsNobath, totalbaths, TotalPop, PerBDorHig, MedHHInc, libraries_nn2, libraries_nn3, libraries_nn4, libraries_nn5, trailheads_nn2, trailheads_nn3, trailheads_nn4, trailheads_nn5, ME_nn1, ME_nn5, private_nn1, private_nn2, private_nn5))
summary(first.regression)
## 
## Call:
## lm(formula = price ~ ., data = st_drop_geometry(Training_Boulder) %>% 
##     dplyr::select(price, TotalFinishedSF, mainfloorSF, nbrBedRoom, 
##         qualityCode, bsmtSF, carStorageSF, nbrRoomsNobath, totalbaths, 
##         TotalPop, PerBDorHig, MedHHInc, libraries_nn2, libraries_nn3, 
##         libraries_nn4, libraries_nn5, trailheads_nn2, trailheads_nn3, 
##         trailheads_nn4, trailheads_nn5, ME_nn1, ME_nn5, private_nn1, 
##         private_nn2, private_nn5))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1709885  -171918   -22981    99409 30738441 
## 
## Coefficients:
##                     Estimate   Std. Error t value             Pr(>|t|)    
## (Intercept)     196345.29270  48627.68990   4.038         0.0000543301 ***
## TotalFinishedSF    119.17307     10.35982  11.503 < 0.0000000000000002 ***
## mainfloorSF        133.34692     11.26947  11.833 < 0.0000000000000002 ***
## nbrBedRoom      -19529.05542   6910.45879  -2.826              0.00472 ** 
## qualityCode      21682.89502    891.46813  24.323 < 0.0000000000000002 ***
## bsmtSF             -17.02235      9.11023  -1.868              0.06172 .  
## carStorageSF       -19.32101     24.38072  -0.792              0.42810    
## nbrRoomsNobath    1947.35529   3713.71236   0.524              0.60003    
## totalbaths       42322.77776   7700.09970   5.496         0.0000000396 ***
## TotalPop           -67.89010      4.09364 -16.584 < 0.0000000000000002 ***
## PerBDorHig       -1071.72288    520.86689  -2.058              0.03965 *  
## MedHHInc            -0.05499      0.16915  -0.325              0.74510    
## libraries_nn2       22.43093      1.99527  11.242 < 0.0000000000000002 ***
## libraries_nn3      -34.72349      7.52147  -4.617         0.0000039444 ***
## libraries_nn4        1.31300     18.88616   0.070              0.94458    
## libraries_nn5       -4.78124     11.81557  -0.405              0.68574    
## trailheads_nn2     -31.92391     11.20344  -2.849              0.00439 ** 
## trailheads_nn3      69.55257     30.43155   2.286              0.02230 *  
## trailheads_nn4      16.45420     36.95272   0.445              0.65613    
## trailheads_nn5     -55.38995     19.87625  -2.787              0.00533 ** 
## ME_nn1              -0.27206      1.33804  -0.203              0.83889    
## ME_nn5               7.50064      1.46969   5.104         0.0000003388 ***
## private_nn1        -27.39653      6.90927  -3.965         0.0000737937 ***
## private_nn2         61.28900     10.65348   5.753         0.0000000090 ***
## private_nn5        -34.67539      6.19878  -5.594         0.0000000227 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 458900 on 11239 degrees of freedom
## Multiple R-squared:  0.4465, Adjusted R-squared:  0.4453 
## F-statistic: 377.8 on 24 and 11239 DF,  p-value: < 0.00000000000000022


## Regression for Training with CATEGORICAL VARIABLES
regression <- lm(price ~ ., data = st_drop_geometry(Training_Boulder) %>% 
                                 dplyr::select(price, bsmtSF, carStorageSF, TotalFinishedSF, nbrRoomsNobath, totalbaths, PerBDorHig, libraries_nn4, trailheads_nn5, ME_nn5,private_nn5, DESCRIPTION, bsmtType, carStorageType,qualityCodeDscr, Geo_QName, BoulderHousingData.Buffer.LR, SC, FZ, WF))

Regression Model Stats

#---Polished LM table of training dataset
stargazer(regression, type="html", digits=1, title="Linear Model of Training Dataset (Figure 5)", out = "Training LM.txt")
Linear Model of Training Dataset (Figure 5)
Dependent variable:
price
bsmtSF 10.3
(10.1)
carStorageSF 33.3
(28.6)
TotalFinishedSF 154.1***
(9.6)
nbrRoomsNobath -1,397.7
(3,086.9)
totalbaths 16,143.8**
(7,076.5)
PerBDorHig 42,510.5***
(5,987.3)
libraries_nn4 -3.6
(3.3)
trailheads_nn5 -1.3
(2.9)
ME_nn5 3.7
(2.5)
private_nn5 -2.0
(3.0)
DESCRIPTIONMinor Constraint 27,095.4
(36,251.2)
DESCRIPTIONModerate Constraint 9,949.2
(31,116.4)
DESCRIPTIONModerate Hazard 1,414.6
(50,054.4)
bsmtTypeBGF 55,866.2**
(27,680.4)
bsmtTypeBGU 23,925.8
(45,681.6)
bsmtTypeBSF 35,633.3**
(16,192.8)
bsmtTypeBSU -4,670.8
(15,942.0)
bsmtTypeBWF 80,472.1***
(22,991.7)
bsmtTypeBWU 34,893.4
(32,925.7)
bsmtTypeLGF 70,736.8***
(19,965.9)
bsmtTypeLGU -74,732.2
(125,187.4)
bsmtTypeLWF 132,373.2**
(66,224.8)
bsmtTypeLWU 159,855.5
(238,321.1)
carStorageTypeGRA 33,339.5
(21,685.3)
carStorageTypeGRB 124,217.4***
(40,062.1)
carStorageTypeGRC 27,330.0
(33,716.7)
carStorageTypeGRD 55,781.9**
(23,459.9)
carStorageTypeGRF 56,075.0
(140,928.7)
carStorageTypeGRW -9,676.4
(140,672.5)
qualityCodeDscrAVERAGE + -34,962.7*
(18,209.2)
qualityCodeDscrAVERAGE ++ 4,737.3
(18,702.9)
qualityCodeDscrEXCELLENT 1,039,717.0***
(42,509.8)
qualityCodeDscrEXCELLENT + 1,306,857.0***
(89,732.6)
qualityCodeDscrEXCELLENT++ 1,955,621.0***
(73,962.1)
qualityCodeDscrEXCEPTIONAL 1 1,071,956.0***
(93,026.2)
qualityCodeDscrEXCEPTIONAL 2 1,774,304.0***
(244,641.5)
qualityCodeDscrFAIR -805.0
(44,525.6)
qualityCodeDscrGOOD 62,923.9***
(13,710.0)
qualityCodeDscrGOOD + 78,699.8***
(21,771.4)
qualityCodeDscrGOOD ++ 167,052.5***
(20,808.2)
qualityCodeDscrLOW -75,675.0
(92,240.8)
qualityCodeDscrVERY GOOD 258,375.6***
(22,114.9)
qualityCodeDscrVERY GOOD + 472,905.4***
(37,100.2)
qualityCodeDscrVERY GOOD ++ 592,803.6***
(31,195.4)
Geo_QNameBlock Group 1, Census Tract 121.02, Boulder County, Colorado -414,700.5***
(113,299.5)
Geo_QNameBlock Group 1, Census Tract 121.03, Boulder County, Colorado -724,894.0***
(122,861.3)
Geo_QNameBlock Group 1, Census Tract 121.04, Boulder County, Colorado -213,413.5**
(95,278.9)
Geo_QNameBlock Group 1, Census Tract 121.05, Boulder County, Colorado -328,073.3**
(145,401.0)
Geo_QNameBlock Group 1, Census Tract 122.01, Boulder County, Colorado -483,263.9***
(156,346.1)
Geo_QNameBlock Group 1, Census Tract 122.02, Boulder County, Colorado -813,680.9***
(128,553.8)
Geo_QNameBlock Group 1, Census Tract 122.03, Boulder County, Colorado 820,640.8***
(115,490.4)
Geo_QNameBlock Group 1, Census Tract 122.04, Boulder County, Colorado -160,936.0
(248,988.6)
Geo_QNameBlock Group 1, Census Tract 123, Boulder County, Colorado -332,138.5
(423,275.4)
Geo_QNameBlock Group 1, Census Tract 124.01, Boulder County, Colorado 3,168,943.0***
(595,485.3)
Geo_QNameBlock Group 1, Census Tract 125.01, Boulder County, Colorado -1,027,585.0***
(107,562.1)
Geo_QNameBlock Group 1, Census Tract 125.05, Boulder County, Colorado -874,507.5***
(125,368.5)
Geo_QNameBlock Group 1, Census Tract 125.07, Boulder County, Colorado -380,210.2***
(97,365.1)
Geo_QNameBlock Group 1, Census Tract 125.08, Boulder County, Colorado -1,137,168.0***
(128,602.2)
Geo_QNameBlock Group 1, Census Tract 125.09, Boulder County, Colorado -870,708.0***
(106,605.9)
Geo_QNameBlock Group 1, Census Tract 125.10, Boulder County, Colorado -605,378.4***
(127,428.0)
Geo_QNameBlock Group 1, Census Tract 125.11, Boulder County, Colorado -796,433.9***
(125,800.5)
Geo_QNameBlock Group 1, Census Tract 126.03, Boulder County, Colorado -1,162,334.0***
(110,973.2)
Geo_QNameBlock Group 1, Census Tract 126.08, Boulder County, Colorado -743,874.9***
(81,271.7)
Geo_QNameBlock Group 1, Census Tract 127.01, Boulder County, Colorado -279,211.7*
(159,997.3)
Geo_QNameBlock Group 1, Census Tract 127.05, Boulder County, Colorado -496,713.3**
(195,207.3)
Geo_QNameBlock Group 1, Census Tract 127.07, Boulder County, Colorado 1,671,508.0***
(324,853.1)
Geo_QNameBlock Group 1, Census Tract 127.08, Boulder County, Colorado -767,062.0***
(111,263.8)
Geo_QNameBlock Group 1, Census Tract 127.09, Boulder County, Colorado -894,755.7***
(115,968.1)
Geo_QNameBlock Group 1, Census Tract 127.10, Boulder County, Colorado -425,778.9***
(136,994.4)
Geo_QNameBlock Group 1, Census Tract 128, Boulder County, Colorado -972,434.8***
(108,124.9)
Geo_QNameBlock Group 1, Census Tract 129.03, Boulder County, Colorado -1,223,904.0***
(107,346.9)
Geo_QNameBlock Group 1, Census Tract 129.04, Boulder County, Colorado -516,051.8***
(104,155.9)
Geo_QNameBlock Group 1, Census Tract 129.05, Boulder County, Colorado 283,337.5
(182,130.4)
Geo_QNameBlock Group 1, Census Tract 129.07, Boulder County, Colorado -184,769.1
(135,193.8)
Geo_QNameBlock Group 1, Census Tract 130.03, Boulder County, Colorado -929,742.6***
(106,504.7)
Geo_QNameBlock Group 1, Census Tract 130.04, Boulder County, Colorado -195,381.3
(133,682.2)
Geo_QNameBlock Group 1, Census Tract 130.05, Boulder County, Colorado -325,161.2***
(114,555.1)
Geo_QNameBlock Group 1, Census Tract 130.06, Boulder County, Colorado -789,322.6***
(98,577.4)
Geo_QNameBlock Group 1, Census Tract 132.01, Boulder County, Colorado 225,169.7
(186,992.9)
Geo_QNameBlock Group 1, Census Tract 132.02, Boulder County, Colorado 687,374.4***
(195,653.1)
Geo_QNameBlock Group 1, Census Tract 132.05, Boulder County, Colorado -624,005.2***
(106,893.6)
Geo_QNameBlock Group 1, Census Tract 132.07, Boulder County, Colorado -101,026.0
(162,679.6)
Geo_QNameBlock Group 1, Census Tract 132.08, Boulder County, Colorado 155,764.3
(186,370.3)
Geo_QNameBlock Group 1, Census Tract 132.10, Boulder County, Colorado 748,537.1***
(258,720.9)
Geo_QNameBlock Group 1, Census Tract 132.11, Boulder County, Colorado -1,039,777.0***
(102,775.3)
Geo_QNameBlock Group 1, Census Tract 132.12, Boulder County, Colorado 107,620.2
(184,904.9)
Geo_QNameBlock Group 1, Census Tract 132.13, Boulder County, Colorado -1,079,613.0***
(98,274.2)
Geo_QNameBlock Group 1, Census Tract 133.02, Boulder County, Colorado 497,693.4**
(216,378.4)
Geo_QNameBlock Group 1, Census Tract 133.05, Boulder County, Colorado 638,325.1**
(251,668.9)
Geo_QNameBlock Group 1, Census Tract 133.06, Boulder County, Colorado 853,981.9***
(277,529.8)
Geo_QNameBlock Group 1, Census Tract 133.07, Boulder County, Colorado 877,456.8***
(277,364.1)
Geo_QNameBlock Group 1, Census Tract 133.08, Boulder County, Colorado 525,485.3**
(233,362.8)
Geo_QNameBlock Group 1, Census Tract 134.01, Boulder County, Colorado 1,099,493.0***
(302,269.9)
Geo_QNameBlock Group 1, Census Tract 134.02, Boulder County, Colorado 1,738,769.0***
(390,899.2)
Geo_QNameBlock Group 1, Census Tract 135.03, Boulder County, Colorado 1,007,195.0***
(301,599.2)
Geo_QNameBlock Group 1, Census Tract 135.05, Boulder County, Colorado 1,784,873.0***
(400,443.9)
Geo_QNameBlock Group 1, Census Tract 135.06, Boulder County, Colorado 142,918.0
(196,311.2)
Geo_QNameBlock Group 1, Census Tract 135.07, Boulder County, Colorado 721,257.4***
(261,843.6)
Geo_QNameBlock Group 1, Census Tract 135.08, Boulder County, Colorado -61,222.4
(166,831.3)
Geo_QNameBlock Group 1, Census Tract 136.01, Boulder County, Colorado -164,629.4
(126,511.3)
Geo_QNameBlock Group 1, Census Tract 136.02, Boulder County, Colorado -190,784.1
(120,487.0)
Geo_QNameBlock Group 1, Census Tract 137.01, Boulder County, Colorado -438,268.4***
(98,721.1)
Geo_QNameBlock Group 1, Census Tract 137.02, Boulder County, Colorado -1,166,253.0***
(133,852.5)
Geo_QNameBlock Group 1, Census Tract 606, Boulder County, Colorado -78,474.8
(132,558.4)
Geo_QNameBlock Group 1, Census Tract 607, Boulder County, Colorado -922,295.6***
(154,491.9)
Geo_QNameBlock Group 1, Census Tract 608, Boulder County, Colorado 343,703.9
(267,019.0)
Geo_QNameBlock Group 1, Census Tract 609, Boulder County, Colorado -100,063.8
(138,607.1)
Geo_QNameBlock Group 1, Census Tract 613, Boulder County, Colorado -1,419,257.0***
(133,481.2)
Geo_QNameBlock Group 1, Census Tract 614, Boulder County, Colorado -1,119,737.0***
(95,122.3)
Geo_QNameBlock Group 2, Census Tract 121.01, Boulder County, Colorado -810,425.4***
(160,254.7)
Geo_QNameBlock Group 2, Census Tract 121.02, Boulder County, Colorado -586,597.7***
(97,521.7)
Geo_QNameBlock Group 2, Census Tract 121.03, Boulder County, Colorado -235,015.2**
(103,037.1)
Geo_QNameBlock Group 2, Census Tract 121.04, Boulder County, Colorado -1,120,050.0***
(143,142.0)
Geo_QNameBlock Group 2, Census Tract 121.05, Boulder County, Colorado 1,259,654.0***
(260,819.4)
Geo_QNameBlock Group 2, Census Tract 122.01, Boulder County, Colorado -352,820.0***
(121,401.8)
Geo_QNameBlock Group 2, Census Tract 122.02, Boulder County, Colorado -4,851.1
(193,987.0)
Geo_QNameBlock Group 2, Census Tract 122.03, Boulder County, Colorado -605,715.5***
(89,516.7)
Geo_QNameBlock Group 2, Census Tract 122.04, Boulder County, Colorado -152,449.4
(150,344.5)
Geo_QNameBlock Group 2, Census Tract 123, Boulder County, Colorado -1,404,906.0***
(434,452.3)
Geo_QNameBlock Group 2, Census Tract 124.01, Boulder County, Colorado 905,622.0***
(208,401.2)
Geo_QNameBlock Group 2, Census Tract 125.01, Boulder County, Colorado -320,965.5**
(136,003.5)
Geo_QNameBlock Group 2, Census Tract 125.05, Boulder County, Colorado -785,313.2***
(111,333.5)
Geo_QNameBlock Group 2, Census Tract 125.07, Boulder County, Colorado -1,201,601.0***
(118,081.7)
Geo_QNameBlock Group 2, Census Tract 125.08, Boulder County, Colorado -685,689.0***
(143,723.5)
Geo_QNameBlock Group 2, Census Tract 125.09, Boulder County, Colorado -893,179.7***
(102,902.9)
Geo_QNameBlock Group 2, Census Tract 125.10, Boulder County, Colorado -1,190,824.0***
(143,247.1)
Geo_QNameBlock Group 2, Census Tract 125.11, Boulder County, Colorado -371,068.3***
(99,876.6)
Geo_QNameBlock Group 2, Census Tract 126.03, Boulder County, Colorado -585,189.0***
(96,149.1)
Geo_QNameBlock Group 2, Census Tract 126.05, Boulder County, Colorado -698,837.9***
(180,119.9)
Geo_QNameBlock Group 2, Census Tract 127.01, Boulder County, Colorado -972,369.0***
(126,747.4)
Geo_QNameBlock Group 2, Census Tract 127.05, Boulder County, Colorado -1,051,965.0***
(134,291.5)
Geo_QNameBlock Group 2, Census Tract 127.07, Boulder County, Colorado -312,381.2**
(121,613.3)
Geo_QNameBlock Group 2, Census Tract 127.08, Boulder County, Colorado -1,064,505.0***
(130,392.4)
Geo_QNameBlock Group 2, Census Tract 127.10, Boulder County, Colorado -1,051,178.0***
(112,759.4)
Geo_QNameBlock Group 2, Census Tract 128, Boulder County, Colorado -838,021.9***
(105,580.1)
Geo_QNameBlock Group 2, Census Tract 129.04, Boulder County, Colorado -573,348.7***
(96,431.3)
Geo_QNameBlock Group 2, Census Tract 129.05, Boulder County, Colorado 237,720.7
(184,563.8)
Geo_QNameBlock Group 2, Census Tract 129.07, Boulder County, Colorado -834,982.0***
(100,168.3)
Geo_QNameBlock Group 2, Census Tract 130.03, Boulder County, Colorado -120,239.3
(142,137.6)
Geo_QNameBlock Group 2, Census Tract 130.04, Boulder County, Colorado -891,738.0***
(102,853.8)
Geo_QNameBlock Group 2, Census Tract 130.05, Boulder County, Colorado -64,391.5
(127,890.4)
Geo_QNameBlock Group 2, Census Tract 130.06, Boulder County, Colorado -899,334.4***
(106,519.0)
Geo_QNameBlock Group 2, Census Tract 132.02, Boulder County, Colorado -401,903.6***
(149,742.1)
Geo_QNameBlock Group 2, Census Tract 132.05, Boulder County, Colorado -995,387.4***
(102,524.9)
Geo_QNameBlock Group 2, Census Tract 132.08, Boulder County, Colorado -360,989.1**
(146,301.8)
Geo_QNameBlock Group 2, Census Tract 132.10, Boulder County, Colorado 551,406.9**
(235,870.3)
Geo_QNameBlock Group 2, Census Tract 132.11, Boulder County, Colorado -606,698.5***
(111,183.2)
Geo_QNameBlock Group 2, Census Tract 132.12, Boulder County, Colorado -490,975.2***
(118,805.5)
Geo_QNameBlock Group 2, Census Tract 132.13, Boulder County, Colorado -48,856.5
(163,052.0)
Geo_QNameBlock Group 2, Census Tract 133.02, Boulder County, Colorado -676,463.6***
(146,205.8)
Geo_QNameBlock Group 2, Census Tract 133.05, Boulder County, Colorado 562,575.4**
(234,681.9)
Geo_QNameBlock Group 2, Census Tract 133.06, Boulder County, Colorado 1,066,049.0***
(303,115.0)
Geo_QNameBlock Group 2, Census Tract 133.07, Boulder County, Colorado 566,051.2**
(233,489.4)
Geo_QNameBlock Group 2, Census Tract 133.08, Boulder County, Colorado 1,261,520.0***
(323,829.4)
Geo_QNameBlock Group 2, Census Tract 134.01, Boulder County, Colorado 933,402.7***
(271,072.3)
Geo_QNameBlock Group 2, Census Tract 134.02, Boulder County, Colorado 111,330.5
(190,241.3)
Geo_QNameBlock Group 2, Census Tract 135.03, Boulder County, Colorado 1,455,456.0***
(353,099.9)
Geo_QNameBlock Group 2, Census Tract 135.05, Boulder County, Colorado 1,362,445.0***
(358,875.8)
Geo_QNameBlock Group 2, Census Tract 135.07, Boulder County, Colorado 330,552.1
(214,410.9)
Geo_QNameBlock Group 2, Census Tract 135.08, Boulder County, Colorado -624,917.0***
(140,051.8)
Geo_QNameBlock Group 2, Census Tract 136.01, Boulder County, Colorado -317,829.1**
(127,830.2)
Geo_QNameBlock Group 2, Census Tract 136.02, Boulder County, Colorado 182,136.6
(149,388.4)
Geo_QNameBlock Group 2, Census Tract 137.01, Boulder County, Colorado -995,901.0***
(124,610.6)
Geo_QNameBlock Group 2, Census Tract 137.02, Boulder County, Colorado -675,457.1***
(83,419.8)
Geo_QNameBlock Group 2, Census Tract 606, Boulder County, Colorado -826,620.1***
(88,718.2)
Geo_QNameBlock Group 2, Census Tract 607, Boulder County, Colorado -288,591.7**
(115,808.5)
Geo_QNameBlock Group 2, Census Tract 608, Boulder County, Colorado -31,929.5
(156,806.2)
Geo_QNameBlock Group 2, Census Tract 609, Boulder County, Colorado -392,311.8***
(112,893.2)
Geo_QNameBlock Group 2, Census Tract 613, Boulder County, Colorado -1,373,841.0***
(124,804.2)
Geo_QNameBlock Group 3, Census Tract 121.01, Boulder County, Colorado -513,410.5***
(129,001.0)
Geo_QNameBlock Group 3, Census Tract 121.02, Boulder County, Colorado -363,900.6***
(111,132.7)
Geo_QNameBlock Group 3, Census Tract 121.03, Boulder County, Colorado -630,584.4***
(98,674.2)
Geo_QNameBlock Group 3, Census Tract 121.05, Boulder County, Colorado -910,585.8***
(121,791.7)
Geo_QNameBlock Group 3, Census Tract 122.01, Boulder County, Colorado -467,225.4***
(135,594.3)
Geo_QNameBlock Group 3, Census Tract 122.02, Boulder County, Colorado -503,127.3***
(135,036.5)
Geo_QNameBlock Group 3, Census Tract 122.03, Boulder County, Colorado -592,603.5***
(173,476.7)
Geo_QNameBlock Group 3, Census Tract 122.04, Boulder County, Colorado 1,158,094.0***
(180,548.5)
Geo_QNameBlock Group 3, Census Tract 124.01, Boulder County, Colorado -815,073.3***
(129,488.7)
Geo_QNameBlock Group 3, Census Tract 125.05, Boulder County, Colorado -548,616.1***
(120,467.1)
Geo_QNameBlock Group 3, Census Tract 125.07, Boulder County, Colorado -191,141.1
(126,293.0)
Geo_QNameBlock Group 3, Census Tract 125.08, Boulder County, Colorado -571,895.7***
(106,221.7)
Geo_QNameBlock Group 3, Census Tract 125.09, Boulder County, Colorado -490,827.8***
(100,092.2)
Geo_QNameBlock Group 3, Census Tract 125.10, Boulder County, Colorado -1,138,607.0***
(137,963.7)
Geo_QNameBlock Group 3, Census Tract 127.01, Boulder County, Colorado -759,592.1***
(91,292.7)
Geo_QNameBlock Group 3, Census Tract 127.05, Boulder County, Colorado -641,461.6***
(123,979.6)
Geo_QNameBlock Group 3, Census Tract 127.08, Boulder County, Colorado -695,699.3***
(105,513.4)
Geo_QNameBlock Group 3, Census Tract 127.10, Boulder County, Colorado -688,848.0***
(115,450.4)
Geo_QNameBlock Group 3, Census Tract 128, Boulder County, Colorado -943,203.2***
(98,331.2)
Geo_QNameBlock Group 3, Census Tract 130.03, Boulder County, Colorado -798,487.0***
(128,403.8)
Geo_QNameBlock Group 3, Census Tract 130.06, Boulder County, Colorado -719,667.8***
(95,569.6)
Geo_QNameBlock Group 3, Census Tract 132.05, Boulder County, Colorado -220,150.0
(145,370.2)
Geo_QNameBlock Group 3, Census Tract 132.07, Boulder County, Colorado -551,009.7***
(139,119.5)
Geo_QNameBlock Group 3, Census Tract 132.08, Boulder County, Colorado 24,108.3
(174,790.4)
Geo_QNameBlock Group 3, Census Tract 132.10, Boulder County, Colorado 688,775.9***
(249,545.5)
Geo_QNameBlock Group 3, Census Tract 132.11, Boulder County, Colorado 1,958,238.0***
(448,039.7)
Geo_QNameBlock Group 3, Census Tract 132.12, Boulder County, Colorado -333,174.6**
(132,215.4)
Geo_QNameBlock Group 3, Census Tract 132.13, Boulder County, Colorado -969,862.8***
(101,716.0)
Geo_QNameBlock Group 3, Census Tract 133.02, Boulder County, Colorado 638,747.0***
(244,866.0)
Geo_QNameBlock Group 3, Census Tract 133.05, Boulder County, Colorado -144,371.3
(167,648.4)
Geo_QNameBlock Group 3, Census Tract 133.08, Boulder County, Colorado 269,082.6
(200,911.8)
Geo_QNameBlock Group 3, Census Tract 134.01, Boulder County, Colorado 598,168.3**
(235,786.1)
Geo_QNameBlock Group 3, Census Tract 134.02, Boulder County, Colorado -553,533.6***
(132,805.0)
Geo_QNameBlock Group 3, Census Tract 135.03, Boulder County, Colorado 1,169,680.0***
(308,955.8)
Geo_QNameBlock Group 3, Census Tract 135.05, Boulder County, Colorado 1,488,358.0***
(366,089.9)
Geo_QNameBlock Group 3, Census Tract 135.08, Boulder County, Colorado 594,575.8**
(241,048.2)
Geo_QNameBlock Group 3, Census Tract 136.01, Boulder County, Colorado 361,807.4*
(189,748.3)
Geo_QNameBlock Group 3, Census Tract 137.01, Boulder County, Colorado -865,329.7***
(123,892.9)
Geo_QNameBlock Group 3, Census Tract 137.02, Boulder County, Colorado -307,511.1***
(100,304.2)
Geo_QNameBlock Group 3, Census Tract 607, Boulder County, Colorado -879,864.0***
(110,620.9)
Geo_QNameBlock Group 3, Census Tract 608, Boulder County, Colorado -224,579.6*
(128,987.7)
Geo_QNameBlock Group 4, Census Tract 121.01, Boulder County, Colorado 43,814.9
(112,151.6)
Geo_QNameBlock Group 4, Census Tract 121.02, Boulder County, Colorado -229,963.6***
(82,036.1)
Geo_QNameBlock Group 4, Census Tract 121.05, Boulder County, Colorado -776,250.9***
(118,083.4)
Geo_QNameBlock Group 4, Census Tract 122.02, Boulder County, Colorado -948,949.6***
(228,568.5)
Geo_QNameBlock Group 4, Census Tract 122.03, Boulder County, Colorado -1,059,789.0***
(143,573.9)
Geo_QNameBlock Group 4, Census Tract 124.01, Boulder County, Colorado -1,242,831.0***
(169,031.0)
Geo_QNameBlock Group 4, Census Tract 125.10, Boulder County, Colorado -655,450.8***
(142,897.8)
Geo_QNameBlock Group 4, Census Tract 126.07, Boulder County, Colorado -1,362,288.0***
(155,796.0)
Geo_QNameBlock Group 4, Census Tract 127.01, Boulder County, Colorado -454,678.1***
(103,425.0)
Geo_QNameBlock Group 4, Census Tract 127.08, Boulder County, Colorado -1,249,333.0***
(139,105.6)
Geo_QNameBlock Group 4, Census Tract 128, Boulder County, Colorado -742,076.8***
(106,635.7)
Geo_QNameBlock Group 4, Census Tract 130.03, Boulder County, Colorado -547,321.1***
(98,588.2)
Geo_QNameBlock Group 4, Census Tract 133.02, Boulder County, Colorado 65,601.0
(169,457.5)
Geo_QNameBlock Group 4, Census Tract 134.02, Boulder County, Colorado -185,343.4
(173,355.0)
Geo_QNameBlock Group 4, Census Tract 135.03, Boulder County, Colorado 365,578.7*
(218,366.9)
Geo_QNameBlock Group 4, Census Tract 137.01, Boulder County, Colorado -627,977.6***
(94,037.5)
Geo_QNameBlock Group 4, Census Tract 137.02, Boulder County, Colorado 103,583.1
(137,302.4)
Geo_QNameBlock Group 4, Census Tract 608, Boulder County, Colorado 942,748.9***
(266,016.7)
Geo_QNameBlock Group 5, Census Tract 121.02, Boulder County, Colorado -697,240.0***
(101,667.6)
Geo_QNameBlock Group 5, Census Tract 128, Boulder County, Colorado -196,742.6
(130,396.2)
Geo_QNameBlock Group 5, Census Tract 133.02, Boulder County, Colorado 361,085.4*
(200,906.7)
Geo_QNameBlock Group 5, Census Tract 134.02, Boulder County, Colorado 1,054,726.0***
(289,631.4)
Geo_QNameBlock Group 5, Census Tract 137.02, Boulder County, Colorado -43,052.2
(103,074.2)
Geo_QNameBlock Group 5, Census Tract 608, Boulder County, Colorado 1,253,443.0***
(322,018.2)
Geo_QNameBlock Group 6, Census Tract 137.02, Boulder County, Colorado -244,101.0***
(91,464.4)
Geo_QNameBlock Group 7, Census Tract 137.02, Boulder County, Colorado
BoulderHousingData.Buffer.LR -10,203.7
(11,845.2)
SC 24,002.5
(73,857.9)
FZ 41,391.3
(56,701.4)
WF -132,665.8**
(63,584.8)
Constant -2,008,838.0***
(446,861.7)
Observations 11,250
R2 0.6
Adjusted R2 0.6
Residual Std. Error 409,458.4 (df = 11010)
F Statistic 60.6*** (df = 239; 11010)
Note: p<0.1; p<0.05; p<0.01

Partition and Predictions

At this point, our data was partitioned in a 75/25 training and test split. First we ran a regression on a training set, which contained 75% of the data. Then using this regression, we carry it over and test its generalizability on the test set.

set.seed(999) #makes sure data is split same way every time

## Partition
inTrain <- createDataPartition(
              y = paste(Training_Boulder$DESCRIPTION, Training_Boulder$Geo_QName), 
              p = .75, list = FALSE)

## Creating the training and test set
TrainingBoulder <- BoulderHousingData[inTrain,] 
TestBoulder <- BoulderHousingData[-inTrain,]

## Regression on training set post partition.

regression_trainingboulder <- lm(price ~ ., data = st_drop_geometry(TrainingBoulder) %>% 
                                 dplyr::select(price, bsmtSF, carStorageSF, TotalFinishedSF, nbrRoomsNobath, totalbaths, PerBDorHig, libraries_nn4, trailheads_nn5, ME_nn5,private_nn5, DESCRIPTION, bsmtType, carStorageType,qualityCodeDscr, Geo_QName, BoulderHousingData.Buffer.LR, SC, FZ, WF))
summary(regression_trainingboulder)
## 
## Call:
## lm(formula = price ~ ., data = st_drop_geometry(TrainingBoulder) %>% 
##     dplyr::select(price, bsmtSF, carStorageSF, TotalFinishedSF, 
##         nbrRoomsNobath, totalbaths, PerBDorHig, libraries_nn4, 
##         trailheads_nn5, ME_nn5, private_nn5, DESCRIPTION, bsmtType, 
##         carStorageType, qualityCodeDscr, Geo_QName, BoulderHousingData.Buffer.LR, 
##         SC, FZ, WF))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2262503   -86986    -2820    75166  6300855 
## 
## Coefficients: (1 not defined because of singularities)
##                                                                           Estimate
## (Intercept)                                                           -1830781.180
## bsmtSF                                                                       4.008
## carStorageSF                                                                20.938
## TotalFinishedSF                                                            160.146
## nbrRoomsNobath                                                            1820.257
## totalbaths                                                               13151.674
## PerBDorHig                                                               39831.237
## libraries_nn4                                                               -1.714
## trailheads_nn5                                                              -1.828
## ME_nn5                                                                       3.544
## private_nn5                                                                 -3.064
## DESCRIPTIONMinor Constraint                                              30858.273
## DESCRIPTIONModerate Constraint                                           -2221.546
## DESCRIPTIONModerate Hazard                                               16416.682
## bsmtTypeBGF                                                              48020.697
## bsmtTypeBGU                                                              14841.480
## bsmtTypeBSF                                                              41704.479
## bsmtTypeBSU                                                               7111.204
## bsmtTypeBWF                                                              69043.475
## bsmtTypeBWU                                                              20100.794
## bsmtTypeLGF                                                              73803.351
## bsmtTypeLGU                                                             -40591.945
## bsmtTypeLWF                                                             115887.052
## bsmtTypeLWU                                                             171249.167
## carStorageTypeGRA                                                        32086.518
## carStorageTypeGRB                                                       110970.205
## carStorageTypeGRC                                                       -55359.599
## carStorageTypeGRD                                                        57900.923
## carStorageTypeGRF                                                       124914.322
## carStorageTypeGRW                                                       -27496.618
## qualityCodeDscrAVERAGE +                                                -29514.689
## qualityCodeDscrAVERAGE ++                                                 7226.677
## qualityCodeDscrEXCELLENT                                               1028807.503
## qualityCodeDscrEXCELLENT +                                             1406533.910
## qualityCodeDscrEXCELLENT++                                             1959720.325
## qualityCodeDscrEXCEPTIONAL 1                                           1036688.685
## qualityCodeDscrEXCEPTIONAL 2                                           1735189.691
## qualityCodeDscrFAIR                                                      15509.062
## qualityCodeDscrGOOD                                                      60383.927
## qualityCodeDscrGOOD +                                                    77692.040
## qualityCodeDscrGOOD ++                                                  166498.453
## qualityCodeDscrLOW                                                      -78892.282
## qualityCodeDscrVERY GOOD                                                252383.398
## qualityCodeDscrVERY GOOD +                                              438705.471
## qualityCodeDscrVERY GOOD ++                                             624154.416
## Geo_QNameBlock Group 1, Census Tract 121.02, Boulder County, Colorado  -393981.232
## Geo_QNameBlock Group 1, Census Tract 121.03, Boulder County, Colorado  -685379.532
## Geo_QNameBlock Group 1, Census Tract 121.04, Boulder County, Colorado  -217635.421
## Geo_QNameBlock Group 1, Census Tract 121.05, Boulder County, Colorado  -371550.046
## Geo_QNameBlock Group 1, Census Tract 122.01, Boulder County, Colorado  -638958.818
## Geo_QNameBlock Group 1, Census Tract 122.02, Boulder County, Colorado  -740535.861
## Geo_QNameBlock Group 1, Census Tract 122.03, Boulder County, Colorado  -703513.874
## Geo_QNameBlock Group 1, Census Tract 122.04, Boulder County, Colorado  -141931.905
## Geo_QNameBlock Group 1, Census Tract 123, Boulder County, Colorado     -267877.668
## Geo_QNameBlock Group 1, Census Tract 124.01, Boulder County, Colorado  2968765.114
## Geo_QNameBlock Group 1, Census Tract 125.01, Boulder County, Colorado  -997807.489
## Geo_QNameBlock Group 1, Census Tract 125.05, Boulder County, Colorado  -851919.754
## Geo_QNameBlock Group 1, Census Tract 125.07, Boulder County, Colorado  -392081.985
## Geo_QNameBlock Group 1, Census Tract 125.08, Boulder County, Colorado -1092264.737
## Geo_QNameBlock Group 1, Census Tract 125.09, Boulder County, Colorado  -873569.812
## Geo_QNameBlock Group 1, Census Tract 125.10, Boulder County, Colorado  -519692.965
## Geo_QNameBlock Group 1, Census Tract 125.11, Boulder County, Colorado  -745681.722
## Geo_QNameBlock Group 1, Census Tract 126.03, Boulder County, Colorado -1146642.566
## Geo_QNameBlock Group 1, Census Tract 126.08, Boulder County, Colorado  -704577.028
## Geo_QNameBlock Group 1, Census Tract 127.01, Boulder County, Colorado  -314098.678
## Geo_QNameBlock Group 1, Census Tract 127.05, Boulder County, Colorado  -565986.836
## Geo_QNameBlock Group 1, Census Tract 127.07, Boulder County, Colorado  1554519.698
## Geo_QNameBlock Group 1, Census Tract 127.08, Boulder County, Colorado  -772635.074
## Geo_QNameBlock Group 1, Census Tract 127.09, Boulder County, Colorado  -917223.117
## Geo_QNameBlock Group 1, Census Tract 127.10, Boulder County, Colorado  -363268.257
## Geo_QNameBlock Group 1, Census Tract 128, Boulder County, Colorado     -988405.092
## Geo_QNameBlock Group 1, Census Tract 129.03, Boulder County, Colorado -1205724.778
## Geo_QNameBlock Group 1, Census Tract 129.04, Boulder County, Colorado  -551745.381
## Geo_QNameBlock Group 1, Census Tract 129.05, Boulder County, Colorado   193026.131
## Geo_QNameBlock Group 1, Census Tract 129.07, Boulder County, Colorado  -256599.217
## Geo_QNameBlock Group 1, Census Tract 130.03, Boulder County, Colorado  -924698.385
## Geo_QNameBlock Group 1, Census Tract 130.04, Boulder County, Colorado  -245343.292
## Geo_QNameBlock Group 1, Census Tract 130.05, Boulder County, Colorado  -390193.194
## Geo_QNameBlock Group 1, Census Tract 130.06, Boulder County, Colorado  -794794.880
## Geo_QNameBlock Group 1, Census Tract 132.01, Boulder County, Colorado   127502.049
## Geo_QNameBlock Group 1, Census Tract 132.02, Boulder County, Colorado   607006.373
## Geo_QNameBlock Group 1, Census Tract 132.05, Boulder County, Colorado  -685925.774
## Geo_QNameBlock Group 1, Census Tract 132.07, Boulder County, Colorado  -180176.297
## Geo_QNameBlock Group 1, Census Tract 132.08, Boulder County, Colorado    52787.000
## Geo_QNameBlock Group 1, Census Tract 132.10, Boulder County, Colorado   604271.538
## Geo_QNameBlock Group 1, Census Tract 132.11, Boulder County, Colorado -1080757.285
## Geo_QNameBlock Group 1, Census Tract 132.12, Boulder County, Colorado    14330.260
## Geo_QNameBlock Group 1, Census Tract 132.13, Boulder County, Colorado -1115741.559
## Geo_QNameBlock Group 1, Census Tract 133.02, Boulder County, Colorado   361168.250
## Geo_QNameBlock Group 1, Census Tract 133.05, Boulder County, Colorado   496191.497
## Geo_QNameBlock Group 1, Census Tract 133.06, Boulder County, Colorado   700047.963
## Geo_QNameBlock Group 1, Census Tract 133.07, Boulder County, Colorado   718174.931
## Geo_QNameBlock Group 1, Census Tract 133.08, Boulder County, Colorado   395629.250
## Geo_QNameBlock Group 1, Census Tract 134.01, Boulder County, Colorado   931358.271
## Geo_QNameBlock Group 1, Census Tract 134.02, Boulder County, Colorado  1538567.333
## Geo_QNameBlock Group 1, Census Tract 135.03, Boulder County, Colorado   844824.349
## Geo_QNameBlock Group 1, Census Tract 135.05, Boulder County, Colorado  1560637.599
## Geo_QNameBlock Group 1, Census Tract 135.06, Boulder County, Colorado    17433.483
## Geo_QNameBlock Group 1, Census Tract 135.07, Boulder County, Colorado   573291.710
## Geo_QNameBlock Group 1, Census Tract 135.08, Boulder County, Colorado  -165585.942
## Geo_QNameBlock Group 1, Census Tract 136.01, Boulder County, Colorado  -292172.363
## Geo_QNameBlock Group 1, Census Tract 136.02, Boulder County, Colorado  -208499.217
## Geo_QNameBlock Group 1, Census Tract 137.01, Boulder County, Colorado  -470348.200
## Geo_QNameBlock Group 1, Census Tract 137.02, Boulder County, Colorado -1110392.763
## Geo_QNameBlock Group 1, Census Tract 606, Boulder County, Colorado     -121896.655
## Geo_QNameBlock Group 1, Census Tract 607, Boulder County, Colorado     -924156.102
## Geo_QNameBlock Group 1, Census Tract 608, Boulder County, Colorado      195926.875
## Geo_QNameBlock Group 1, Census Tract 609, Boulder County, Colorado     -166838.466
## Geo_QNameBlock Group 1, Census Tract 613, Boulder County, Colorado    -1423596.264
## Geo_QNameBlock Group 1, Census Tract 614, Boulder County, Colorado    -1126338.680
## Geo_QNameBlock Group 2, Census Tract 121.01, Boulder County, Colorado  -752473.951
## Geo_QNameBlock Group 2, Census Tract 121.02, Boulder County, Colorado  -522925.337
## Geo_QNameBlock Group 2, Census Tract 121.03, Boulder County, Colorado  -248683.602
## Geo_QNameBlock Group 2, Census Tract 121.04, Boulder County, Colorado -1075026.995
## Geo_QNameBlock Group 2, Census Tract 121.05, Boulder County, Colorado  1134812.838
## Geo_QNameBlock Group 2, Census Tract 122.01, Boulder County, Colorado  -323822.454
## Geo_QNameBlock Group 2, Census Tract 122.02, Boulder County, Colorado  -268881.300
## Geo_QNameBlock Group 2, Census Tract 122.03, Boulder County, Colorado  -613146.014
## Geo_QNameBlock Group 2, Census Tract 122.04, Boulder County, Colorado  -147622.825
## Geo_QNameBlock Group 2, Census Tract 123, Boulder County, Colorado    -1246902.731
## Geo_QNameBlock Group 2, Census Tract 124.01, Boulder County, Colorado   900705.585
## Geo_QNameBlock Group 2, Census Tract 125.01, Boulder County, Colorado  -369571.130
## Geo_QNameBlock Group 2, Census Tract 125.05, Boulder County, Colorado  -770573.006
## Geo_QNameBlock Group 2, Census Tract 125.07, Boulder County, Colorado -1139908.284
## Geo_QNameBlock Group 2, Census Tract 125.08, Boulder County, Colorado  -687585.146
## Geo_QNameBlock Group 2, Census Tract 125.09, Boulder County, Colorado  -835404.781
## Geo_QNameBlock Group 2, Census Tract 125.10, Boulder County, Colorado -1144123.854
## Geo_QNameBlock Group 2, Census Tract 125.11, Boulder County, Colorado  -368905.561
## Geo_QNameBlock Group 2, Census Tract 126.03, Boulder County, Colorado  -594275.574
## Geo_QNameBlock Group 2, Census Tract 126.05, Boulder County, Colorado  -677502.664
## Geo_QNameBlock Group 2, Census Tract 127.01, Boulder County, Colorado  -946039.158
## Geo_QNameBlock Group 2, Census Tract 127.05, Boulder County, Colorado -1041000.711
## Geo_QNameBlock Group 2, Census Tract 127.07, Boulder County, Colorado  -485837.584
## Geo_QNameBlock Group 2, Census Tract 127.08, Boulder County, Colorado -1075236.205
## Geo_QNameBlock Group 2, Census Tract 127.10, Boulder County, Colorado -1017472.058
## Geo_QNameBlock Group 2, Census Tract 128, Boulder County, Colorado     -886850.739
## Geo_QNameBlock Group 2, Census Tract 129.04, Boulder County, Colorado  -606609.662
## Geo_QNameBlock Group 2, Census Tract 129.05, Boulder County, Colorado   144486.622
## Geo_QNameBlock Group 2, Census Tract 129.07, Boulder County, Colorado  -899960.260
## Geo_QNameBlock Group 2, Census Tract 130.03, Boulder County, Colorado  -137314.968
## Geo_QNameBlock Group 2, Census Tract 130.04, Boulder County, Colorado  -894205.926
## Geo_QNameBlock Group 2, Census Tract 130.05, Boulder County, Colorado  -120176.266
## Geo_QNameBlock Group 2, Census Tract 130.06, Boulder County, Colorado  -903805.355
## Geo_QNameBlock Group 2, Census Tract 132.02, Boulder County, Colorado  -357967.305
## Geo_QNameBlock Group 2, Census Tract 132.05, Boulder County, Colorado -1013275.283
## Geo_QNameBlock Group 2, Census Tract 132.08, Boulder County, Colorado  -426185.520
## Geo_QNameBlock Group 2, Census Tract 132.10, Boulder County, Colorado   424756.919
## Geo_QNameBlock Group 2, Census Tract 132.11, Boulder County, Colorado  -685167.833
## Geo_QNameBlock Group 2, Census Tract 132.12, Boulder County, Colorado  -570289.983
## Geo_QNameBlock Group 2, Census Tract 132.13, Boulder County, Colorado  -147020.588
## Geo_QNameBlock Group 2, Census Tract 133.02, Boulder County, Colorado  -763995.574
## Geo_QNameBlock Group 2, Census Tract 133.05, Boulder County, Colorado   433190.141
## Geo_QNameBlock Group 2, Census Tract 133.06, Boulder County, Colorado   896208.736
## Geo_QNameBlock Group 2, Census Tract 133.07, Boulder County, Colorado   404267.661
## Geo_QNameBlock Group 2, Census Tract 133.08, Boulder County, Colorado  1092179.209
## Geo_QNameBlock Group 2, Census Tract 134.01, Boulder County, Colorado   811181.782
## Geo_QNameBlock Group 2, Census Tract 134.02, Boulder County, Colorado    -5328.122
## Geo_QNameBlock Group 2, Census Tract 135.03, Boulder County, Colorado  1254134.571
## Geo_QNameBlock Group 2, Census Tract 135.05, Boulder County, Colorado  1159635.289
## Geo_QNameBlock Group 2, Census Tract 135.07, Boulder County, Colorado   204056.881
## Geo_QNameBlock Group 2, Census Tract 135.08, Boulder County, Colorado  -709409.004
## Geo_QNameBlock Group 2, Census Tract 136.01, Boulder County, Colorado  -358934.775
## Geo_QNameBlock Group 2, Census Tract 136.02, Boulder County, Colorado   132118.736
## Geo_QNameBlock Group 2, Census Tract 137.01, Boulder County, Colorado  -938807.597
## Geo_QNameBlock Group 2, Census Tract 137.02, Boulder County, Colorado  -666019.929
## Geo_QNameBlock Group 2, Census Tract 606, Boulder County, Colorado     -863241.547
## Geo_QNameBlock Group 2, Census Tract 607, Boulder County, Colorado     -348598.840
## Geo_QNameBlock Group 2, Census Tract 608, Boulder County, Colorado      -88434.151
## Geo_QNameBlock Group 2, Census Tract 609, Boulder County, Colorado     -449326.812
## Geo_QNameBlock Group 2, Census Tract 613, Boulder County, Colorado    -1340148.422
## Geo_QNameBlock Group 3, Census Tract 121.01, Boulder County, Colorado  -410062.506
## Geo_QNameBlock Group 3, Census Tract 121.02, Boulder County, Colorado  -231288.101
## Geo_QNameBlock Group 3, Census Tract 121.03, Boulder County, Colorado  -630882.952
## Geo_QNameBlock Group 3, Census Tract 121.05, Boulder County, Colorado  -876101.248
## Geo_QNameBlock Group 3, Census Tract 122.01, Boulder County, Colorado  -508100.180
## Geo_QNameBlock Group 3, Census Tract 122.02, Boulder County, Colorado  -455839.115
## Geo_QNameBlock Group 3, Census Tract 122.03, Boulder County, Colorado  -606423.716
## Geo_QNameBlock Group 3, Census Tract 122.04, Boulder County, Colorado  1358754.657
## Geo_QNameBlock Group 3, Census Tract 124.01, Boulder County, Colorado  -730361.101
## Geo_QNameBlock Group 3, Census Tract 125.05, Boulder County, Colorado  -550762.643
## Geo_QNameBlock Group 3, Census Tract 125.07, Boulder County, Colorado  -175128.759
## Geo_QNameBlock Group 3, Census Tract 125.08, Boulder County, Colorado  -561613.988
## Geo_QNameBlock Group 3, Census Tract 125.09, Boulder County, Colorado  -509022.057
## Geo_QNameBlock Group 3, Census Tract 125.10, Boulder County, Colorado -1112915.575
## Geo_QNameBlock Group 3, Census Tract 127.01, Boulder County, Colorado  -764134.208
## Geo_QNameBlock Group 3, Census Tract 127.05, Boulder County, Colorado  -672916.545
## Geo_QNameBlock Group 3, Census Tract 127.08, Boulder County, Colorado  -739334.210
## Geo_QNameBlock Group 3, Census Tract 127.10, Boulder County, Colorado  -709343.491
## Geo_QNameBlock Group 3, Census Tract 128, Boulder County, Colorado     -983159.914
## Geo_QNameBlock Group 3, Census Tract 130.03, Boulder County, Colorado  -749859.980
## Geo_QNameBlock Group 3, Census Tract 130.06, Boulder County, Colorado  -738632.936
## Geo_QNameBlock Group 3, Census Tract 132.05, Boulder County, Colorado  -287619.408
## Geo_QNameBlock Group 3, Census Tract 132.07, Boulder County, Colorado  -619599.595
## Geo_QNameBlock Group 3, Census Tract 132.08, Boulder County, Colorado   -50518.352
## Geo_QNameBlock Group 3, Census Tract 132.10, Boulder County, Colorado   557018.178
## Geo_QNameBlock Group 3, Census Tract 132.11, Boulder County, Colorado  1736076.038
## Geo_QNameBlock Group 3, Census Tract 132.12, Boulder County, Colorado  -418286.751
## Geo_QNameBlock Group 3, Census Tract 132.13, Boulder County, Colorado -1002710.795
## Geo_QNameBlock Group 3, Census Tract 133.02, Boulder County, Colorado   512945.156
## Geo_QNameBlock Group 3, Census Tract 133.05, Boulder County, Colorado  -242881.554
## Geo_QNameBlock Group 3, Census Tract 133.08, Boulder County, Colorado   163650.769
## Geo_QNameBlock Group 3, Census Tract 134.01, Boulder County, Colorado   461756.585
## Geo_QNameBlock Group 3, Census Tract 134.02, Boulder County, Colorado  -630656.679
## Geo_QNameBlock Group 3, Census Tract 135.03, Boulder County, Colorado  1039983.939
## Geo_QNameBlock Group 3, Census Tract 135.05, Boulder County, Colorado  1286691.475
## Geo_QNameBlock Group 3, Census Tract 135.08, Boulder County, Colorado   449359.649
## Geo_QNameBlock Group 3, Census Tract 136.01, Boulder County, Colorado   302306.535
## Geo_QNameBlock Group 3, Census Tract 137.01, Boulder County, Colorado  -787522.168
## Geo_QNameBlock Group 3, Census Tract 137.02, Boulder County, Colorado  -332144.339
## Geo_QNameBlock Group 3, Census Tract 607, Boulder County, Colorado     -891480.172
## Geo_QNameBlock Group 3, Census Tract 608, Boulder County, Colorado     -285315.754
## Geo_QNameBlock Group 4, Census Tract 121.01, Boulder County, Colorado   -48119.923
## Geo_QNameBlock Group 4, Census Tract 121.02, Boulder County, Colorado  -231921.567
## Geo_QNameBlock Group 4, Census Tract 121.05, Boulder County, Colorado  -686187.280
## Geo_QNameBlock Group 4, Census Tract 122.02, Boulder County, Colorado  -823873.801
## Geo_QNameBlock Group 4, Census Tract 122.03, Boulder County, Colorado -1031185.087
## Geo_QNameBlock Group 4, Census Tract 124.01, Boulder County, Colorado -1161978.511
## Geo_QNameBlock Group 4, Census Tract 125.10, Boulder County, Colorado  -555773.548
## Geo_QNameBlock Group 4, Census Tract 126.07, Boulder County, Colorado -1288853.630
## Geo_QNameBlock Group 4, Census Tract 127.01, Boulder County, Colorado  -454765.842
## Geo_QNameBlock Group 4, Census Tract 127.08, Boulder County, Colorado -1260506.900
## Geo_QNameBlock Group 4, Census Tract 128, Boulder County, Colorado     -821120.551
## Geo_QNameBlock Group 4, Census Tract 130.03, Boulder County, Colorado  -574266.117
## Geo_QNameBlock Group 4, Census Tract 133.02, Boulder County, Colorado   -38980.006
## Geo_QNameBlock Group 4, Census Tract 134.02, Boulder County, Colorado  -281534.571
## Geo_QNameBlock Group 4, Census Tract 135.03, Boulder County, Colorado   266155.262
## Geo_QNameBlock Group 4, Census Tract 137.01, Boulder County, Colorado  -621649.854
## Geo_QNameBlock Group 4, Census Tract 137.02, Boulder County, Colorado    57437.985
## Geo_QNameBlock Group 4, Census Tract 608, Boulder County, Colorado      822539.197
## Geo_QNameBlock Group 5, Census Tract 121.02, Boulder County, Colorado  -640898.878
## Geo_QNameBlock Group 5, Census Tract 128, Boulder County, Colorado     -275954.031
## Geo_QNameBlock Group 5, Census Tract 133.02, Boulder County, Colorado   237701.907
## Geo_QNameBlock Group 5, Census Tract 134.02, Boulder County, Colorado   936989.856
## Geo_QNameBlock Group 5, Census Tract 137.02, Boulder County, Colorado   -62918.967
## Geo_QNameBlock Group 5, Census Tract 608, Boulder County, Colorado     1112595.335
## Geo_QNameBlock Group 6, Census Tract 137.02, Boulder County, Colorado  -238369.152
## Geo_QNameBlock Group 7, Census Tract 137.02, Boulder County, Colorado           NA
## BoulderHousingData.Buffer.LR                                            -13109.885
## SC                                                                        9059.834
## FZ                                                                        5530.025
## WF                                                                     -178965.842
##                                                                         Std. Error
## (Intercept)                                                             374593.757
## bsmtSF                                                                       8.307
## carStorageSF                                                                23.754
## TotalFinishedSF                                                              7.894
## nbrRoomsNobath                                                            2554.822
## totalbaths                                                                5830.698
## PerBDorHig                                                                4993.643
## libraries_nn4                                                                2.807
## trailheads_nn5                                                               2.426
## ME_nn5                                                                       2.124
## private_nn5                                                                  2.439
## DESCRIPTIONMinor Constraint                                              29306.956
## DESCRIPTIONModerate Constraint                                           25167.984
## DESCRIPTIONModerate Hazard                                               40275.938
## bsmtTypeBGF                                                              22612.001
## bsmtTypeBGU                                                              36731.981
## bsmtTypeBSF                                                              13332.269
## bsmtTypeBSU                                                              13108.877
## bsmtTypeBWF                                                              18978.679
## bsmtTypeBWU                                                              26992.827
## bsmtTypeLGF                                                              16513.676
## bsmtTypeLGU                                                              99500.934
## bsmtTypeLWF                                                              57048.579
## bsmtTypeLWU                                                             171335.282
## carStorageTypeGRA                                                        17837.970
## carStorageTypeGRB                                                        32966.895
## carStorageTypeGRC                                                        28219.491
## carStorageTypeGRD                                                        19401.927
## carStorageTypeGRF                                                       177067.471
## carStorageTypeGRW                                                       101786.114
## qualityCodeDscrAVERAGE +                                                 15083.457
## qualityCodeDscrAVERAGE ++                                                15203.778
## qualityCodeDscrEXCELLENT                                                 34119.977
## qualityCodeDscrEXCELLENT +                                               74691.703
## qualityCodeDscrEXCELLENT++                                               61871.939
## qualityCodeDscrEXCEPTIONAL 1                                             78392.331
## qualityCodeDscrEXCEPTIONAL 2                                            176935.069
## qualityCodeDscrFAIR                                                      36035.482
## qualityCodeDscrGOOD                                                      11318.144
## qualityCodeDscrGOOD +                                                    17979.002
## qualityCodeDscrGOOD ++                                                   17208.878
## qualityCodeDscrLOW                                                       70607.081
## qualityCodeDscrVERY GOOD                                                 18216.439
## qualityCodeDscrVERY GOOD +                                               31221.409
## qualityCodeDscrVERY GOOD ++                                              26105.690
## Geo_QNameBlock Group 1, Census Tract 121.02, Boulder County, Colorado    93974.791
## Geo_QNameBlock Group 1, Census Tract 121.03, Boulder County, Colorado   100222.481
## Geo_QNameBlock Group 1, Census Tract 121.04, Boulder County, Colorado    78756.657
## Geo_QNameBlock Group 1, Census Tract 121.05, Boulder County, Colorado   119488.393
## Geo_QNameBlock Group 1, Census Tract 122.01, Boulder County, Colorado   120804.303
## Geo_QNameBlock Group 1, Census Tract 122.02, Boulder County, Colorado   105595.715
## Geo_QNameBlock Group 1, Census Tract 122.03, Boulder County, Colorado    95690.232
## Geo_QNameBlock Group 1, Census Tract 122.04, Boulder County, Colorado   181059.654
## Geo_QNameBlock Group 1, Census Tract 123, Boulder County, Colorado      306443.293
## Geo_QNameBlock Group 1, Census Tract 124.01, Boulder County, Colorado   466131.959
## Geo_QNameBlock Group 1, Census Tract 125.01, Boulder County, Colorado    87174.823
## Geo_QNameBlock Group 1, Census Tract 125.05, Boulder County, Colorado   102126.494
## Geo_QNameBlock Group 1, Census Tract 125.07, Boulder County, Colorado    80751.631
## Geo_QNameBlock Group 1, Census Tract 125.08, Boulder County, Colorado   105318.844
## Geo_QNameBlock Group 1, Census Tract 125.09, Boulder County, Colorado    86558.552
## Geo_QNameBlock Group 1, Census Tract 125.10, Boulder County, Colorado   104097.817
## Geo_QNameBlock Group 1, Census Tract 125.11, Boulder County, Colorado   101297.326
## Geo_QNameBlock Group 1, Census Tract 126.03, Boulder County, Colorado    90742.225
## Geo_QNameBlock Group 1, Census Tract 126.08, Boulder County, Colorado    66427.519
## Geo_QNameBlock Group 1, Census Tract 127.01, Boulder County, Colorado   129071.423
## Geo_QNameBlock Group 1, Census Tract 127.05, Boulder County, Colorado   156383.285
## Geo_QNameBlock Group 1, Census Tract 127.07, Boulder County, Colorado   268845.281
## Geo_QNameBlock Group 1, Census Tract 127.08, Boulder County, Colorado    92031.325
## Geo_QNameBlock Group 1, Census Tract 127.09, Boulder County, Colorado    96338.152
## Geo_QNameBlock Group 1, Census Tract 127.10, Boulder County, Colorado   111101.498
## Geo_QNameBlock Group 1, Census Tract 128, Boulder County, Colorado       89644.439
## Geo_QNameBlock Group 1, Census Tract 129.03, Boulder County, Colorado    88513.338
## Geo_QNameBlock Group 1, Census Tract 129.04, Boulder County, Colorado    87316.730
## Geo_QNameBlock Group 1, Census Tract 129.05, Boulder County, Colorado   152955.645
## Geo_QNameBlock Group 1, Census Tract 129.07, Boulder County, Colorado   113763.336
## Geo_QNameBlock Group 1, Census Tract 130.03, Boulder County, Colorado    88370.393
## Geo_QNameBlock Group 1, Census Tract 130.04, Boulder County, Colorado   112190.198
## Geo_QNameBlock Group 1, Census Tract 130.05, Boulder County, Colorado    96246.644
## Geo_QNameBlock Group 1, Census Tract 130.06, Boulder County, Colorado    81239.010
## Geo_QNameBlock Group 1, Census Tract 132.01, Boulder County, Colorado   157351.580
## Geo_QNameBlock Group 1, Census Tract 132.02, Boulder County, Colorado   160512.031
## Geo_QNameBlock Group 1, Census Tract 132.05, Boulder County, Colorado    88837.856
## Geo_QNameBlock Group 1, Census Tract 132.07, Boulder County, Colorado   137367.438
## Geo_QNameBlock Group 1, Census Tract 132.08, Boulder County, Colorado   157116.214
## Geo_QNameBlock Group 1, Census Tract 132.10, Boulder County, Colorado   217603.411
## Geo_QNameBlock Group 1, Census Tract 132.11, Boulder County, Colorado    85289.160
## Geo_QNameBlock Group 1, Census Tract 132.12, Boulder County, Colorado   155873.261
## Geo_QNameBlock Group 1, Census Tract 132.13, Boulder County, Colorado    81202.243
## Geo_QNameBlock Group 1, Census Tract 133.02, Boulder County, Colorado   182068.465
## Geo_QNameBlock Group 1, Census Tract 133.05, Boulder County, Colorado   211787.072
## Geo_QNameBlock Group 1, Census Tract 133.06, Boulder County, Colorado   233494.987
## Geo_QNameBlock Group 1, Census Tract 133.07, Boulder County, Colorado   233425.011
## Geo_QNameBlock Group 1, Census Tract 133.08, Boulder County, Colorado   196347.042
## Geo_QNameBlock Group 1, Census Tract 134.01, Boulder County, Colorado   253865.685
## Geo_QNameBlock Group 1, Census Tract 134.02, Boulder County, Colorado   327919.263
## Geo_QNameBlock Group 1, Census Tract 135.03, Boulder County, Colorado   253287.286
## Geo_QNameBlock Group 1, Census Tract 135.05, Boulder County, Colorado   335841.058
## Geo_QNameBlock Group 1, Census Tract 135.06, Boulder County, Colorado   165435.730
## Geo_QNameBlock Group 1, Census Tract 135.07, Boulder County, Colorado   220057.250
## Geo_QNameBlock Group 1, Census Tract 135.08, Boulder County, Colorado   140459.539
## Geo_QNameBlock Group 1, Census Tract 136.01, Boulder County, Colorado   106041.208
## Geo_QNameBlock Group 1, Census Tract 136.02, Boulder County, Colorado    99846.412
## Geo_QNameBlock Group 1, Census Tract 137.01, Boulder County, Colorado    82112.606
## Geo_QNameBlock Group 1, Census Tract 137.02, Boulder County, Colorado   110340.104
## Geo_QNameBlock Group 1, Census Tract 606, Boulder County, Colorado      111794.828
## Geo_QNameBlock Group 1, Census Tract 607, Boulder County, Colorado      124883.883
## Geo_QNameBlock Group 1, Census Tract 608, Boulder County, Colorado      222423.632
## Geo_QNameBlock Group 1, Census Tract 609, Boulder County, Colorado      116752.496
## Geo_QNameBlock Group 1, Census Tract 613, Boulder County, Colorado      109444.830
## Geo_QNameBlock Group 1, Census Tract 614, Boulder County, Colorado       78325.779
## Geo_QNameBlock Group 2, Census Tract 121.01, Boulder County, Colorado   131783.471
## Geo_QNameBlock Group 2, Census Tract 121.02, Boulder County, Colorado    79578.758
## Geo_QNameBlock Group 2, Census Tract 121.03, Boulder County, Colorado    84280.441
## Geo_QNameBlock Group 2, Census Tract 121.04, Boulder County, Colorado   117141.636
## Geo_QNameBlock Group 2, Census Tract 121.05, Boulder County, Colorado   214885.207
## Geo_QNameBlock Group 2, Census Tract 122.01, Boulder County, Colorado    98203.319
## Geo_QNameBlock Group 2, Census Tract 122.02, Boulder County, Colorado   155900.089
## Geo_QNameBlock Group 2, Census Tract 122.03, Boulder County, Colorado    74010.720
## Geo_QNameBlock Group 2, Census Tract 122.04, Boulder County, Colorado   122579.001
## Geo_QNameBlock Group 2, Census Tract 123, Boulder County, Colorado      316948.698
## Geo_QNameBlock Group 2, Census Tract 124.01, Boulder County, Colorado   173280.324
## Geo_QNameBlock Group 2, Census Tract 125.01, Boulder County, Colorado   111435.394
## Geo_QNameBlock Group 2, Census Tract 125.05, Boulder County, Colorado    90966.644
## Geo_QNameBlock Group 2, Census Tract 125.07, Boulder County, Colorado    96427.750
## Geo_QNameBlock Group 2, Census Tract 125.08, Boulder County, Colorado   115723.925
## Geo_QNameBlock Group 2, Census Tract 125.09, Boulder County, Colorado    83756.195
## Geo_QNameBlock Group 2, Census Tract 125.10, Boulder County, Colorado   117141.962
## Geo_QNameBlock Group 2, Census Tract 125.11, Boulder County, Colorado    82827.370
## Geo_QNameBlock Group 2, Census Tract 126.03, Boulder County, Colorado    79077.822
## Geo_QNameBlock Group 2, Census Tract 126.05, Boulder County, Colorado   142146.036
## Geo_QNameBlock Group 2, Census Tract 127.01, Boulder County, Colorado   104515.360
## Geo_QNameBlock Group 2, Census Tract 127.05, Boulder County, Colorado   110242.609
## Geo_QNameBlock Group 2, Census Tract 127.07, Boulder County, Colorado    99507.030
## Geo_QNameBlock Group 2, Census Tract 127.08, Boulder County, Colorado   107656.174
## Geo_QNameBlock Group 2, Census Tract 127.10, Boulder County, Colorado    91793.075
## Geo_QNameBlock Group 2, Census Tract 128, Boulder County, Colorado       88097.093
## Geo_QNameBlock Group 2, Census Tract 129.04, Boulder County, Colorado    80758.301
## Geo_QNameBlock Group 2, Census Tract 129.05, Boulder County, Colorado   155158.188
## Geo_QNameBlock Group 2, Census Tract 129.07, Boulder County, Colorado    83206.412
## Geo_QNameBlock Group 2, Census Tract 130.03, Boulder County, Colorado   118640.944
## Geo_QNameBlock Group 2, Census Tract 130.04, Boulder County, Colorado    84677.872
## Geo_QNameBlock Group 2, Census Tract 130.05, Boulder County, Colorado   107749.044
## Geo_QNameBlock Group 2, Census Tract 130.06, Boulder County, Colorado    87642.200
## Geo_QNameBlock Group 2, Census Tract 132.02, Boulder County, Colorado   120945.491
## Geo_QNameBlock Group 2, Census Tract 132.05, Boulder County, Colorado    84671.624
## Geo_QNameBlock Group 2, Census Tract 132.08, Boulder County, Colorado   122878.443
## Geo_QNameBlock Group 2, Census Tract 132.10, Boulder County, Colorado   198535.153
## Geo_QNameBlock Group 2, Census Tract 132.11, Boulder County, Colorado    93548.176
## Geo_QNameBlock Group 2, Census Tract 132.12, Boulder County, Colorado    99586.000
## Geo_QNameBlock Group 2, Census Tract 132.13, Boulder County, Colorado   137052.555
## Geo_QNameBlock Group 2, Census Tract 133.02, Boulder County, Colorado   121149.988
## Geo_QNameBlock Group 2, Census Tract 133.05, Boulder County, Colorado   197663.363
## Geo_QNameBlock Group 2, Census Tract 133.06, Boulder County, Colorado   254842.600
## Geo_QNameBlock Group 2, Census Tract 133.07, Boulder County, Colorado   196681.396
## Geo_QNameBlock Group 2, Census Tract 133.08, Boulder County, Colorado   272228.497
## Geo_QNameBlock Group 2, Census Tract 134.01, Boulder County, Colorado   227654.311
## Geo_QNameBlock Group 2, Census Tract 134.02, Boulder County, Colorado   159979.765
## Geo_QNameBlock Group 2, Census Tract 135.03, Boulder County, Colorado   296426.275
## Geo_QNameBlock Group 2, Census Tract 135.05, Boulder County, Colorado   299869.465
## Geo_QNameBlock Group 2, Census Tract 135.07, Boulder County, Colorado   180618.670
## Geo_QNameBlock Group 2, Census Tract 135.08, Boulder County, Colorado   117422.182
## Geo_QNameBlock Group 2, Census Tract 136.01, Boulder County, Colorado   106393.371
## Geo_QNameBlock Group 2, Census Tract 136.02, Boulder County, Colorado   122299.004
## Geo_QNameBlock Group 2, Census Tract 137.01, Boulder County, Colorado   101944.581
## Geo_QNameBlock Group 2, Census Tract 137.02, Boulder County, Colorado    68670.284
## Geo_QNameBlock Group 2, Census Tract 606, Boulder County, Colorado       73522.143
## Geo_QNameBlock Group 2, Census Tract 607, Boulder County, Colorado       96862.352
## Geo_QNameBlock Group 2, Census Tract 608, Boulder County, Colorado      130337.432
## Geo_QNameBlock Group 2, Census Tract 609, Boulder County, Colorado       94788.036
## Geo_QNameBlock Group 2, Census Tract 613, Boulder County, Colorado      102340.145
## Geo_QNameBlock Group 3, Census Tract 121.01, Boulder County, Colorado   106015.361
## Geo_QNameBlock Group 3, Census Tract 121.02, Boulder County, Colorado    90918.211
## Geo_QNameBlock Group 3, Census Tract 121.03, Boulder County, Colorado    81120.904
## Geo_QNameBlock Group 3, Census Tract 121.05, Boulder County, Colorado    99447.971
## Geo_QNameBlock Group 3, Census Tract 122.01, Boulder County, Colorado   111135.797
## Geo_QNameBlock Group 3, Census Tract 122.02, Boulder County, Colorado   111346.451
## Geo_QNameBlock Group 3, Census Tract 122.03, Boulder County, Colorado   136514.471
## Geo_QNameBlock Group 3, Census Tract 122.04, Boulder County, Colorado   142454.773
## Geo_QNameBlock Group 3, Census Tract 124.01, Boulder County, Colorado   105758.622
## Geo_QNameBlock Group 3, Census Tract 125.05, Boulder County, Colorado    98139.332
## Geo_QNameBlock Group 3, Census Tract 125.07, Boulder County, Colorado   105212.676
## Geo_QNameBlock Group 3, Census Tract 125.08, Boulder County, Colorado    86472.918
## Geo_QNameBlock Group 3, Census Tract 125.09, Boulder County, Colorado    82131.915
## Geo_QNameBlock Group 3, Census Tract 125.10, Boulder County, Colorado   113110.637
## Geo_QNameBlock Group 3, Census Tract 127.01, Boulder County, Colorado    74637.132
## Geo_QNameBlock Group 3, Census Tract 127.05, Boulder County, Colorado   101000.906
## Geo_QNameBlock Group 3, Census Tract 127.08, Boulder County, Colorado    87999.723
## Geo_QNameBlock Group 3, Census Tract 127.10, Boulder County, Colorado    94358.527
## Geo_QNameBlock Group 3, Census Tract 128, Boulder County, Colorado       82121.451
## Geo_QNameBlock Group 3, Census Tract 130.03, Boulder County, Colorado   105372.667
## Geo_QNameBlock Group 3, Census Tract 130.06, Boulder County, Colorado    79347.775
## Geo_QNameBlock Group 3, Census Tract 132.05, Boulder County, Colorado   121525.739
## Geo_QNameBlock Group 3, Census Tract 132.07, Boulder County, Colorado   117001.743
## Geo_QNameBlock Group 3, Census Tract 132.08, Boulder County, Colorado   147485.364
## Geo_QNameBlock Group 3, Census Tract 132.10, Boulder County, Colorado   209814.183
## Geo_QNameBlock Group 3, Census Tract 132.11, Boulder County, Colorado   372956.220
## Geo_QNameBlock Group 3, Census Tract 132.12, Boulder County, Colorado   111319.715
## Geo_QNameBlock Group 3, Census Tract 132.13, Boulder County, Colorado    84198.210
## Geo_QNameBlock Group 3, Census Tract 133.02, Boulder County, Colorado   205670.312
## Geo_QNameBlock Group 3, Census Tract 133.05, Boulder County, Colorado   141190.762
## Geo_QNameBlock Group 3, Census Tract 133.08, Boulder County, Colorado   169036.014
## Geo_QNameBlock Group 3, Census Tract 134.01, Boulder County, Colorado   198319.307
## Geo_QNameBlock Group 3, Census Tract 134.02, Boulder County, Colorado   111426.337
## Geo_QNameBlock Group 3, Census Tract 135.03, Boulder County, Colorado   259509.193
## Geo_QNameBlock Group 3, Census Tract 135.05, Boulder County, Colorado   307044.304
## Geo_QNameBlock Group 3, Census Tract 135.08, Boulder County, Colorado   202631.180
## Geo_QNameBlock Group 3, Census Tract 136.01, Boulder County, Colorado   159238.657
## Geo_QNameBlock Group 3, Census Tract 137.01, Boulder County, Colorado   102315.849
## Geo_QNameBlock Group 3, Census Tract 137.02, Boulder County, Colorado    81791.858
## Geo_QNameBlock Group 3, Census Tract 607, Boulder County, Colorado       91498.392
## Geo_QNameBlock Group 3, Census Tract 608, Boulder County, Colorado      108531.549
## Geo_QNameBlock Group 4, Census Tract 121.01, Boulder County, Colorado    91907.467
## Geo_QNameBlock Group 4, Census Tract 121.02, Boulder County, Colorado    67525.042
## Geo_QNameBlock Group 4, Census Tract 121.05, Boulder County, Colorado    96787.957
## Geo_QNameBlock Group 4, Census Tract 122.02, Boulder County, Colorado   188695.226
## Geo_QNameBlock Group 4, Census Tract 122.03, Boulder County, Colorado   114498.246
## Geo_QNameBlock Group 4, Census Tract 124.01, Boulder County, Colorado   138668.147
## Geo_QNameBlock Group 4, Census Tract 125.10, Boulder County, Colorado   113021.987
## Geo_QNameBlock Group 4, Census Tract 126.07, Boulder County, Colorado   126820.119
## Geo_QNameBlock Group 4, Census Tract 127.01, Boulder County, Colorado    85766.127
## Geo_QNameBlock Group 4, Census Tract 127.08, Boulder County, Colorado   114625.577
## Geo_QNameBlock Group 4, Census Tract 128, Boulder County, Colorado       88586.823
## Geo_QNameBlock Group 4, Census Tract 130.03, Boulder County, Colorado    82693.362
## Geo_QNameBlock Group 4, Census Tract 133.02, Boulder County, Colorado   142762.715
## Geo_QNameBlock Group 4, Census Tract 134.02, Boulder County, Colorado   145887.665
## Geo_QNameBlock Group 4, Census Tract 135.03, Boulder County, Colorado   183731.569
## Geo_QNameBlock Group 4, Census Tract 137.01, Boulder County, Colorado    77363.018
## Geo_QNameBlock Group 4, Census Tract 137.02, Boulder County, Colorado   113082.370
## Geo_QNameBlock Group 4, Census Tract 608, Boulder County, Colorado      223068.120
## Geo_QNameBlock Group 5, Census Tract 121.02, Boulder County, Colorado    82805.936
## Geo_QNameBlock Group 5, Census Tract 128, Boulder County, Colorado      109746.059
## Geo_QNameBlock Group 5, Census Tract 133.02, Boulder County, Colorado   169407.503
## Geo_QNameBlock Group 5, Census Tract 134.02, Boulder County, Colorado   243294.573
## Geo_QNameBlock Group 5, Census Tract 137.02, Boulder County, Colorado    85386.182
## Geo_QNameBlock Group 5, Census Tract 608, Boulder County, Colorado      270050.602
## Geo_QNameBlock Group 6, Census Tract 137.02, Boulder County, Colorado    75291.262
## Geo_QNameBlock Group 7, Census Tract 137.02, Boulder County, Colorado           NA
## BoulderHousingData.Buffer.LR                                              9833.762
## SC                                                                       62967.061
## FZ                                                                       47801.269
## WF                                                                       52887.019
##                                                                       t value
## (Intercept)                                                            -4.887
## bsmtSF                                                                  0.482
## carStorageSF                                                            0.881
## TotalFinishedSF                                                        20.286
## nbrRoomsNobath                                                          0.712
## totalbaths                                                              2.256
## PerBDorHig                                                              7.976
## libraries_nn4                                                          -0.611
## trailheads_nn5                                                         -0.754
## ME_nn5                                                                  1.668
## private_nn5                                                            -1.256
## DESCRIPTIONMinor Constraint                                             1.053
## DESCRIPTIONModerate Constraint                                         -0.088
## DESCRIPTIONModerate Hazard                                              0.408
## bsmtTypeBGF                                                             2.124
## bsmtTypeBGU                                                             0.404
## bsmtTypeBSF                                                             3.128
## bsmtTypeBSU                                                             0.542
## bsmtTypeBWF                                                             3.638
## bsmtTypeBWU                                                             0.745
## bsmtTypeLGF                                                             4.469
## bsmtTypeLGU                                                            -0.408
## bsmtTypeLWF                                                             2.031
## bsmtTypeLWU                                                             0.999
## carStorageTypeGRA                                                       1.799
## carStorageTypeGRB                                                       3.366
## carStorageTypeGRC                                                      -1.962
## carStorageTypeGRD                                                       2.984
## carStorageTypeGRF                                                       0.705
## carStorageTypeGRW                                                      -0.270
## qualityCodeDscrAVERAGE +                                               -1.957
## qualityCodeDscrAVERAGE ++                                               0.475
## qualityCodeDscrEXCELLENT                                               30.153
## qualityCodeDscrEXCELLENT +                                             18.831
## qualityCodeDscrEXCELLENT++                                             31.674
## qualityCodeDscrEXCEPTIONAL 1                                           13.224
## qualityCodeDscrEXCEPTIONAL 2                                            9.807
## qualityCodeDscrFAIR                                                     0.430
## qualityCodeDscrGOOD                                                     5.335
## qualityCodeDscrGOOD +                                                   4.321
## qualityCodeDscrGOOD ++                                                  9.675
## qualityCodeDscrLOW                                                     -1.117
## qualityCodeDscrVERY GOOD                                               13.855
## qualityCodeDscrVERY GOOD +                                             14.051
## qualityCodeDscrVERY GOOD ++                                            23.909
## Geo_QNameBlock Group 1, Census Tract 121.02, Boulder County, Colorado  -4.192
## Geo_QNameBlock Group 1, Census Tract 121.03, Boulder County, Colorado  -6.839
## Geo_QNameBlock Group 1, Census Tract 121.04, Boulder County, Colorado  -2.763
## Geo_QNameBlock Group 1, Census Tract 121.05, Boulder County, Colorado  -3.110
## Geo_QNameBlock Group 1, Census Tract 122.01, Boulder County, Colorado  -5.289
## Geo_QNameBlock Group 1, Census Tract 122.02, Boulder County, Colorado  -7.013
## Geo_QNameBlock Group 1, Census Tract 122.03, Boulder County, Colorado  -7.352
## Geo_QNameBlock Group 1, Census Tract 122.04, Boulder County, Colorado  -0.784
## Geo_QNameBlock Group 1, Census Tract 123, Boulder County, Colorado     -0.874
## Geo_QNameBlock Group 1, Census Tract 124.01, Boulder County, Colorado   6.369
## Geo_QNameBlock Group 1, Census Tract 125.01, Boulder County, Colorado -11.446
## Geo_QNameBlock Group 1, Census Tract 125.05, Boulder County, Colorado  -8.342
## Geo_QNameBlock Group 1, Census Tract 125.07, Boulder County, Colorado  -4.855
## Geo_QNameBlock Group 1, Census Tract 125.08, Boulder County, Colorado -10.371
## Geo_QNameBlock Group 1, Census Tract 125.09, Boulder County, Colorado -10.092
## Geo_QNameBlock Group 1, Census Tract 125.10, Boulder County, Colorado  -4.992
## Geo_QNameBlock Group 1, Census Tract 125.11, Boulder County, Colorado  -7.361
## Geo_QNameBlock Group 1, Census Tract 126.03, Boulder County, Colorado -12.636
## Geo_QNameBlock Group 1, Census Tract 126.08, Boulder County, Colorado -10.607
## Geo_QNameBlock Group 1, Census Tract 127.01, Boulder County, Colorado  -2.434
## Geo_QNameBlock Group 1, Census Tract 127.05, Boulder County, Colorado  -3.619
## Geo_QNameBlock Group 1, Census Tract 127.07, Boulder County, Colorado   5.782
## Geo_QNameBlock Group 1, Census Tract 127.08, Boulder County, Colorado  -8.395
## Geo_QNameBlock Group 1, Census Tract 127.09, Boulder County, Colorado  -9.521
## Geo_QNameBlock Group 1, Census Tract 127.10, Boulder County, Colorado  -3.270
## Geo_QNameBlock Group 1, Census Tract 128, Boulder County, Colorado    -11.026
## Geo_QNameBlock Group 1, Census Tract 129.03, Boulder County, Colorado -13.622
## Geo_QNameBlock Group 1, Census Tract 129.04, Boulder County, Colorado  -6.319
## Geo_QNameBlock Group 1, Census Tract 129.05, Boulder County, Colorado   1.262
## Geo_QNameBlock Group 1, Census Tract 129.07, Boulder County, Colorado  -2.256
## Geo_QNameBlock Group 1, Census Tract 130.03, Boulder County, Colorado -10.464
## Geo_QNameBlock Group 1, Census Tract 130.04, Boulder County, Colorado  -2.187
## Geo_QNameBlock Group 1, Census Tract 130.05, Boulder County, Colorado  -4.054
## Geo_QNameBlock Group 1, Census Tract 130.06, Boulder County, Colorado  -9.783
## Geo_QNameBlock Group 1, Census Tract 132.01, Boulder County, Colorado   0.810
## Geo_QNameBlock Group 1, Census Tract 132.02, Boulder County, Colorado   3.782
## Geo_QNameBlock Group 1, Census Tract 132.05, Boulder County, Colorado  -7.721
## Geo_QNameBlock Group 1, Census Tract 132.07, Boulder County, Colorado  -1.312
## Geo_QNameBlock Group 1, Census Tract 132.08, Boulder County, Colorado   0.336
## Geo_QNameBlock Group 1, Census Tract 132.10, Boulder County, Colorado   2.777
## Geo_QNameBlock Group 1, Census Tract 132.11, Boulder County, Colorado -12.672
## Geo_QNameBlock Group 1, Census Tract 132.12, Boulder County, Colorado   0.092
## Geo_QNameBlock Group 1, Census Tract 132.13, Boulder County, Colorado -13.740
## Geo_QNameBlock Group 1, Census Tract 133.02, Boulder County, Colorado   1.984
## Geo_QNameBlock Group 1, Census Tract 133.05, Boulder County, Colorado   2.343
## Geo_QNameBlock Group 1, Census Tract 133.06, Boulder County, Colorado   2.998
## Geo_QNameBlock Group 1, Census Tract 133.07, Boulder County, Colorado   3.077
## Geo_QNameBlock Group 1, Census Tract 133.08, Boulder County, Colorado   2.015
## Geo_QNameBlock Group 1, Census Tract 134.01, Boulder County, Colorado   3.669
## Geo_QNameBlock Group 1, Census Tract 134.02, Boulder County, Colorado   4.692
## Geo_QNameBlock Group 1, Census Tract 135.03, Boulder County, Colorado   3.335
## Geo_QNameBlock Group 1, Census Tract 135.05, Boulder County, Colorado   4.647
## Geo_QNameBlock Group 1, Census Tract 135.06, Boulder County, Colorado   0.105
## Geo_QNameBlock Group 1, Census Tract 135.07, Boulder County, Colorado   2.605
## Geo_QNameBlock Group 1, Census Tract 135.08, Boulder County, Colorado  -1.179
## Geo_QNameBlock Group 1, Census Tract 136.01, Boulder County, Colorado  -2.755
## Geo_QNameBlock Group 1, Census Tract 136.02, Boulder County, Colorado  -2.088
## Geo_QNameBlock Group 1, Census Tract 137.01, Boulder County, Colorado  -5.728
## Geo_QNameBlock Group 1, Census Tract 137.02, Boulder County, Colorado -10.063
## Geo_QNameBlock Group 1, Census Tract 606, Boulder County, Colorado     -1.090
## Geo_QNameBlock Group 1, Census Tract 607, Boulder County, Colorado     -7.400
## Geo_QNameBlock Group 1, Census Tract 608, Boulder County, Colorado      0.881
## Geo_QNameBlock Group 1, Census Tract 609, Boulder County, Colorado     -1.429
## Geo_QNameBlock Group 1, Census Tract 613, Boulder County, Colorado    -13.007
## Geo_QNameBlock Group 1, Census Tract 614, Boulder County, Colorado    -14.380
## Geo_QNameBlock Group 2, Census Tract 121.01, Boulder County, Colorado  -5.710
## Geo_QNameBlock Group 2, Census Tract 121.02, Boulder County, Colorado  -6.571
## Geo_QNameBlock Group 2, Census Tract 121.03, Boulder County, Colorado  -2.951
## Geo_QNameBlock Group 2, Census Tract 121.04, Boulder County, Colorado  -9.177
## Geo_QNameBlock Group 2, Census Tract 121.05, Boulder County, Colorado   5.281
## Geo_QNameBlock Group 2, Census Tract 122.01, Boulder County, Colorado  -3.297
## Geo_QNameBlock Group 2, Census Tract 122.02, Boulder County, Colorado  -1.725
## Geo_QNameBlock Group 2, Census Tract 122.03, Boulder County, Colorado  -8.285
## Geo_QNameBlock Group 2, Census Tract 122.04, Boulder County, Colorado  -1.204
## Geo_QNameBlock Group 2, Census Tract 123, Boulder County, Colorado     -3.934
## Geo_QNameBlock Group 2, Census Tract 124.01, Boulder County, Colorado   5.198
## Geo_QNameBlock Group 2, Census Tract 125.01, Boulder County, Colorado  -3.316
## Geo_QNameBlock Group 2, Census Tract 125.05, Boulder County, Colorado  -8.471
## Geo_QNameBlock Group 2, Census Tract 125.07, Boulder County, Colorado -11.821
## Geo_QNameBlock Group 2, Census Tract 125.08, Boulder County, Colorado  -5.942
## Geo_QNameBlock Group 2, Census Tract 125.09, Boulder County, Colorado  -9.974
## Geo_QNameBlock Group 2, Census Tract 125.10, Boulder County, Colorado  -9.767
## Geo_QNameBlock Group 2, Census Tract 125.11, Boulder County, Colorado  -4.454
## Geo_QNameBlock Group 2, Census Tract 126.03, Boulder County, Colorado  -7.515
## Geo_QNameBlock Group 2, Census Tract 126.05, Boulder County, Colorado  -4.766
## Geo_QNameBlock Group 2, Census Tract 127.01, Boulder County, Colorado  -9.052
## Geo_QNameBlock Group 2, Census Tract 127.05, Boulder County, Colorado  -9.443
## Geo_QNameBlock Group 2, Census Tract 127.07, Boulder County, Colorado  -4.882
## Geo_QNameBlock Group 2, Census Tract 127.08, Boulder County, Colorado  -9.988
## Geo_QNameBlock Group 2, Census Tract 127.10, Boulder County, Colorado -11.084
## Geo_QNameBlock Group 2, Census Tract 128, Boulder County, Colorado    -10.067
## Geo_QNameBlock Group 2, Census Tract 129.04, Boulder County, Colorado  -7.511
## Geo_QNameBlock Group 2, Census Tract 129.05, Boulder County, Colorado   0.931
## Geo_QNameBlock Group 2, Census Tract 129.07, Boulder County, Colorado -10.816
## Geo_QNameBlock Group 2, Census Tract 130.03, Boulder County, Colorado  -1.157
## Geo_QNameBlock Group 2, Census Tract 130.04, Boulder County, Colorado -10.560
## Geo_QNameBlock Group 2, Census Tract 130.05, Boulder County, Colorado  -1.115
## Geo_QNameBlock Group 2, Census Tract 130.06, Boulder County, Colorado -10.312
## Geo_QNameBlock Group 2, Census Tract 132.02, Boulder County, Colorado  -2.960
## Geo_QNameBlock Group 2, Census Tract 132.05, Boulder County, Colorado -11.967
## Geo_QNameBlock Group 2, Census Tract 132.08, Boulder County, Colorado  -3.468
## Geo_QNameBlock Group 2, Census Tract 132.10, Boulder County, Colorado   2.139
## Geo_QNameBlock Group 2, Census Tract 132.11, Boulder County, Colorado  -7.324
## Geo_QNameBlock Group 2, Census Tract 132.12, Boulder County, Colorado  -5.727
## Geo_QNameBlock Group 2, Census Tract 132.13, Boulder County, Colorado  -1.073
## Geo_QNameBlock Group 2, Census Tract 133.02, Boulder County, Colorado  -6.306
## Geo_QNameBlock Group 2, Census Tract 133.05, Boulder County, Colorado   2.192
## Geo_QNameBlock Group 2, Census Tract 133.06, Boulder County, Colorado   3.517
## Geo_QNameBlock Group 2, Census Tract 133.07, Boulder County, Colorado   2.055
## Geo_QNameBlock Group 2, Census Tract 133.08, Boulder County, Colorado   4.012
## Geo_QNameBlock Group 2, Census Tract 134.01, Boulder County, Colorado   3.563
## Geo_QNameBlock Group 2, Census Tract 134.02, Boulder County, Colorado  -0.033
## Geo_QNameBlock Group 2, Census Tract 135.03, Boulder County, Colorado   4.231
## Geo_QNameBlock Group 2, Census Tract 135.05, Boulder County, Colorado   3.867
## Geo_QNameBlock Group 2, Census Tract 135.07, Boulder County, Colorado   1.130
## Geo_QNameBlock Group 2, Census Tract 135.08, Boulder County, Colorado  -6.042
## Geo_QNameBlock Group 2, Census Tract 136.01, Boulder County, Colorado  -3.374
## Geo_QNameBlock Group 2, Census Tract 136.02, Boulder County, Colorado   1.080
## Geo_QNameBlock Group 2, Census Tract 137.01, Boulder County, Colorado  -9.209
## Geo_QNameBlock Group 2, Census Tract 137.02, Boulder County, Colorado  -9.699
## Geo_QNameBlock Group 2, Census Tract 606, Boulder County, Colorado    -11.741
## Geo_QNameBlock Group 2, Census Tract 607, Boulder County, Colorado     -3.599
## Geo_QNameBlock Group 2, Census Tract 608, Boulder County, Colorado     -0.679
## Geo_QNameBlock Group 2, Census Tract 609, Boulder County, Colorado     -4.740
## Geo_QNameBlock Group 2, Census Tract 613, Boulder County, Colorado    -13.095
## Geo_QNameBlock Group 3, Census Tract 121.01, Boulder County, Colorado  -3.868
## Geo_QNameBlock Group 3, Census Tract 121.02, Boulder County, Colorado  -2.544
## Geo_QNameBlock Group 3, Census Tract 121.03, Boulder County, Colorado  -7.777
## Geo_QNameBlock Group 3, Census Tract 121.05, Boulder County, Colorado  -8.810
## Geo_QNameBlock Group 3, Census Tract 122.01, Boulder County, Colorado  -4.572
## Geo_QNameBlock Group 3, Census Tract 122.02, Boulder County, Colorado  -4.094
## Geo_QNameBlock Group 3, Census Tract 122.03, Boulder County, Colorado  -4.442
## Geo_QNameBlock Group 3, Census Tract 122.04, Boulder County, Colorado   9.538
## Geo_QNameBlock Group 3, Census Tract 124.01, Boulder County, Colorado  -6.906
## Geo_QNameBlock Group 3, Census Tract 125.05, Boulder County, Colorado  -5.612
## Geo_QNameBlock Group 3, Census Tract 125.07, Boulder County, Colorado  -1.665
## Geo_QNameBlock Group 3, Census Tract 125.08, Boulder County, Colorado  -6.495
## Geo_QNameBlock Group 3, Census Tract 125.09, Boulder County, Colorado  -6.198
## Geo_QNameBlock Group 3, Census Tract 125.10, Boulder County, Colorado  -9.839
## Geo_QNameBlock Group 3, Census Tract 127.01, Boulder County, Colorado -10.238
## Geo_QNameBlock Group 3, Census Tract 127.05, Boulder County, Colorado  -6.662
## Geo_QNameBlock Group 3, Census Tract 127.08, Boulder County, Colorado  -8.402
## Geo_QNameBlock Group 3, Census Tract 127.10, Boulder County, Colorado  -7.518
## Geo_QNameBlock Group 3, Census Tract 128, Boulder County, Colorado    -11.972
## Geo_QNameBlock Group 3, Census Tract 130.03, Boulder County, Colorado  -7.116
## Geo_QNameBlock Group 3, Census Tract 130.06, Boulder County, Colorado  -9.309
## Geo_QNameBlock Group 3, Census Tract 132.05, Boulder County, Colorado  -2.367
## Geo_QNameBlock Group 3, Census Tract 132.07, Boulder County, Colorado  -5.296
## Geo_QNameBlock Group 3, Census Tract 132.08, Boulder County, Colorado  -0.343
## Geo_QNameBlock Group 3, Census Tract 132.10, Boulder County, Colorado   2.655
## Geo_QNameBlock Group 3, Census Tract 132.11, Boulder County, Colorado   4.655
## Geo_QNameBlock Group 3, Census Tract 132.12, Boulder County, Colorado  -3.758
## Geo_QNameBlock Group 3, Census Tract 132.13, Boulder County, Colorado -11.909
## Geo_QNameBlock Group 3, Census Tract 133.02, Boulder County, Colorado   2.494
## Geo_QNameBlock Group 3, Census Tract 133.05, Boulder County, Colorado  -1.720
## Geo_QNameBlock Group 3, Census Tract 133.08, Boulder County, Colorado   0.968
## Geo_QNameBlock Group 3, Census Tract 134.01, Boulder County, Colorado   2.328
## Geo_QNameBlock Group 3, Census Tract 134.02, Boulder County, Colorado  -5.660
## Geo_QNameBlock Group 3, Census Tract 135.03, Boulder County, Colorado   4.008
## Geo_QNameBlock Group 3, Census Tract 135.05, Boulder County, Colorado   4.191
## Geo_QNameBlock Group 3, Census Tract 135.08, Boulder County, Colorado   2.218
## Geo_QNameBlock Group 3, Census Tract 136.01, Boulder County, Colorado   1.898
## Geo_QNameBlock Group 3, Census Tract 137.01, Boulder County, Colorado  -7.697
## Geo_QNameBlock Group 3, Census Tract 137.02, Boulder County, Colorado  -4.061
## Geo_QNameBlock Group 3, Census Tract 607, Boulder County, Colorado     -9.743
## Geo_QNameBlock Group 3, Census Tract 608, Boulder County, Colorado     -2.629
## Geo_QNameBlock Group 4, Census Tract 121.01, Boulder County, Colorado  -0.524
## Geo_QNameBlock Group 4, Census Tract 121.02, Boulder County, Colorado  -3.435
## Geo_QNameBlock Group 4, Census Tract 121.05, Boulder County, Colorado  -7.090
## Geo_QNameBlock Group 4, Census Tract 122.02, Boulder County, Colorado  -4.366
## Geo_QNameBlock Group 4, Census Tract 122.03, Boulder County, Colorado  -9.006
## Geo_QNameBlock Group 4, Census Tract 124.01, Boulder County, Colorado  -8.380
## Geo_QNameBlock Group 4, Census Tract 125.10, Boulder County, Colorado  -4.917
## Geo_QNameBlock Group 4, Census Tract 126.07, Boulder County, Colorado -10.163
## Geo_QNameBlock Group 4, Census Tract 127.01, Boulder County, Colorado  -5.302
## Geo_QNameBlock Group 4, Census Tract 127.08, Boulder County, Colorado -10.997
## Geo_QNameBlock Group 4, Census Tract 128, Boulder County, Colorado     -9.269
## Geo_QNameBlock Group 4, Census Tract 130.03, Boulder County, Colorado  -6.945
## Geo_QNameBlock Group 4, Census Tract 133.02, Boulder County, Colorado  -0.273
## Geo_QNameBlock Group 4, Census Tract 134.02, Boulder County, Colorado  -1.930
## Geo_QNameBlock Group 4, Census Tract 135.03, Boulder County, Colorado   1.449
## Geo_QNameBlock Group 4, Census Tract 137.01, Boulder County, Colorado  -8.035
## Geo_QNameBlock Group 4, Census Tract 137.02, Boulder County, Colorado   0.508
## Geo_QNameBlock Group 4, Census Tract 608, Boulder County, Colorado      3.687
## Geo_QNameBlock Group 5, Census Tract 121.02, Boulder County, Colorado  -7.740
## Geo_QNameBlock Group 5, Census Tract 128, Boulder County, Colorado     -2.514
## Geo_QNameBlock Group 5, Census Tract 133.02, Boulder County, Colorado   1.403
## Geo_QNameBlock Group 5, Census Tract 134.02, Boulder County, Colorado   3.851
## Geo_QNameBlock Group 5, Census Tract 137.02, Boulder County, Colorado  -0.737
## Geo_QNameBlock Group 5, Census Tract 608, Boulder County, Colorado      4.120
## Geo_QNameBlock Group 6, Census Tract 137.02, Boulder County, Colorado  -3.166
## Geo_QNameBlock Group 7, Census Tract 137.02, Boulder County, Colorado      NA
## BoulderHousingData.Buffer.LR                                           -1.333
## SC                                                                      0.144
## FZ                                                                      0.116
## WF                                                                     -3.384
##                                                                                   Pr(>|t|)
## (Intercept)                                                            0.00000104102056009
## bsmtSF                                                                            0.629466
## carStorageSF                                                                      0.378098
## TotalFinishedSF                                                       < 0.0000000000000002
## nbrRoomsNobath                                                                    0.476188
## totalbaths                                                                        0.024122
## PerBDorHig                                                             0.00000000000000171
## libraries_nn4                                                                     0.541412
## trailheads_nn5                                                                    0.451163
## ME_nn5                                                                            0.095284
## private_nn5                                                                       0.209080
## DESCRIPTIONMinor Constraint                                                       0.292402
## DESCRIPTIONModerate Constraint                                                    0.929665
## DESCRIPTIONModerate Hazard                                                        0.683574
## bsmtTypeBGF                                                                       0.033726
## bsmtTypeBGU                                                                       0.686188
## bsmtTypeBSF                                                                       0.001766
## bsmtTypeBSU                                                                       0.587508
## bsmtTypeBWF                                                                       0.000276
## bsmtTypeBWU                                                                       0.456491
## bsmtTypeLGF                                                            0.00000795439654909
## bsmtTypeLGU                                                                       0.683317
## bsmtTypeLWF                                                                       0.042249
## bsmtTypeLWU                                                                       0.317583
## carStorageTypeGRA                                                                 0.072090
## carStorageTypeGRB                                                                 0.000766
## carStorageTypeGRC                                                                 0.049825
## carStorageTypeGRD                                                                 0.002851
## carStorageTypeGRF                                                                 0.480543
## carStorageTypeGRW                                                                 0.787058
## qualityCodeDscrAVERAGE +                                                          0.050409
## qualityCodeDscrAVERAGE ++                                                         0.634571
## qualityCodeDscrEXCELLENT                                              < 0.0000000000000002
## qualityCodeDscrEXCELLENT +                                            < 0.0000000000000002
## qualityCodeDscrEXCELLENT++                                            < 0.0000000000000002
## qualityCodeDscrEXCEPTIONAL 1                                          < 0.0000000000000002
## qualityCodeDscrEXCEPTIONAL 2                                          < 0.0000000000000002
## qualityCodeDscrFAIR                                                               0.666928
## qualityCodeDscrGOOD                                                    0.00000009798592756
## qualityCodeDscrGOOD +                                                  0.00001569444812479
## qualityCodeDscrGOOD ++                                                < 0.0000000000000002
## qualityCodeDscrLOW                                                                0.263880
## qualityCodeDscrVERY GOOD                                              < 0.0000000000000002
## qualityCodeDscrVERY GOOD +                                            < 0.0000000000000002
## qualityCodeDscrVERY GOOD ++                                           < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 121.02, Boulder County, Colorado  0.00002788659433002
## Geo_QNameBlock Group 1, Census Tract 121.03, Boulder County, Colorado  0.00000000000856420
## Geo_QNameBlock Group 1, Census Tract 121.04, Boulder County, Colorado             0.005733
## Geo_QNameBlock Group 1, Census Tract 121.05, Boulder County, Colorado             0.001880
## Geo_QNameBlock Group 1, Census Tract 122.01, Boulder County, Colorado  0.00000012597965424
## Geo_QNameBlock Group 1, Census Tract 122.02, Boulder County, Colorado  0.00000000000251662
## Geo_QNameBlock Group 1, Census Tract 122.03, Boulder County, Colorado  0.00000000000021383
## Geo_QNameBlock Group 1, Census Tract 122.04, Boulder County, Colorado             0.433124
## Geo_QNameBlock Group 1, Census Tract 123, Boulder County, Colorado                0.382061
## Geo_QNameBlock Group 1, Census Tract 124.01, Boulder County, Colorado  0.00000000020045958
## Geo_QNameBlock Group 1, Census Tract 125.01, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 125.05, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 125.07, Boulder County, Colorado  0.00000122333906104
## Geo_QNameBlock Group 1, Census Tract 125.08, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 125.09, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 125.10, Boulder County, Colorado  0.00000060861844063
## Geo_QNameBlock Group 1, Census Tract 125.11, Boulder County, Colorado  0.00000000000019950
## Geo_QNameBlock Group 1, Census Tract 126.03, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 126.08, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 127.01, Boulder County, Colorado             0.014974
## Geo_QNameBlock Group 1, Census Tract 127.05, Boulder County, Colorado             0.000297
## Geo_QNameBlock Group 1, Census Tract 127.07, Boulder County, Colorado  0.00000000763938296
## Geo_QNameBlock Group 1, Census Tract 127.08, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 127.09, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 127.10, Boulder County, Colorado             0.001081
## Geo_QNameBlock Group 1, Census Tract 128, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 129.03, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 129.04, Boulder County, Colorado  0.00000000027700459
## Geo_QNameBlock Group 1, Census Tract 129.05, Boulder County, Colorado             0.206993
## Geo_QNameBlock Group 1, Census Tract 129.07, Boulder County, Colorado             0.024125
## Geo_QNameBlock Group 1, Census Tract 130.03, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 130.04, Boulder County, Colorado             0.028781
## Geo_QNameBlock Group 1, Census Tract 130.05, Boulder County, Colorado  0.00005078801260472
## Geo_QNameBlock Group 1, Census Tract 130.06, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 132.01, Boulder County, Colorado             0.417791
## Geo_QNameBlock Group 1, Census Tract 132.02, Boulder County, Colorado             0.000157
## Geo_QNameBlock Group 1, Census Tract 132.05, Boulder County, Colorado  0.00000000000001287
## Geo_QNameBlock Group 1, Census Tract 132.07, Boulder County, Colorado             0.189679
## Geo_QNameBlock Group 1, Census Tract 132.08, Boulder County, Colorado             0.736899
## Geo_QNameBlock Group 1, Census Tract 132.10, Boulder County, Colorado             0.005500
## Geo_QNameBlock Group 1, Census Tract 132.11, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 132.12, Boulder County, Colorado             0.926752
## Geo_QNameBlock Group 1, Census Tract 132.13, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 133.02, Boulder County, Colorado             0.047323
## Geo_QNameBlock Group 1, Census Tract 133.05, Boulder County, Colorado             0.019159
## Geo_QNameBlock Group 1, Census Tract 133.06, Boulder County, Colorado             0.002724
## Geo_QNameBlock Group 1, Census Tract 133.07, Boulder County, Colorado             0.002100
## Geo_QNameBlock Group 1, Census Tract 133.08, Boulder County, Colorado             0.043942
## Geo_QNameBlock Group 1, Census Tract 134.01, Boulder County, Colorado             0.000245
## Geo_QNameBlock Group 1, Census Tract 134.02, Boulder County, Colorado  0.00000274996198048
## Geo_QNameBlock Group 1, Census Tract 135.03, Boulder County, Colorado             0.000855
## Geo_QNameBlock Group 1, Census Tract 135.05, Boulder County, Colorado  0.00000342064684430
## Geo_QNameBlock Group 1, Census Tract 135.06, Boulder County, Colorado             0.916077
## Geo_QNameBlock Group 1, Census Tract 135.07, Boulder County, Colorado             0.009199
## Geo_QNameBlock Group 1, Census Tract 135.08, Boulder County, Colorado             0.238477
## Geo_QNameBlock Group 1, Census Tract 136.01, Boulder County, Colorado             0.005877
## Geo_QNameBlock Group 1, Census Tract 136.02, Boulder County, Colorado             0.036810
## Geo_QNameBlock Group 1, Census Tract 137.01, Boulder County, Colorado  0.00000001051105836
## Geo_QNameBlock Group 1, Census Tract 137.02, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 606, Boulder County, Colorado                0.275586
## Geo_QNameBlock Group 1, Census Tract 607, Boulder County, Colorado     0.00000000000014934
## Geo_QNameBlock Group 1, Census Tract 608, Boulder County, Colorado                0.378412
## Geo_QNameBlock Group 1, Census Tract 609, Boulder County, Colorado                0.153044
## Geo_QNameBlock Group 1, Census Tract 613, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 1, Census Tract 614, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 121.01, Boulder County, Colorado  0.00000001169166633
## Geo_QNameBlock Group 2, Census Tract 121.02, Boulder County, Colorado  0.00000000005293028
## Geo_QNameBlock Group 2, Census Tract 121.03, Boulder County, Colorado             0.003180
## Geo_QNameBlock Group 2, Census Tract 121.04, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 121.05, Boulder County, Colorado  0.00000013172190469
## Geo_QNameBlock Group 2, Census Tract 122.01, Boulder County, Colorado             0.000980
## Geo_QNameBlock Group 2, Census Tract 122.02, Boulder County, Colorado             0.084618
## Geo_QNameBlock Group 2, Census Tract 122.03, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 122.04, Boulder County, Colorado             0.228505
## Geo_QNameBlock Group 2, Census Tract 123, Boulder County, Colorado     0.00008419504895017
## Geo_QNameBlock Group 2, Census Tract 124.01, Boulder County, Colorado  0.00000020627607224
## Geo_QNameBlock Group 2, Census Tract 125.01, Boulder County, Colorado             0.000916
## Geo_QNameBlock Group 2, Census Tract 125.05, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 125.07, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 125.08, Boulder County, Colorado  0.00000000293630800
## Geo_QNameBlock Group 2, Census Tract 125.09, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 125.10, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 125.11, Boulder County, Colorado  0.00000854242148236
## Geo_QNameBlock Group 2, Census Tract 126.03, Boulder County, Colorado  0.00000000000006280
## Geo_QNameBlock Group 2, Census Tract 126.05, Boulder County, Colorado  0.00000190881959518
## Geo_QNameBlock Group 2, Census Tract 127.01, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 127.05, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 127.07, Boulder County, Colorado  0.00000106733531356
## Geo_QNameBlock Group 2, Census Tract 127.08, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 127.10, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 128, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 129.04, Boulder County, Colorado  0.00000000000006456
## Geo_QNameBlock Group 2, Census Tract 129.05, Boulder County, Colorado             0.351766
## Geo_QNameBlock Group 2, Census Tract 129.07, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 130.03, Boulder County, Colorado             0.247142
## Geo_QNameBlock Group 2, Census Tract 130.04, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 130.05, Boulder County, Colorado             0.264739
## Geo_QNameBlock Group 2, Census Tract 130.06, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 132.02, Boulder County, Colorado             0.003088
## Geo_QNameBlock Group 2, Census Tract 132.05, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 132.08, Boulder County, Colorado             0.000526
## Geo_QNameBlock Group 2, Census Tract 132.10, Boulder County, Colorado             0.032428
## Geo_QNameBlock Group 2, Census Tract 132.11, Boulder County, Colorado  0.00000000000026277
## Geo_QNameBlock Group 2, Census Tract 132.12, Boulder County, Colorado  0.00000001060273723
## Geo_QNameBlock Group 2, Census Tract 132.13, Boulder County, Colorado             0.283423
## Geo_QNameBlock Group 2, Census Tract 133.02, Boulder County, Colorado  0.00000000030058656
## Geo_QNameBlock Group 2, Census Tract 133.05, Boulder County, Colorado             0.028439
## Geo_QNameBlock Group 2, Census Tract 133.06, Boulder County, Colorado             0.000439
## Geo_QNameBlock Group 2, Census Tract 133.07, Boulder County, Colorado             0.039867
## Geo_QNameBlock Group 2, Census Tract 133.08, Boulder County, Colorado  0.00006073634466035
## Geo_QNameBlock Group 2, Census Tract 134.01, Boulder County, Colorado             0.000368
## Geo_QNameBlock Group 2, Census Tract 134.02, Boulder County, Colorado             0.973432
## Geo_QNameBlock Group 2, Census Tract 135.03, Boulder County, Colorado  0.00002353135216414
## Geo_QNameBlock Group 2, Census Tract 135.05, Boulder County, Colorado             0.000111
## Geo_QNameBlock Group 2, Census Tract 135.07, Boulder County, Colorado             0.258607
## Geo_QNameBlock Group 2, Census Tract 135.08, Boulder County, Colorado  0.00000000159238620
## Geo_QNameBlock Group 2, Census Tract 136.01, Boulder County, Colorado             0.000745
## Geo_QNameBlock Group 2, Census Tract 136.02, Boulder County, Colorado             0.280043
## Geo_QNameBlock Group 2, Census Tract 137.01, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 137.02, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 606, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 2, Census Tract 607, Boulder County, Colorado                0.000321
## Geo_QNameBlock Group 2, Census Tract 608, Boulder County, Colorado                0.497473
## Geo_QNameBlock Group 2, Census Tract 609, Boulder County, Colorado     0.00000216918240430
## Geo_QNameBlock Group 2, Census Tract 613, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 121.01, Boulder County, Colorado             0.000111
## Geo_QNameBlock Group 3, Census Tract 121.02, Boulder County, Colorado             0.010980
## Geo_QNameBlock Group 3, Census Tract 121.03, Boulder County, Colorado  0.00000000000000831
## Geo_QNameBlock Group 3, Census Tract 121.05, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 122.01, Boulder County, Colorado  0.00000490348485158
## Geo_QNameBlock Group 3, Census Tract 122.02, Boulder County, Colorado  0.00004282327756484
## Geo_QNameBlock Group 3, Census Tract 122.03, Boulder County, Colorado  0.00000901998009544
## Geo_QNameBlock Group 3, Census Tract 122.04, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 124.01, Boulder County, Colorado  0.00000000000535502
## Geo_QNameBlock Group 3, Census Tract 125.05, Boulder County, Colorado  0.00000002063768836
## Geo_QNameBlock Group 3, Census Tract 125.07, Boulder County, Colorado             0.096046
## Geo_QNameBlock Group 3, Census Tract 125.08, Boulder County, Colorado  0.00000000008799297
## Geo_QNameBlock Group 3, Census Tract 125.09, Boulder County, Colorado  0.00000000060057204
## Geo_QNameBlock Group 3, Census Tract 125.10, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 127.01, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 127.05, Boulder County, Colorado  0.00000000002863940
## Geo_QNameBlock Group 3, Census Tract 127.08, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 127.10, Boulder County, Colorado  0.00000000000006163
## Geo_QNameBlock Group 3, Census Tract 128, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 130.03, Boulder County, Colorado  0.00000000000120115
## Geo_QNameBlock Group 3, Census Tract 130.06, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 132.05, Boulder County, Colorado             0.017969
## Geo_QNameBlock Group 3, Census Tract 132.07, Boulder County, Colorado  0.00000012163472595
## Geo_QNameBlock Group 3, Census Tract 132.08, Boulder County, Colorado             0.731960
## Geo_QNameBlock Group 3, Census Tract 132.10, Boulder County, Colorado             0.007950
## Geo_QNameBlock Group 3, Census Tract 132.11, Boulder County, Colorado  0.00000329156452597
## Geo_QNameBlock Group 3, Census Tract 132.12, Boulder County, Colorado             0.000173
## Geo_QNameBlock Group 3, Census Tract 132.13, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 133.02, Boulder County, Colorado             0.012650
## Geo_QNameBlock Group 3, Census Tract 133.05, Boulder County, Colorado             0.085427
## Geo_QNameBlock Group 3, Census Tract 133.08, Boulder County, Colorado             0.333002
## Geo_QNameBlock Group 3, Census Tract 134.01, Boulder County, Colorado             0.019917
## Geo_QNameBlock Group 3, Census Tract 134.02, Boulder County, Colorado  0.00000001565412811
## Geo_QNameBlock Group 3, Census Tract 135.03, Boulder County, Colorado  0.00006190029130831
## Geo_QNameBlock Group 3, Census Tract 135.05, Boulder County, Colorado  0.00002811339970276
## Geo_QNameBlock Group 3, Census Tract 135.08, Boulder County, Colorado             0.026607
## Geo_QNameBlock Group 3, Census Tract 136.01, Boulder County, Colorado             0.057672
## Geo_QNameBlock Group 3, Census Tract 137.01, Boulder County, Colorado  0.00000000000001553
## Geo_QNameBlock Group 3, Census Tract 137.02, Boulder County, Colorado  0.00004934404964351
## Geo_QNameBlock Group 3, Census Tract 607, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 3, Census Tract 608, Boulder County, Colorado                0.008583
## Geo_QNameBlock Group 4, Census Tract 121.01, Boulder County, Colorado             0.600592
## Geo_QNameBlock Group 4, Census Tract 121.02, Boulder County, Colorado             0.000596
## Geo_QNameBlock Group 4, Census Tract 121.05, Boulder County, Colorado  0.00000000000145526
## Geo_QNameBlock Group 4, Census Tract 122.02, Boulder County, Colorado  0.00001279819744421
## Geo_QNameBlock Group 4, Census Tract 122.03, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 4, Census Tract 124.01, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 4, Census Tract 125.10, Boulder County, Colorado  0.00000089386640465
## Geo_QNameBlock Group 4, Census Tract 126.07, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 4, Census Tract 127.01, Boulder County, Colorado  0.00000011723503969
## Geo_QNameBlock Group 4, Census Tract 127.08, Boulder County, Colorado < 0.0000000000000002
## Geo_QNameBlock Group 4, Census Tract 128, Boulder County, Colorado    < 0.0000000000000002
## Geo_QNameBlock Group 4, Census Tract 130.03, Boulder County, Colorado  0.00000000000408338
## Geo_QNameBlock Group 4, Census Tract 133.02, Boulder County, Colorado             0.784829
## Geo_QNameBlock Group 4, Census Tract 134.02, Boulder County, Colorado             0.053665
## Geo_QNameBlock Group 4, Census Tract 135.03, Boulder County, Colorado             0.147484
## Geo_QNameBlock Group 4, Census Tract 137.01, Boulder County, Colorado  0.00000000000000106
## Geo_QNameBlock Group 4, Census Tract 137.02, Boulder County, Colorado             0.611516
## Geo_QNameBlock Group 4, Census Tract 608, Boulder County, Colorado                0.000228
## Geo_QNameBlock Group 5, Census Tract 121.02, Boulder County, Colorado  0.00000000000001113
## Geo_QNameBlock Group 5, Census Tract 128, Boulder County, Colorado                0.011940
## Geo_QNameBlock Group 5, Census Tract 133.02, Boulder County, Colorado             0.160613
## Geo_QNameBlock Group 5, Census Tract 134.02, Boulder County, Colorado             0.000118
## Geo_QNameBlock Group 5, Census Tract 137.02, Boulder County, Colorado             0.461219
## Geo_QNameBlock Group 5, Census Tract 608, Boulder County, Colorado     0.00003826320099329
## Geo_QNameBlock Group 6, Census Tract 137.02, Boulder County, Colorado             0.001551
## Geo_QNameBlock Group 7, Census Tract 137.02, Boulder County, Colorado                   NA
## BoulderHousingData.Buffer.LR                                                      0.182519
## SC                                                                                0.885597
## FZ                                                                                0.907903
## WF                                                                                0.000718
##                                                                          
## (Intercept)                                                           ***
## bsmtSF                                                                   
## carStorageSF                                                             
## TotalFinishedSF                                                       ***
## nbrRoomsNobath                                                           
## totalbaths                                                            *  
## PerBDorHig                                                            ***
## libraries_nn4                                                            
## trailheads_nn5                                                           
## ME_nn5                                                                .  
## private_nn5                                                              
## DESCRIPTIONMinor Constraint                                              
## DESCRIPTIONModerate Constraint                                           
## DESCRIPTIONModerate Hazard                                               
## bsmtTypeBGF                                                           *  
## bsmtTypeBGU                                                              
## bsmtTypeBSF                                                           ** 
## bsmtTypeBSU                                                              
## bsmtTypeBWF                                                           ***
## bsmtTypeBWU                                                              
## bsmtTypeLGF                                                           ***
## bsmtTypeLGU                                                              
## bsmtTypeLWF                                                           *  
## bsmtTypeLWU                                                              
## carStorageTypeGRA                                                     .  
## carStorageTypeGRB                                                     ***
## carStorageTypeGRC                                                     *  
## carStorageTypeGRD                                                     ** 
## carStorageTypeGRF                                                        
## carStorageTypeGRW                                                        
## qualityCodeDscrAVERAGE +                                              .  
## qualityCodeDscrAVERAGE ++                                                
## qualityCodeDscrEXCELLENT                                              ***
## qualityCodeDscrEXCELLENT +                                            ***
## qualityCodeDscrEXCELLENT++                                            ***
## qualityCodeDscrEXCEPTIONAL 1                                          ***
## qualityCodeDscrEXCEPTIONAL 2                                          ***
## qualityCodeDscrFAIR                                                      
## qualityCodeDscrGOOD                                                   ***
## qualityCodeDscrGOOD +                                                 ***
## qualityCodeDscrGOOD ++                                                ***
## qualityCodeDscrLOW                                                       
## qualityCodeDscrVERY GOOD                                              ***
## qualityCodeDscrVERY GOOD +                                            ***
## qualityCodeDscrVERY GOOD ++                                           ***
## Geo_QNameBlock Group 1, Census Tract 121.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 121.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 121.04, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 121.05, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 122.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 122.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 122.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 122.04, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 123, Boulder County, Colorado       
## Geo_QNameBlock Group 1, Census Tract 124.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.09, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.10, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 125.11, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 126.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 126.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 127.01, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 127.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 127.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 127.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 127.09, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 127.10, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 128, Boulder County, Colorado    ***
## Geo_QNameBlock Group 1, Census Tract 129.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 129.04, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 129.05, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 129.07, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 130.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 130.04, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 130.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 130.06, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 132.01, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 132.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 132.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 132.07, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 132.08, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 132.10, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 132.11, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 132.12, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 132.13, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 133.02, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 133.05, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 133.06, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 133.07, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 133.08, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 134.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 134.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 135.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 135.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 135.06, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 135.07, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 135.08, Boulder County, Colorado    
## Geo_QNameBlock Group 1, Census Tract 136.01, Boulder County, Colorado ** 
## Geo_QNameBlock Group 1, Census Tract 136.02, Boulder County, Colorado *  
## Geo_QNameBlock Group 1, Census Tract 137.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 137.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 1, Census Tract 606, Boulder County, Colorado       
## Geo_QNameBlock Group 1, Census Tract 607, Boulder County, Colorado    ***
## Geo_QNameBlock Group 1, Census Tract 608, Boulder County, Colorado       
## Geo_QNameBlock Group 1, Census Tract 609, Boulder County, Colorado       
## Geo_QNameBlock Group 1, Census Tract 613, Boulder County, Colorado    ***
## Geo_QNameBlock Group 1, Census Tract 614, Boulder County, Colorado    ***
## Geo_QNameBlock Group 2, Census Tract 121.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 121.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 121.03, Boulder County, Colorado ** 
## Geo_QNameBlock Group 2, Census Tract 121.04, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 121.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 122.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 122.02, Boulder County, Colorado .  
## Geo_QNameBlock Group 2, Census Tract 122.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 122.04, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 123, Boulder County, Colorado    ***
## Geo_QNameBlock Group 2, Census Tract 124.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.09, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.10, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 125.11, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 126.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 126.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 127.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 127.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 127.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 127.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 127.10, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 128, Boulder County, Colorado    ***
## Geo_QNameBlock Group 2, Census Tract 129.04, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 129.05, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 129.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 130.03, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 130.04, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 130.05, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 130.06, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 132.02, Boulder County, Colorado ** 
## Geo_QNameBlock Group 2, Census Tract 132.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 132.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 132.10, Boulder County, Colorado *  
## Geo_QNameBlock Group 2, Census Tract 132.11, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 132.12, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 132.13, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 133.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 133.05, Boulder County, Colorado *  
## Geo_QNameBlock Group 2, Census Tract 133.06, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 133.07, Boulder County, Colorado *  
## Geo_QNameBlock Group 2, Census Tract 133.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 134.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 134.02, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 135.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 135.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 135.07, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 135.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 136.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 136.02, Boulder County, Colorado    
## Geo_QNameBlock Group 2, Census Tract 137.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 137.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 2, Census Tract 606, Boulder County, Colorado    ***
## Geo_QNameBlock Group 2, Census Tract 607, Boulder County, Colorado    ***
## Geo_QNameBlock Group 2, Census Tract 608, Boulder County, Colorado       
## Geo_QNameBlock Group 2, Census Tract 609, Boulder County, Colorado    ***
## Geo_QNameBlock Group 2, Census Tract 613, Boulder County, Colorado    ***
## Geo_QNameBlock Group 3, Census Tract 121.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 121.02, Boulder County, Colorado *  
## Geo_QNameBlock Group 3, Census Tract 121.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 121.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 122.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 122.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 122.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 122.04, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 124.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 125.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 125.07, Boulder County, Colorado .  
## Geo_QNameBlock Group 3, Census Tract 125.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 125.09, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 125.10, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 127.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 127.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 127.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 127.10, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 128, Boulder County, Colorado    ***
## Geo_QNameBlock Group 3, Census Tract 130.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 130.06, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 132.05, Boulder County, Colorado *  
## Geo_QNameBlock Group 3, Census Tract 132.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 132.08, Boulder County, Colorado    
## Geo_QNameBlock Group 3, Census Tract 132.10, Boulder County, Colorado ** 
## Geo_QNameBlock Group 3, Census Tract 132.11, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 132.12, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 132.13, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 133.02, Boulder County, Colorado *  
## Geo_QNameBlock Group 3, Census Tract 133.05, Boulder County, Colorado .  
## Geo_QNameBlock Group 3, Census Tract 133.08, Boulder County, Colorado    
## Geo_QNameBlock Group 3, Census Tract 134.01, Boulder County, Colorado *  
## Geo_QNameBlock Group 3, Census Tract 134.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 135.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 135.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 135.08, Boulder County, Colorado *  
## Geo_QNameBlock Group 3, Census Tract 136.01, Boulder County, Colorado .  
## Geo_QNameBlock Group 3, Census Tract 137.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 137.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 3, Census Tract 607, Boulder County, Colorado    ***
## Geo_QNameBlock Group 3, Census Tract 608, Boulder County, Colorado    ** 
## Geo_QNameBlock Group 4, Census Tract 121.01, Boulder County, Colorado    
## Geo_QNameBlock Group 4, Census Tract 121.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 121.05, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 122.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 122.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 124.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 125.10, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 126.07, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 127.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 127.08, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 128, Boulder County, Colorado    ***
## Geo_QNameBlock Group 4, Census Tract 130.03, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 133.02, Boulder County, Colorado    
## Geo_QNameBlock Group 4, Census Tract 134.02, Boulder County, Colorado .  
## Geo_QNameBlock Group 4, Census Tract 135.03, Boulder County, Colorado    
## Geo_QNameBlock Group 4, Census Tract 137.01, Boulder County, Colorado ***
## Geo_QNameBlock Group 4, Census Tract 137.02, Boulder County, Colorado    
## Geo_QNameBlock Group 4, Census Tract 608, Boulder County, Colorado    ***
## Geo_QNameBlock Group 5, Census Tract 121.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 5, Census Tract 128, Boulder County, Colorado    *  
## Geo_QNameBlock Group 5, Census Tract 133.02, Boulder County, Colorado    
## Geo_QNameBlock Group 5, Census Tract 134.02, Boulder County, Colorado ***
## Geo_QNameBlock Group 5, Census Tract 137.02, Boulder County, Colorado    
## Geo_QNameBlock Group 5, Census Tract 608, Boulder County, Colorado    ***
## Geo_QNameBlock Group 6, Census Tract 137.02, Boulder County, Colorado ** 
## Geo_QNameBlock Group 7, Census Tract 137.02, Boulder County, Colorado    
## BoulderHousingData.Buffer.LR                                             
## SC                                                                       
## FZ                                                                       
## WF                                                                    ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 293600 on 8304 degrees of freedom
##   (12 observations deleted due to missingness)
## Multiple R-squared:  0.7199, Adjusted R-squared:  0.7118 
## F-statistic: 89.29 on 239 and 8304 DF,  p-value: < 0.00000000000000022


## Using the regression from training, we test it on the TestBoulder dataset.
TestBoulder <-
  TestBoulder %>%
  mutate(Price.Predict = predict(regression_trainingboulder, TestBoulder),
         Price.Error = Price.Predict - price,
         Price.AbsError = abs(Price.Predict - price),
         Price.APE = (abs(Price.Predict - price)) / Price.Predict)

## CHALLENGE
#Predictions <- filter(TestBoulder, toPredict == 1)

#PredictionsExport <- subset(Predictions, select = c("MUSA_ID", "Price.Predict")) %>% st_drop_geometry()

#write.csv(PredictionsExport, "TheDevelopers.csv")

Evaluation Methods

In carrying out the design of our model, we use a variety of methods providing results that will assist us in determining our models power.

  • After the creation of our regression model, we gather the mean absolute error (MAE) and mean absolute percentage error (MAPE) for prices to determine accuracy.

  • Use the K-Fold cross validation method. This method determines the generalizability of our model by creating 100 fold sets and does 100 regressions leaving one part of the data out of the analysis each time.

  • We then use the Moran’s I tool to look at spatial autocorrelation, or the clustering effect on home prices. This allows us to see if any spatial features influenced the errors in our model.

Accuracy, K-Fold, and Cross Validation

As mentioned above, these are methods to evaluate our model. Our mean MAE (price absolute error) was 157,583 and our MAPE was 22%.

To determine our model’s generalizability even further, we use K-Folds. With our folds set to 100, we run a general regression, then test on these folds. There are definitely some price ranges with higher errors than others. Despite this, a majority of price ranges have below a count of 3 tests errors.

## Accuracy - Mean Absolute Error
MAE <- data.frame(mean(TestBoulder$Price.AbsError, na.rm = T))
MAPE <- data.frame(mean(TestBoulder$Price.APE, na.rm = T)) #MAPE

reg.MAE.MAPE <- 
  cbind(MAE, MAPE) %>%
  kable(caption = "Regression MAE & MAPE (Figure 5.1)") %>%
  kable_styling("striped",full_width = F) 

reg.MAE.MAPE
Regression MAE & MAPE (Figure 5.1)
mean.TestBoulder.Price.AbsError..na.rm…T. mean.TestBoulder.Price.APE..na.rm…T.
157583.2 0.2233854

TestBoulderFilter <-
  TestBoulder %>%
  filter(price < 10000000)


## K-Fold: Generalizability Cross-Validation
fitControl <- trainControl(method = "cv", number = 100)
set.seed(825)

reg.cv <- 
  train(price ~ ., data = st_drop_geometry(TrainingBoulder) %>% 
                                dplyr::select(price, bsmtSF, carStorageSF, TotalFinishedSF,
                                              nbrRoomsNobath, totalbaths, PerBDorHig, libraries_nn4,
                                              trailheads_nn5, ME_nn5,private_nn5, DESCRIPTION, bsmtType,
                                              carStorageType, qualityCodeDscr, Geo_QName,
                                              BoulderHousingData.Buffer.LR, SC, FZ, WF),
method = "lm", trControl = fitControl, na.action = na.pass)

reg.cv <- reg.cv

#This needs to be work-shopped. It stopped working and I don't know why. The code without an object assigned also outputs.

reg.cv$resample[1:5,]
##       RMSE  Rsquared      MAE Resample
## 1 293842.3 0.5805526 148811.3  Fold001
## 2 271232.7 0.6764844 158608.3  Fold002
## 3 415772.3 0.6722201 167755.7  Fold003
## 4 254140.4 0.6430009 155712.7  Fold004
## 5 163574.8 0.8810844 111274.0  Fold005
mean(reg.cv$resample[,3])
## [1] 154584.6
reg.cv$resample[7,]
##     RMSE  Rsquared      MAE Resample
## 7 457194 0.6409066 199433.6  Fold007
#leave this separate because of the as is results

stargazer(as.data.frame(reg.cv$resample), type="html", digits=1, title="Cross Validation Results (5.2)", out = "CV.txt") #all cv
Cross Validation Results (5.2)
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
RMSE 100 290,220.8 105,356.4 138,974.0 211,393.8 335,291.3 731,686.9
Rsquared 100 0.7 0.1 0.2 0.7 0.8 0.9
MAE 100 154,584.6 27,530.3 101,157.6 132,582.1 172,896.0 219,693.0

ggplot(reg.cv$resample, aes(x=MAE)) +
  geom_histogram(fill = "blue") +
  labs(title = "Cross Validation Tests in Mean Average Error", caption="Figure 5.3") +
  plotTheme()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Moran’s I

The Moran’s I test helps us understand if there is a spatial autocorrelation. A Moran’s I closer to 0 means that spatial factors do not influence our errors. Our Moran’s I is at .25, with a p-value of 0.001, showing that it is statistically significant. This means that spatial factors did influence our errors as it is relatively far from the cluster.

# Set up
inTrain1 <- createDataPartition(
              y = paste(Training_Boulder$DESCRIPTION, Training_Boulder$Geo_QName), 
              p = .75, list = FALSE)
TrainingBoulder1 <- Training_Boulder[inTrain1,] 
TestBoulder1 <- Training_Boulder[-inTrain1,]

regression_trainingboulder1 <- lm(price ~ ., data = st_drop_geometry(TrainingBoulder1) %>% 
                                 dplyr::select(price, bsmtSF, carStorageSF, TotalFinishedSF, nbrRoomsNobath, totalbaths, PerBDorHig, libraries_nn4, trailheads_nn5, ME_nn5,private_nn5, DESCRIPTION, bsmtType, carStorageType,qualityCodeDscr, Geo_QName, BoulderHousingData.Buffer.LR, SC, FZ, WF))

TestBoulder1 <-
  TestBoulder1 %>%
  mutate(Regression = "Baseline Regression",
         Price.Predict = predict(regression_trainingboulder1, TestBoulder1),
         Price.Error = Price.Predict - price,
         Price.AbsError = abs(Price.Predict - price),
         Price.APE = (abs(Price.Predict - price)) / Price.Predict)

# Spatial Lag
coords <- st_coordinates(Training_Boulder) 
neighborList <- knn2nb(knearneigh(coords, 5))
spatialWeights <- nb2listw(neighborList, style="W")
Training_Boulder$lagPrice <- lag.listw(spatialWeights, Training_Boulder$price)

# On Errors
coords.test <-  st_coordinates(TestBoulder1) 
neighborList.test <- knn2nb(knearneigh(coords.test, 5))
spatialWeights.test <- nb2listw(neighborList.test, style="W")

# On Test 
TestBoulder1 %>%
  mutate(lagPriceError = lag.listw(spatialWeights.test, Price.Error, NAOK = TRUE))
## Simple feature collection with 2708 features and 140 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: 2980586 ymin: 1211307 xmax: 3124860 ymax: 1337888
## Projected CRS: NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet
## First 10 features:
##      price            saleDate year year_quarter
## 8   537300 2019-06-13 20:00:00 2019       2019-2
## 27 1650000 2021-04-29 20:00:00 2021       2021-2
## 36  629500 2019-03-26 20:00:00 2019       2019-1
## 37  291500 2019-08-07 20:00:00 2019       2019-3
## 42  550000 2020-07-09 20:00:00 2020       2020-3
## 43  295000 2019-12-10 19:00:00 2019       2019-4
## 46   62000 2020-12-28 19:00:00 2020       2020-4
## 50  475000 2021-04-18 20:00:00 2021       2021-2
## 52  120000 2020-09-24 20:00:00 2020       2020-3
## 53  500000 2019-05-27 20:00:00 2019       2019-2
##                                       address bld_num section_num designCode
## 8                766 CABOT  DR  ERIE Colorado       1           1       0020
## 27            2427 20TH  ST  BOULDER Colorado       1           1       0020
## 36 7089 MAGNOLIA  DR  UNINCORPORATED Colorado       1           1       0020
## 37       255 JACKSON S ST  NEDERLAND Colorado       1           1       0010
## 42      1840 RED CLOUD  RD  LONGMONT Colorado       1           1       0020
## 43            38 5TH E AVE  LONGMONT Colorado       1           1       0010
## 46   145 WONDER  TRL  UNINCORPORATED Colorado       1           1       0010
## 50   1264 TROUT CREEK  CIR  LONGMONT Colorado       1           1       0020
## 52           186 3RD E ST  NEDERLAND Colorado       1           1       0010
## 53       1560 MACARTHUR  DR  BOULDER Colorado       1           1       0120
##            designCodeDscr qualityCode qualityCodeDscr bldgClass
## 8               2-3 Story          40           GOOD       1212
## 27              2-3 Story          40           GOOD       1212
## 36              2-3 Story          31      AVERAGE +       1212
## 37        1 Story - Ranch          10            LOW       1212
## 42              2-3 Story          50      VERY GOOD       1212
## 43        1 Story - Ranch          30        AVERAGE       1212
## 46        1 Story - Ranch          20           FAIR       1212
## 50              2-3 Story          30        AVERAGE       1212
## 52        1 Story - Ranch          40           GOOD       1212
## 53 MULTI STORY- TOWNHOUSE          40           GOOD       1212
##                  bldgClassDscr ConstCode ConstCodeDscr builtYear CompCode
## 8  SINGLE FAM RES IMPROVEMENTS       310         Frame      2018      1.0
## 27 SINGLE FAM RES IMPROVEMENTS       310         Frame      1946      1.0
## 36 SINGLE FAM RES IMPROVEMENTS       320       Masonry      1967      1.0
## 37 SINGLE FAM RES IMPROVEMENTS       310         Frame      1918      1.0
## 42 SINGLE FAM RES IMPROVEMENTS       320       Masonry      1993      1.0
## 43 SINGLE FAM RES IMPROVEMENTS       310         Frame      1957      1.0
## 46 SINGLE FAM RES IMPROVEMENTS       310         Frame      1931      1.0
## 50 SINGLE FAM RES IMPROVEMENTS       310         Frame      2001      1.0
## 52 SINGLE FAM RES IMPROVEMENTS         0                    2020      0.1
## 53 SINGLE FAM RES IMPROVEMENTS       310         Frame      1980      1.0
##    EffectiveYear bsmtSF bsmtType                          bsmtTypeDscr
## 8           2018   1152      BSU SUBTERRANEAN BASEMENT UNFINISHED AREA
## 27          1993    739      BSF   SUBTERRANEAN BASEMENT FINISHED AREA
## 36          1985      0        0                                     0
## 37          1970      0        0                                     0
## 42          1993   1163      BSF   SUBTERRANEAN BASEMENT FINISHED AREA
## 43          1975      0        0                                     0
## 46          1931      0        0                                     0
## 50          2001    778      BSU SUBTERRANEAN BASEMENT UNFINISHED AREA
## 52          2020      0        0                                     0
## 53          1996    552      BSF   SUBTERRANEAN BASEMENT FINISHED AREA
##    carStorageSF carStorageType   carStorageTypeDscr nbrBedRoom nbrRoomsNobath
## 8           480            GRA ATTACHED GARAGE AREA          5              9
## 27          720            GRD      DETACHED GARAGE          4              9
## 36          720            GRD      DETACHED GARAGE          4              9
## 37          256            GRD      DETACHED GARAGE          1              3
## 42          664            GRA ATTACHED GARAGE AREA          5              8
## 43          252            GRD      DETACHED GARAGE          2              4
## 46            0              0                    0          2              3
## 50          441            GRA ATTACHED GARAGE AREA          4              7
## 52            0              0                    0          2              4
## 53          190            GRA ATTACHED GARAGE AREA          4              8
##    mainfloorSF nbrThreeQtrBaths nbrFullBaths nbrHalfBaths TotalFinishedSF  Ac
## 8         1168                0            3            1            2698 210
## 27        1243                1            2            1            2458  NA
## 36        2204                0            3            0            3431  NA
## 37         528                1            0            0             528  NA
## 42        1316                0            4            0            2372  NA
## 43         948                0            2            0             948  NA
## 46         648                0            0            0             648  NA
## 50         794                0            2            1            1644  NA
## 52        1008                0            2            0            1008  NA
## 53         778                1            2            0            1396 210
##         AcDscr Heating HeatingDscr ExtWallPrim  ExtWallDscrPrim ExtWallSec
## 8  Whole House     810  Forced Air         140     Cement Board         NA
## 27                 810  Forced Air          10 Frame Wood/Shake         NA
## 36                 880    Electric          40     Brick Veneer         NA
## 37                  NA                      50    Painted Block        500
## 42                 810  Forced Air          40     Brick Veneer        500
## 43                 810  Forced Air          10 Frame Wood/Shake         NA
## 46                  NA                      10 Frame Wood/Shake         NA
## 50                 810  Forced Air          10 Frame Wood/Shake         NA
## 52                 810  Forced Air         140     Cement Board         NA
## 53 Whole House     810  Forced Air          10 Frame Wood/Shake         NA
##      ExtWallDscrSec IntWall    IntWallDscr Roof_Cover Roof_CoverDscr Stories
## 8                      1130        Drywall       1210        Asphalt      NA
## 27                     1130        Drywall       1210        Asphalt      NA
## 36                     1130        Drywall         NA                     NA
## 37 Frame Wood/Shake      NA                        NA                     NA
## 42 Frame Wood/Shake    1130        Drywall         NA                     NA
## 43                     1120        Plaster         NA                     NA
## 46                     1160 Hardwood Panel         NA                     NA
## 50                     1130        Drywall       1210        Asphalt      NA
## 52                     1130        Drywall       1210        Asphalt      NA
## 53                     1130        Drywall       1210        Asphalt      NA
##    UnitCount status_cd MUSA_ID toPredict pricesqft totalbaths
## 8         NA        A     7105         0 199.14752        3.5
## 27        NA        A      500         0 671.27746        3.5
## 36        NA        A     9954         0 183.47421        3.0
## 37        NA        A     4530         0 552.08333        1.0
## 42        NA        A     3253         0 231.87184        4.0
## 43        NA        A     5236         0 311.18143        2.0
## 46        NA        A     2154         0  95.67901        0.0
## 50        NA        A     7251         0 288.92944        2.5
## 52        NA        A    10928         0 119.04762        2.0
## 53        NA        A     3519         0 358.16619        3.0
##    BoulderHousingData.Buffer.OpenSpace BoulderHousingData.Buffer.LR
## 8                                    1                            1
## 27                                   0                            0
## 36                                   0                            0
## 37                                   1                            1
## 42                                   0                            0
## 43                                   1                            1
## 46                                   0                            0
## 50                                   0                            0
## 52                                   1                            1
## 53                                   1                            1
##    libraries_nn1 libraries_nn2 libraries_nn3 libraries_nn4 libraries_nn5
## 8     12835.6865     18919.186     28430.035     33736.271     37850.920
## 27     3208.7029      3564.438      3963.335      4407.708      4770.797
## 36    21680.2238     32538.543     36542.844     38818.896     40372.266
## 37      728.6591     20907.994     36216.561     44032.757     48874.618
## 42     9893.7064     16168.437     28193.298     38573.690     46604.926
## 43     2476.1156      8754.142     23928.682     33155.530     40499.790
## 46    33938.8188     36633.097     39633.813     41192.402     42171.765
## 50    10257.5906     16623.592     30604.081     39538.197     46832.881
## 52     1319.9164     20514.676     35402.995     42957.277     47636.897
## 53     5705.1322      6801.458      7193.331      7452.252      7617.396
##    trailheads_nn1 trailheads_nn2 trailheads_nn3 trailheads_nn4 trailheads_nn5
## 8        5209.134       5710.512       7038.788       7724.404       8137.402
## 27       5749.063       5991.136       6183.391       6304.094       6452.468
## 36      15489.450      15648.473      16072.947      16981.915      17770.833
## 37       3155.534       3498.904       4240.428       4821.674       5326.859
## 42       1537.405       3220.773       6608.366       8400.388       9482.300
## 43       4073.962       4505.087       4652.722       4835.313       5011.696
## 46      19158.196      19697.324      21032.062      22841.852      24013.573
## 50       5371.791       6636.080       7721.873       8815.551       9517.150
## 52       1109.544       2858.035       3478.697       3909.476       4312.647
## 53       5274.566       5331.884       5593.396       5794.011       6172.221
##       ME_nn1    ME_nn2    ME_nn3   ME_nn4   ME_nn5 public_nn1 public_nn2
## 8  14784.284 14784.284 19122.623 21291.79 22593.30   5500.436   6785.707
## 27 14102.342 15943.994 17529.812 18322.72 18798.47   1005.931   1667.766
## 36 59382.927 59382.927 59382.927 60194.04 60680.72  23492.574  24980.051
## 37 78432.226 78432.226 78432.226 79005.65 79349.70   3931.674   4175.643
## 42  5783.388  5783.388  8608.799 10021.50 17096.79   1461.376   2638.666
## 43  8865.111  8865.111 10473.515 11277.72 18444.80   1732.799   2901.153
## 46 61843.383 61940.344 63041.910 63592.69 63923.16  37012.626  37164.301
## 50 12414.408 12414.408 13744.512 14409.56 21849.51   1762.469   2343.693
## 52 76400.597 76400.597 76400.597 76970.75 77312.84   3728.223   5080.546
## 53  6847.955  7393.000  9706.949 10863.92 11643.94   2550.105   3330.496
##    public_nn3 public_nn4 public_nn5 private_nn1 private_nn2 private_nn3
## 8    7572.900   8355.150   8851.459    6068.828    7360.580    8268.027
## 27   2025.100   2463.549   2844.047    1179.853    1247.797    1529.086
## 36  28403.926  32284.613  34911.170   44072.935   45475.437   46083.007
## 37  18421.824  30288.596  37515.800   66064.139   67400.153   67911.986
## 42   3108.155   3770.083   4495.761    3531.906    3989.427    4202.778
## 43   3597.828   4024.095   4470.192    2334.550    2587.327    3092.769
## 46  38805.958  39829.237  40547.167   42771.482   42891.297   43055.035
## 50   2665.051   3202.734   3666.947    2436.472    4821.392    5859.780
## 52  18358.253  29781.431  36719.050   64231.878   65554.962   66052.041
## 53   3605.892   4607.002   5265.335    4219.129    5230.065    5653.876
##    private_nn4 private_nn5 STATEFP COUNTYFP TRACTCE BLKGRPCE        GEOID
## 8     9027.398    9567.463      08      013  012800        3 080130128003
## 27    1679.279    1771.964      08      013  012102        2 080130121022
## 36   46457.420   46682.068      08      013  013702        3 080130137023
## 37   68199.762   68379.945      08      013  013702        5 080130137025
## 42    4540.670    4750.951      08      013  013506        1 080130135061
## 43    3611.908    4167.744      08      013  013401        1 080130134011
## 46   43569.568   44062.511      08      013  013702        4 080130137024
## 50    6631.219    7341.907      08      013  013508        1 080130135081
## 52   66323.197   66498.059      08      013  013702        6 080130137026
## 53    6026.887    6290.644      08      013  012603        1 080130126031
##         NAMELSAD MTFCC FUNCSTAT    ALAND  AWATER    INTPTLAT     INTPTLON
## 8  Block Group 3 G5030        S  9463375  365940 +40.0244782 -105.0807021
## 27 Block Group 2 G5030        S   584891       0 +40.0270355 -105.2683915
## 36 Block Group 3 G5030        S 55840549 1148813 +39.9755267 -105.3843138
## 37 Block Group 5 G5030        S  3950139  424582 +39.9565336 -105.5023086
## 42 Block Group 1 G5030        S  2596084       0 +40.1959282 -105.0836047
## 43 Block Group 1 G5030        S   499631    2144 +40.1682004 -105.0906374
## 46 Block Group 4 G5030        S 20086342  540456 +39.9300603 -105.3544102
## 50 Block Group 1 G5030        S  1082853       0 +40.1775130 -105.0658373
## 52 Block Group 6 G5030        S  6218626  451590 +39.9695607 -105.5113127
## 53 Block Group 1 G5030        S  1111229       0 +40.0108292 -105.2325947
##         GEOID2    Geo_FIPS      Geo_NAME
## 8  80130128003 80130128003 Block Group 3
## 27 80130121022 80130121022 Block Group 2
## 36 80130137023 80130137023 Block Group 3
## 37 80130137025 80130137025 Block Group 5
## 42 80130135061 80130135061 Block Group 1
## 43 80130134011 80130134011 Block Group 1
## 46 80130137024 80130137024 Block Group 4
## 50 80130135081 80130135081 Block Group 1
## 52 80130137026 80130137026 Block Group 6
## 53 80130126031 80130126031 Block Group 1
##                                                       Geo_QName Geo_STUSAB
## 8     Block Group 3, Census Tract 128, Boulder County, Colorado         co
## 27 Block Group 2, Census Tract 121.02, Boulder County, Colorado         co
## 36 Block Group 3, Census Tract 137.02, Boulder County, Colorado         co
## 37 Block Group 5, Census Tract 137.02, Boulder County, Colorado         co
## 42 Block Group 1, Census Tract 135.06, Boulder County, Colorado         co
## 43 Block Group 1, Census Tract 134.01, Boulder County, Colorado         co
## 46 Block Group 4, Census Tract 137.02, Boulder County, Colorado         co
## 50 Block Group 1, Census Tract 135.08, Boulder County, Colorado         co
## 52 Block Group 6, Census Tract 137.02, Boulder County, Colorado         co
## 53 Block Group 1, Census Tract 126.03, Boulder County, Colorado         co
##    TotalPop WhitePop PerWhitePo PerNonWhit PerBDorHig MedHHInc Shape_Leng
## 8      5388     4858   90.16333   9.836674   70.48819   122009   42520.23
## 27     1777     1658   93.30332   6.696680   80.43642   108629   10479.72
## 36      854      784   91.80328   8.196721   60.69277   105625  167832.83
## 37      731      700   95.75923   4.240766   52.13178    81103   53413.50
## 42     4561     4177   91.58079   8.419206   46.30811    98722   21172.21
## 43      844      627   74.28910  25.710900   25.56732    36083   10677.52
## 46      654      624   95.41284   4.587156   47.70206   109875   87277.91
## 50     3084     2754   89.29961  10.700389   51.73704    87826   16363.61
## 52      857      811   94.63244   5.367561   56.61765    48438   53929.14
## 53     2338     2064   88.28058  11.719418   83.52239   123750   14027.47
##    Shape_Area           BG OBJECTID.x BOCO_GEOHAZ_AREA PERIMETER GHCA_ GHCA_ID
## 8   105793896 080130128003          6      11095695145 2249563.8    16       3
## 27    6295269 080130121022          6      11095695145 2249563.8    16       3
## 36  613388172 080130137023          6      11095695145 2249563.8    16       3
## 37   47086092 080130137025          6      11095695145 2249563.8    16       3
## 42   27941502 080130135061          7       1997034619  938959.3     6       3
## 43    5400600 080130134011          7       1997034619  938959.3     6       3
## 46  222012144 080130137024        432        281451546  108563.9   279       3
## 50   11654689 080130135081          7       1997034619  938959.3     6       3
## 52   71792740 080130137026          6      11095695145 2249563.8    16       3
## 53   11960300 080130126031          6      11095695145 2249563.8    16       3
##    SHADE_         DESCRIPTION SHAPEarea.x SHAPElen.x OBJECTID_1 OBJECTID.y
## 8       3 Moderate Constraint 11095695147  2249563.8         NA         NA
## 27      3 Moderate Constraint 11095695147  2249563.8         NA         NA
## 36      3 Moderate Constraint 11095695147  2249563.8         NA         NA
## 37      3 Moderate Constraint 11095695147  2249563.8         NA         NA
## 42      3 Moderate Constraint  1997034617   938959.3         NA         NA
## 43      3 Moderate Constraint  1997034617   938959.3         NA         NA
## 46      3 Moderate Constraint   281451544   108563.9         NA         NA
## 50      3 Moderate Constraint  1997034617   938959.3         NA         NA
## 52      3 Moderate Constraint 11095695147  2249563.8         NA         NA
## 53      3 Moderate Constraint 11095695147  2249563.8         NA         NA
##    PARCEL_NO PARCEL_NUM SHAPEarea.y SHAPElen.y SC OBJECTID.x.1 StreamName
## 8       <NA>         NA          NA         NA  0           NA       <NA>
## 27      <NA>         NA          NA         NA  0           NA       <NA>
## 36      <NA>         NA          NA         NA  0           NA       <NA>
## 37      <NA>         NA          NA         NA  0           NA       <NA>
## 42      <NA>         NA          NA         NA  0           NA       <NA>
## 43      <NA>         NA          NA         NA  0           NA       <NA>
## 46      <NA>         NA          NA         NA  0           NA       <NA>
## 50      <NA>         NA          NA         NA  0           NA       <NA>
## 52      <NA>         NA          NA         NA  0           NA       <NA>
## 53      <NA>         NA          NA         NA  0           NA       <NA>
##    UpdatedBy UpdatedDate Shapearea.x Shapelen.x FZ OBJECTID.y.1 NAME STARTDATE
## 8       <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 27      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 36      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 37      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 42      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 43      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 46      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 50      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 52      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
## 53      <NA>        <NA>          NA         NA  0           NA <NA>      <NA>
##    ENDDATE LABELNAME Shapearea.y Shapelen.y WF                geometry
## 8     <NA>      <NA>          NA         NA  0 POINT (3123037 1250318)
## 27    <NA>      <NA>          NA         NA  0 POINT (3063965 1251838)
## 36    <NA>      <NA>          NA         NA  0 POINT (3018759 1230996)
## 37    <NA>      <NA>          NA         NA  0 POINT (2996660 1228028)
## 42    <NA>      <NA>          NA         NA  0 POINT (3114804 1312874)
## 43    <NA>      <NA>          NA         NA  0 POINT (3114201 1304010)
## 46    <NA>      <NA>          NA         NA  0 POINT (3028730 1215870)
## 50    <NA>      <NA>          NA         NA  0 POINT (3120380 1309055)
## 52    <NA>      <NA>          NA         NA  0 POINT (2998193 1229386)
## 53    <NA>      <NA>          NA         NA  0 POINT (3073526 1248065)
##             Regression Price.Predict Price.Error Price.AbsError  Price.APE
## 8  Baseline Regression      545391.7    8091.674       8091.674 0.01483645
## 27 Baseline Regression     1469740.1 -180259.901     180259.901 0.12264747
## 36 Baseline Regression      864214.8  234714.846     234714.846 0.27159317
## 37 Baseline Regression      189101.7 -102398.310     102398.310 0.54149865
## 42 Baseline Regression      806898.2  256898.192     256898.192 0.31837745
## 43 Baseline Regression      347800.0   52799.976      52799.976 0.15181133
## 46 Baseline Regression      209593.4  147593.368     147593.368 0.70418911
## 50 Baseline Regression      393295.7  -81704.305      81704.305 0.20774269
## 52 Baseline Regression      378960.4  258960.422     258960.422 0.68334424
## 53 Baseline Regression      768171.0  268171.004     268171.004 0.34910326
##    lagPriceError
## 8      26098.782
## 27   -254904.408
## 36    181596.382
## 37     61144.353
## 42     56733.050
## 43    -17553.974
## 46    -72559.309
## 50    -22911.184
## 52      4183.842
## 53    103692.723

TestBoulder2 <- 
  TestBoulder1 %>%
  mutate(lagPriceError = lag.listw(spatialWeights.test, Price.Error, NAOK = TRUE))

TestBoulder2 <-
  TestBoulder2 %>%
  mutate(Regression = "Regression")

TestBoulder2Filter <- TestBoulder2 %>% filter(Price.Error >0,lagPriceError >0)

ggplot(data = TestBoulder2Filter, aes(lagPriceError, Price.Error)) +
  geom_point(size = .85,colour = "black") + 
  geom_smooth(method = "lm",colour = "red",size = 1.2) +
  labs(title="Price Errors",
       caption = "Figure 6.1")
## `geom_smooth()` using formula 'y ~ x'


# Moran's I
moranTest <- moran.mc(na.omit(TestBoulder2$Price.Error),
                      spatialWeights.test, nsim = 999)  

TestBoulder2 %>%
  dplyr::select(Price.Predict, price, Regression) %>%
    ggplot(aes(price, Price.Predict)) +
  geom_point() +
  stat_smooth(aes(price, price), 
             method = "lm", se = FALSE, size = 1, colour="#FA7800") + 
  stat_smooth(aes(Price.Predict, price), 
              method = "lm", se = FALSE, size = 1, colour="#25CB10") +
  facet_wrap(~Regression) +
  labs(title="Predicted Sale price as a Function of Observed Price",
       subtitle="Orange line represents a perfect prediction; Green line represents prediction",
       caption = "Figure 6.2") +
  plotTheme()
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'



ggplot(as.data.frame(moranTest$res[c(1:999)]), aes(moranTest$res[c(1:999)])) +
  geom_histogram(binwidth = 0.01) +
  geom_vline(aes(xintercept = moranTest$statistic), colour = "#FA7800",size=1) +
  scale_x_continuous(limits = c(-1, 1)) +
  labs(title="Observed and permuted Moran's I",
       subtitle= "Observed Moran's I in orange",
       caption = "Figure 6.3",
       x="Moran's I",
       y="Count") +
  plotTheme()


ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = TestBoulder2, aes(colour = q5(Price.AbsError)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(TestBoulder2,"Price.AbsError"),
                   name="Quintile\nBreaks") +
  labs(title="Map of Price Absolute Errors, Boulder CO, 2019-2021", 
      caption="Figure 6.4") +
  mapTheme()

Neighborhood

We wanted to include a spatial variable to represent a neighborhood to understand neighborhood character and in this case. In our model, we use Census Block Groups as it was the data that was readily available and accessible at the time. Block Groups turned out to be a significant variable in the model–explaining about 10% more variance than a model without it.

TestBoulder2 %>%
  st_drop_geometry() %>%
    group_by(Geo_QName) %>%
    summarize(meanPrice = mean(price, na.rm = T), 
            meanPrediction = mean(Price.Predict)) %>%
      kable(caption = "Price and Prediction by block group (Figure 7.1)") %>% kable_styling("striped", full_width = F) %>% scroll_box(width = "800px", height = "500px")
Price and Prediction by block group (Figure 7.1)
Geo_QName meanPrice meanPrediction
Block Group 1, Census Tract 121.01, Boulder County, Colorado 2389125.0 2164075.4
Block Group 1, Census Tract 121.02, Boulder County, Colorado 601333.3 683019.4
Block Group 1, Census Tract 121.03, Boulder County, Colorado 1293544.4 1527067.0
Block Group 1, Census Tract 121.04, Boulder County, Colorado 1116084.6 1550603.0
Block Group 1, Census Tract 121.05, Boulder County, Colorado 906666.7 911153.5
Block Group 1, Census Tract 122.01, Boulder County, Colorado 1350000.0 1307598.2
Block Group 1, Census Tract 122.02, Boulder County, Colorado 1079000.0 1019445.9
Block Group 1, Census Tract 122.03, Boulder County, Colorado 413100.0 2519463.0
Block Group 1, Census Tract 125.01, Boulder County, Colorado 787650.0 722783.4
Block Group 1, Census Tract 125.05, Boulder County, Colorado 1295300.0 1138758.9
Block Group 1, Census Tract 125.07, Boulder County, Colorado 706145.5 714662.1
Block Group 1, Census Tract 125.08, Boulder County, Colorado 749128.6 809383.1
Block Group 1, Census Tract 125.09, Boulder County, Colorado 944300.0 956569.6
Block Group 1, Census Tract 125.10, Boulder County, Colorado 2092400.0 1710844.4
Block Group 1, Census Tract 125.11, Boulder County, Colorado 937500.0 805518.3
Block Group 1, Census Tract 126.03, Boulder County, Colorado 875058.8 886356.7
Block Group 1, Census Tract 126.08, Boulder County, Colorado 621359.1 647569.8
Block Group 1, Census Tract 127.01, Boulder County, Colorado 1243500.0 981636.0
Block Group 1, Census Tract 127.05, Boulder County, Colorado 250200.0 612212.6
Block Group 1, Census Tract 127.07, Boulder County, Colorado 1085000.0 971106.4
Block Group 1, Census Tract 127.08, Boulder County, Colorado 613150.0 601196.1
Block Group 1, Census Tract 127.09, Boulder County, Colorado 671653.3 610436.2
Block Group 1, Census Tract 127.10, Boulder County, Colorado 1186666.7 1483825.9
Block Group 1, Census Tract 128, Boulder County, Colorado 982084.6 1001276.6
Block Group 1, Census Tract 129.03, Boulder County, Colorado 765670.8 811307.8
Block Group 1, Census Tract 129.04, Boulder County, Colorado 433354.2 432953.6
Block Group 1, Census Tract 129.05, Boulder County, Colorado 568580.0 544493.7
Block Group 1, Census Tract 129.07, Boulder County, Colorado 614810.5 524370.6
Block Group 1, Census Tract 130.03, Boulder County, Colorado 1146341.2 1102489.6
Block Group 1, Census Tract 130.04, Boulder County, Colorado 726687.5 672708.5
Block Group 1, Census Tract 130.05, Boulder County, Colorado 730106.7 731108.6
Block Group 1, Census Tract 130.06, Boulder County, Colorado 918547.5 811868.1
Block Group 1, Census Tract 132.01, Boulder County, Colorado 961166.7 973750.5
Block Group 1, Census Tract 132.02, Boulder County, Colorado 648750.0 986849.1
Block Group 1, Census Tract 132.05, Boulder County, Colorado 763100.0 738609.6
Block Group 1, Census Tract 132.07, Boulder County, Colorado 528705.9 591937.4
Block Group 1, Census Tract 132.08, Boulder County, Colorado 427950.0 392853.9
Block Group 1, Census Tract 132.10, Boulder County, Colorado 402381.8 405950.9
Block Group 1, Census Tract 132.11, Boulder County, Colorado 736221.1 761648.7
Block Group 1, Census Tract 132.12, Boulder County, Colorado 506818.2 504054.3
Block Group 1, Census Tract 132.13, Boulder County, Colorado 765988.6 841231.4
Block Group 1, Census Tract 133.02, Boulder County, Colorado 543250.0 497030.7
Block Group 1, Census Tract 133.05, Boulder County, Colorado 393061.5 355577.0
Block Group 1, Census Tract 133.06, Boulder County, Colorado 373833.3 368371.0
Block Group 1, Census Tract 133.07, Boulder County, Colorado 411426.7 436146.2
Block Group 1, Census Tract 133.08, Boulder County, Colorado 438100.0 418250.0
Block Group 1, Census Tract 134.01, Boulder County, Colorado 320355.6 313332.0
Block Group 1, Census Tract 134.02, Boulder County, Colorado 368400.0 333903.3
Block Group 1, Census Tract 135.03, Boulder County, Colorado 364357.1 358429.7
Block Group 1, Census Tract 135.05, Boulder County, Colorado 363083.3 352377.5
Block Group 1, Census Tract 135.06, Boulder County, Colorado 491439.3 484441.0
Block Group 1, Census Tract 135.07, Boulder County, Colorado 382876.9 386359.7
Block Group 1, Census Tract 135.08, Boulder County, Colorado 399092.1 393339.4
Block Group 1, Census Tract 136.01, Boulder County, Colorado 1372000.0 1459406.0
Block Group 1, Census Tract 136.02, Boulder County, Colorado 496552.9 481414.7
Block Group 1, Census Tract 137.01, Boulder County, Colorado 1051682.4 1095920.3
Block Group 1, Census Tract 137.02, Boulder County, Colorado 763520.0 809830.3
Block Group 1, Census Tract 606, Boulder County, Colorado 681582.4 759233.0
Block Group 1, Census Tract 607, Boulder County, Colorado 899750.0 881148.6
Block Group 1, Census Tract 608, Boulder County, Colorado 703300.0 656402.7
Block Group 1, Census Tract 609, Boulder County, Colorado 528284.2 536233.4
Block Group 1, Census Tract 613, Boulder County, Colorado 775823.1 762424.4
Block Group 1, Census Tract 614, Boulder County, Colorado 705667.3 698984.4
Block Group 2, Census Tract 121.01, Boulder County, Colorado 1441925.0 1862959.1
Block Group 2, Census Tract 121.02, Boulder County, Colorado 1348066.7 1318241.3
Block Group 2, Census Tract 121.03, Boulder County, Colorado 1436428.6 1693584.7
Block Group 2, Census Tract 121.04, Boulder County, Colorado 1499891.7 1392144.4
Block Group 2, Census Tract 121.05, Boulder County, Colorado 1920000.0 1990117.2
Block Group 2, Census Tract 122.01, Boulder County, Colorado 1424250.0 1668961.9
Block Group 2, Census Tract 122.02, Boulder County, Colorado 1258700.0 1396630.8
Block Group 2, Census Tract 122.03, Boulder County, Colorado 568428.6 630643.3
Block Group 2, Census Tract 122.04, Boulder County, Colorado 1136950.0 1155566.4
Block Group 2, Census Tract 124.01, Boulder County, Colorado 1471666.7 1075962.1
Block Group 2, Census Tract 125.01, Boulder County, Colorado 915733.3 924805.1
Block Group 2, Census Tract 125.05, Boulder County, Colorado 1488322.7 1400905.8
Block Group 2, Census Tract 125.07, Boulder County, Colorado 660300.0 650275.0
Block Group 2, Census Tract 125.08, Boulder County, Colorado 592500.0 560553.1
Block Group 2, Census Tract 125.09, Boulder County, Colorado 954666.7 926391.7
Block Group 2, Census Tract 125.10, Boulder County, Colorado 1220357.1 1086285.0
Block Group 2, Census Tract 125.11, Boulder County, Colorado 1038055.6 924327.1
Block Group 2, Census Tract 126.03, Boulder County, Colorado 957600.0 1057800.1
Block Group 2, Census Tract 126.05, Boulder County, Colorado 820000.0 673289.6
Block Group 2, Census Tract 127.01, Boulder County, Colorado 1204190.9 1167575.0
Block Group 2, Census Tract 127.05, Boulder County, Colorado 770540.0 853336.5
Block Group 2, Census Tract 127.07, Boulder County, Colorado 1132900.0 1447574.8
Block Group 2, Census Tract 127.08, Boulder County, Colorado 833812.5 920442.8
Block Group 2, Census Tract 127.10, Boulder County, Colorado 1208266.7 1179795.0
Block Group 2, Census Tract 128, Boulder County, Colorado 426397.3 425863.0
Block Group 2, Census Tract 129.04, Boulder County, Colorado 702867.2 718400.3
Block Group 2, Census Tract 129.05, Boulder County, Colorado 477500.0 443368.8
Block Group 2, Census Tract 129.07, Boulder County, Colorado 488061.5 569327.3
Block Group 2, Census Tract 130.03, Boulder County, Colorado 1269125.0 1080477.1
Block Group 2, Census Tract 130.04, Boulder County, Colorado 859033.3 840206.5
Block Group 2, Census Tract 130.05, Boulder County, Colorado 715464.3 762535.7
Block Group 2, Census Tract 130.06, Boulder County, Colorado 582091.7 622822.7
Block Group 2, Census Tract 132.02, Boulder County, Colorado 1222633.3 1457040.2
Block Group 2, Census Tract 132.05, Boulder County, Colorado 1565824.1 1341986.9
Block Group 2, Census Tract 132.08, Boulder County, Colorado 456725.0 463212.5
Block Group 2, Census Tract 132.10, Boulder County, Colorado 367428.0 381637.4
Block Group 2, Census Tract 132.11, Boulder County, Colorado 530134.3 526534.3
Block Group 2, Census Tract 132.12, Boulder County, Colorado 580376.5 519744.5
Block Group 2, Census Tract 132.13, Boulder County, Colorado 497985.7 513814.8
Block Group 2, Census Tract 133.02, Boulder County, Colorado 631000.0 724230.4
Block Group 2, Census Tract 133.05, Boulder County, Colorado 392820.0 399602.4
Block Group 2, Census Tract 133.06, Boulder County, Colorado 385500.0 397771.8
Block Group 2, Census Tract 133.07, Boulder County, Colorado 451857.1 381838.4
Block Group 2, Census Tract 133.08, Boulder County, Colorado 396500.0 431171.5
Block Group 2, Census Tract 134.01, Boulder County, Colorado 366733.3 463184.4
Block Group 2, Census Tract 134.02, Boulder County, Colorado 348425.0 411821.0
Block Group 2, Census Tract 135.03, Boulder County, Colorado 338658.3 344066.5
Block Group 2, Census Tract 135.05, Boulder County, Colorado 379500.0 448056.5
Block Group 2, Census Tract 135.07, Boulder County, Colorado 434900.0 460836.9
Block Group 2, Census Tract 135.08, Boulder County, Colorado 605805.8 629021.7
Block Group 2, Census Tract 136.01, Boulder County, Colorado 664550.0 NA
Block Group 2, Census Tract 136.02, Boulder County, Colorado 366380.0 456687.7
Block Group 2, Census Tract 137.01, Boulder County, Colorado 1230500.0 1172401.6
Block Group 2, Census Tract 137.02, Boulder County, Colorado 664000.0 748005.2
Block Group 2, Census Tract 606, Boulder County, Colorado 640983.3 691064.7
Block Group 2, Census Tract 607, Boulder County, Colorado 731425.0 713303.6
Block Group 2, Census Tract 608, Boulder County, Colorado 534000.0 487155.4
Block Group 2, Census Tract 609, Boulder County, Colorado 701224.1 728548.8
Block Group 2, Census Tract 613, Boulder County, Colorado 771340.0 870244.0
Block Group 3, Census Tract 121.01, Boulder County, Colorado 2071241.7 2145388.8
Block Group 3, Census Tract 121.02, Boulder County, Colorado 1892375.0 1832295.4
Block Group 3, Census Tract 121.03, Boulder County, Colorado 800944.4 884466.6
Block Group 3, Census Tract 121.05, Boulder County, Colorado 1150152.3 1175756.8
Block Group 3, Census Tract 122.01, Boulder County, Colorado 1944818.2 2081240.6
Block Group 3, Census Tract 122.02, Boulder County, Colorado 786333.3 817046.9
Block Group 3, Census Tract 122.03, Boulder County, Colorado 424000.0 451900.8
Block Group 3, Census Tract 122.04, Boulder County, Colorado 5825000.0 3800850.6
Block Group 3, Census Tract 124.01, Boulder County, Colorado 1687142.9 1564080.7
Block Group 3, Census Tract 125.05, Boulder County, Colorado 1371420.0 1505686.6
Block Group 3, Census Tract 125.07, Boulder County, Colorado 726800.0 758357.8
Block Group 3, Census Tract 125.08, Boulder County, Colorado 704900.0 741116.6
Block Group 3, Census Tract 125.09, Boulder County, Colorado 1145000.0 983580.5
Block Group 3, Census Tract 125.10, Boulder County, Colorado 1115083.3 1030700.8
Block Group 3, Census Tract 127.01, Boulder County, Colorado 1116022.2 1084511.3
Block Group 3, Census Tract 127.05, Boulder County, Colorado 909500.0 779161.5
Block Group 3, Census Tract 127.08, Boulder County, Colorado 972669.0 900931.4
Block Group 3, Census Tract 127.10, Boulder County, Colorado 1292071.4 1207359.0
Block Group 3, Census Tract 128, Boulder County, Colorado 656521.7 653237.1
Block Group 3, Census Tract 130.03, Boulder County, Colorado 1014333.3 1146645.3
Block Group 3, Census Tract 130.06, Boulder County, Colorado 710884.2 724397.3
Block Group 3, Census Tract 132.05, Boulder County, Colorado 571333.3 678463.0
Block Group 3, Census Tract 132.07, Boulder County, Colorado 510550.0 527344.8
Block Group 3, Census Tract 132.08, Boulder County, Colorado 560212.5 575086.2
Block Group 3, Census Tract 132.10, Boulder County, Colorado 436500.0 416831.7
Block Group 3, Census Tract 132.11, Boulder County, Colorado 315000.0 315859.0
Block Group 3, Census Tract 132.12, Boulder County, Colorado 434297.1 448466.1
Block Group 3, Census Tract 132.13, Boulder County, Colorado 689440.7 679468.8
Block Group 3, Census Tract 133.02, Boulder County, Colorado 456700.0 406114.6
Block Group 3, Census Tract 133.05, Boulder County, Colorado 404641.7 411498.5
Block Group 3, Census Tract 133.08, Boulder County, Colorado 411740.0 394653.1
Block Group 3, Census Tract 134.01, Boulder County, Colorado 486920.0 401609.6
Block Group 3, Census Tract 134.02, Boulder County, Colorado 546607.1 547700.6
Block Group 3, Census Tract 135.03, Boulder County, Colorado 349000.0 440487.7
Block Group 3, Census Tract 135.05, Boulder County, Colorado 363883.3 325786.3
Block Group 3, Census Tract 135.08, Boulder County, Colorado 493902.6 513398.2
Block Group 3, Census Tract 136.01, Boulder County, Colorado 496714.3 NA
Block Group 3, Census Tract 137.01, Boulder County, Colorado 1402850.0 1373442.4
Block Group 3, Census Tract 137.02, Boulder County, Colorado 654000.0 708734.8
Block Group 3, Census Tract 607, Boulder County, Colorado 877375.0 948454.6
Block Group 3, Census Tract 608, Boulder County, Colorado 521313.3 511094.1
Block Group 4, Census Tract 121.01, Boulder County, Colorado 2085633.3 2273934.1
Block Group 4, Census Tract 121.02, Boulder County, Colorado 1092000.0 1359513.4
Block Group 4, Census Tract 121.05, Boulder County, Colorado 1663530.0 1405834.6
Block Group 4, Census Tract 122.02, Boulder County, Colorado 700000.0 1106779.7
Block Group 4, Census Tract 122.03, Boulder County, Colorado 527000.0 555253.7
Block Group 4, Census Tract 124.01, Boulder County, Colorado 1489000.0 1475819.1
Block Group 4, Census Tract 125.10, Boulder County, Colorado 739750.0 1109664.8
Block Group 4, Census Tract 126.07, Boulder County, Colorado 656250.0 659369.3
Block Group 4, Census Tract 127.01, Boulder County, Colorado 1268937.5 1120280.8
Block Group 4, Census Tract 127.08, Boulder County, Colorado 655025.0 713608.4
Block Group 4, Census Tract 128, Boulder County, Colorado 732087.5 738023.8
Block Group 4, Census Tract 130.03, Boulder County, Colorado 699476.2 684071.2
Block Group 4, Census Tract 133.02, Boulder County, Colorado 574992.3 551420.2
Block Group 4, Census Tract 134.02, Boulder County, Colorado 499375.0 503821.1
Block Group 4, Census Tract 135.03, Boulder County, Colorado 350050.0 365712.8
Block Group 4, Census Tract 137.01, Boulder County, Colorado 513857.1 504365.9
Block Group 4, Census Tract 137.02, Boulder County, Colorado 450771.4 441266.7
Block Group 4, Census Tract 608, Boulder County, Colorado 615200.0 481446.5
Block Group 5, Census Tract 121.02, Boulder County, Colorado 823891.7 1111699.8
Block Group 5, Census Tract 128, Boulder County, Colorado 845114.3 842526.6
Block Group 5, Census Tract 133.02, Boulder County, Colorado 484205.0 493059.3
Block Group 5, Census Tract 134.02, Boulder County, Colorado 358914.3 500870.9
Block Group 5, Census Tract 137.02, Boulder County, Colorado 480392.9 506404.4
Block Group 5, Census Tract 608, Boulder County, Colorado 333200.0 305617.5
Block Group 6, Census Tract 137.02, Boulder County, Colorado 594300.0 525309.5
Block Group 7, Census Tract 137.02, Boulder County, Colorado 445000.0 495851.5

# Predicted Map - Test Set 
ggplot() +
  geom_sf(data = Boulder.Boundary, fill = "grey89", color = "grey89") +
  geom_sf(data = TestBoulder2, aes(colour = q5(Price.Predict)), 
          show.legend = "point", size = .75) +
  scale_colour_manual(values = palette5,
                   labels=qBr(TestBoulder2,"Price.Predict"),
                   name="Quintile\nBreaks") +
  labs(title="Predicted Sale Price, Boulder CO, 2019-2021", 
      caption="Figure 7.2") +
  mapTheme()



st_drop_geometry(TestBoulder2) %>%
  group_by(Geo_QName) %>%
  summarize(MAPE = mean(Price.APE, na.rm = T)) %>%
  ungroup() %>% 
  left_join(BoulderCensusData) %>%
    st_sf() %>%
    ggplot() + 
   geom_sf(aes(fill = MAPE)) +
      scale_fill_gradient(low = palette5[5], high = palette5[1],
                          name = "MAPE") +
  geom_sf(data = TestBoulder2, colour = "black", show.legend = "point", size = .5) +
      labs(title = "Mean test set MAPE by Block Groups",
           caption = "Figure 7.3") +
      mapTheme()
## Joining, by = "Geo_QName"


TestBoulder2 <-
  TestBoulder2 %>%
  group_by(Geo_QName) %>%
  mutate(MeanPrice = mean(price))

TestBoulder2 <-
  TestBoulder2 %>%
  group_by(Geo_QName) %>%
  mutate(MAPE = mean(Price.APE)) 

#This now seems correct versus the old version - woo! 

ggplot(TestBoulder2) +
  geom_point(aes(MeanPrice, MAPE)) +
  geom_smooth(method = "lm", aes(MeanPrice, MAPE), se = FALSE, colour = "green") +
  labs(title = "MAPE by Block Group as a function of mean price by Block Group",
       x = "Mean Home Price", y = "MAPE",
       caption = "Figure 7.5") +
  plotTheme()
## `geom_smooth()` using formula 'y ~ x'


# can talk about these two being the outliers 

Tidycensus Context

Further, to evaluate our model, we wanted to explore predicted prices and errors across demographic contexts. In this case, we chose the context of race and income. This last set of analysis tells us that errors across these demographic breaks are consistent, and therefore, across these contexts, our model is pretty generalizable. That being said, Boulder CO is largely white with residents of a higher income, so this analysis applied to a different county, may have differnet results.

Context <-
  BoulderCensusData %>%
  mutate(Race = ifelse(PerNonWhit > 15, "Majority Non-White", "Majority White"),
         Income = ifelse(MedHHInc > 80000, "High Income", "Low Income")) 


ggplot() + geom_sf(data = na.omit(Context), aes(fill = Race)) +
    scale_fill_manual(values = c("medium purple 3", "honeydew 3"), name="Race Context") +
    labs(title = "Figure 14.1: Race in Boulder, CO", 
         caption = "Figure 8.1") +
    mapTheme() + theme(legend.position="bottom")


ggplot() + geom_sf(data = na.omit(Context), aes(fill = Income)) +
    scale_fill_manual(values = c("medium purple 3", "honeydew 3"), name="Income Context") +
    labs(title = "Median Household Income in Boulder, CO", 
         caption = "Figure 8.2") +
    mapTheme() + theme(legend.position="bottom")



st_join(TestBoulder2, Context) %>% 
  group_by(Regression, Race) %>%
  summarize(mean.MAPE = scales::percent(mean(Price.APE, na.rm = T))) %>%
  st_drop_geometry() %>%
  spread(Race, mean.MAPE) %>%
  kable(caption = "Test set MAPE by neighborhood racial context (Figure 8.3)") %>%
  kable_styling("striped",full_width = F) 
## `summarise()` has grouped output by 'Regression'. You can override using the `.groups` argument.
Test set MAPE by neighborhood racial context (Figure 8.3)
Regression Majority Non-White Majority White
Regression 18% 20%

st_join(TestBoulder2, Context) %>% 
  group_by(Regression, Race) %>%
  summarize(mean.PricePredict = (mean(Price.Predict, na.rm = T))) %>%
  st_drop_geometry() %>%
  spread(Race, mean.PricePredict) %>%
  kable(caption = "Mean Predicted Price by neighborhood racial context (Figure 8.4)") %>%
  kable_styling("striped",full_width = F) 
## `summarise()` has grouped output by 'Regression'. You can override using the `.groups` argument.
Mean Predicted Price by neighborhood racial context (Figure 8.4)
Regression Majority Non-White Majority White
Regression 731407.5 751152.2

st_join(TestBoulder2, Context) %>% 
  group_by(Regression, Income) %>%
  summarize(mean.MAPE = scales::percent(mean(Price.APE, na.rm = T))) %>%
  st_drop_geometry() %>%
  spread(Income, mean.MAPE) %>%
  kable(caption = "Test set MAPE by neighborhood income context (Figure 8.5)") %>%
  kable_styling("striped",full_width = F) 
## `summarise()` has grouped output by 'Regression'. You can override using the `.groups` argument.
Test set MAPE by neighborhood income context (Figure 8.5)
Regression High Income Low Income
Regression 20% 19%

st_join(TestBoulder2, Context) %>% 
  group_by(Regression, Income) %>%
  summarize(mean.PricePredict = (mean(Price.Predict, na.rm = T))) %>%
  st_drop_geometry() %>%
  spread(Income, mean.PricePredict) %>%
  kable(caption = "Mean Predicted Price by neighborhood income context (Figure 8.6)") %>%
  kable_styling("striped",full_width = F) 
## `summarise()` has grouped output by 'Regression'. You can override using the `.groups` argument.
Mean Predicted Price by neighborhood income context (Figure 8.6)
Regression High Income Low Income
Regression 797408.1 587106.9

Discussion

Overall, our model yields some complicated, yet interesting results. It is definitely not a perfect indicator of home prices in Boulder, CO, but there are meaningful takeaways. Some of the most significant variables were ones relating to housing characteristics (like quality code), however, a few, but not as many, of the Boulder specific variables were too (like geological hazards and block groups). However, some of our variables may have still been colinear–affecting accuracy and our biggest weakess was failing to identify a variable that relates to price clustering.

In relation to accuracy, our model did not perform as well as we had liked. To recall, based on our adjusted R-Squared value, our model accounted for about 58% of the variation in home prices. Our average price error is about 150K, which is definitely a chunk of change to be off by. Further, analysis of the error charts and plots, our model struggles to predict higher priced homes. When evaluating generalizability, or the ability to apply our model to new data, we can conclude that our model definitely has errors, but functions well across demographic features. When using cross validation, we found that many of our errors clustered around the same range of prices such as $160,000-170,000, $180,000-$200,000, and $210,000-$230,000. In this cross validation, we were able to determine 70% of the home price error clusters, and it would have been better to attribute more errors. That being said, errors across the two demographic breakdowns (race and income) were consistent and this is a good indicator of generalizability across human-related variables.

Conclusion

It is clear that there are pros and cons to our model, however, we would not recommend our model as is to Zillow and more investigation should be done on its effectiveness. Some areas of improvement would be to spend more energy thoughtfully categorizing the variables for potentially more significant analysis (for ex. potentially weighting houses with bedrooms as small/medium/large). We also would want to spend more time addressing the neighborhood effect and what makes a neighborhood more attractive in a quantifiable way, like including a price clustering variable. Lastly, we wish to have also included variables such as poverty, transportation, and crime, but they were unavailable for this case. This Boulder specific data could have helped us create a model with potentially a more community oriented lens Overall, the model raises very interesting questions about what attributes to a home price!