Canopy and Census Data

The City of Portland has 477 census block groups. Data from the 2015 American Community Survey (ACS) is somewhat incomplete in terms of Median Household Income (MHI), so this analysis will use the 2014 ACS 5-year estimate data on MHI.

Canopy data is accessed via the 2014 Oregon Metro Regional Land Information System.

Clustering

The data, as with the maps above, are classified into quintiles: 5 ordinal categories containing 20% of the MHI values:

Modeling

Tukey HSD

First, a Tukey HSD test is used to assess the statistical significance of differences between groups:

  • MHI_Quintiles:

      diff lwr upr p adj
    2-1 0.007363 -0.04516 0.05988 0.9909
    3-1 0.04076 -0.01176 0.09328 0.08353
    4-1 0.062 0.009479 0.1145 0.001195
    5-1 0.2059 0.1536 0.2583 2.543e-11
    3-2 0.0334 -0.01912 0.08592 0.2296
    4-2 0.05463 0.002116 0.1072 0.006416
    5-2 0.1986 0.1462 0.251 2.543e-11
    4-3 0.02123 -0.03128 0.07375 0.6767
    5-3 0.1652 0.1128 0.2176 2.547e-11
    5-4 0.1439 0.09157 0.1963 2.548e-11

The Tukey HSD analysis reveals the following:

  • Q2 and Q3 do not have a statistically different amount of canopy cover from Q1
  • Q4 has significantly more canopy than Q1 and Q2
  • Q3 has a significantly higher amount of canopy than all groups

Regression: MHI Quintiles vs Canopy Cover

Additionally, a regression model was fitted to the data:

  Estimate Std. Error t value Pr(>|t|)
MHI_Quintiles2 0.007363 0.01604 0.4589 0.6465
MHI_Quintiles3 0.04076 0.01604 2.541 0.01138
MHI_Quintiles4 0.062 0.01604 3.864 0.000127
MHI_Quintiles5 0.2059 0.016 12.87 1.08e-32
(Intercept) 0.1999 0.01134 17.62 9.788e-54
Fitting linear model: pdx$CAN ~ MHI_Quintiles
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
476 0.1106 0.3176 0.3118

This test is also revealing, and shows that as MHI increases relative to Q1, so does the canopy cover (with the exception of Q2). For example: households in the top quintile of income (Q5) can expect to have ~20.6% more canopy cover than Q1

Regression: MHI vs Canopy Cover

Another way to look at this is through the raw MHI values:

  Estimate Std. Error t value Pr(>|t|)
pdx@data$mhh 2.658e-06 1.74e-07 15.28 3.807e-43
(Intercept) 0.09927 0.01185 8.377 6.194e-16
Fitting linear model: pdx\(CAN ~ pdx@data\)mhh
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
476 0.1092 0.33 0.3286

This model shows that for every additional $10,000 in MHI, we can expect a ~3% increase in canopy cover.

Right of Way trees

The analysis is repeated for trees that fall only within the Right of Way (ROW; public street tree coverage).

Tukey HSD

  • MHI_Quintiles:

      diff lwr upr p adj
    2-1 0.03971 -0.008914 0.08833 0.0595
    3-1 0.04362 -0.005 0.09225 0.02855
    4-1 0.06781 0.01918 0.1164 6.24e-05
    5-1 0.2152 0.1667 0.2637 2.814e-11
    3-2 0.003914 -0.04484 0.05266 0.9989
    4-2 0.0281 -0.02065 0.07685 0.3259
    5-2 0.1755 0.1269 0.2241 2.814e-11
    4-3 0.02419 -0.02457 0.07294 0.4827
    5-3 0.1716 0.1229 0.2202 2.815e-11
    5-4 0.1474 0.09876 0.196 2.819e-11

Similar results are found, and the biggest takeaway is that group 5 has significantly higher ROW coverage.

Regression: MHI Quintiles vs ROW Canopy Cover

Again, similar results are found for ROW coverage. Interestingly, there is a significant difference between each quintile group and ROW canopy cover.

  Estimate Std. Error t value Pr(>|t|)
MHI_Quintiles2 0.03971 0.01485 2.673 0.007771
MHI_Quintiles3 0.04362 0.01485 2.937 0.003478
MHI_Quintiles4 0.06781 0.01485 4.565 6.379e-06
MHI_Quintiles5 0.2152 0.01481 14.53 8.836e-40
(Intercept) 0.2315 0.01048 22.1 7.858e-75
Fitting linear model: pdx$ROW_CAN ~ MHI_Quintiles
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
477 0.1026 0.347 0.3415

Regression: MHI vs Canopy Cover

  Estimate Std. Error t value Pr(>|t|)
pdx@data$mhh 2.78e-06 1.56e-07 17.82 8.814e-55
(Intercept) 0.1335 0.01062 12.57 1.721e-31
Fitting linear model: pdx\(ROW_CAN ~ pdx@data\)mhh
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
477 0.09802 0.4007 0.3995

Summary Statistics

Mean canopy cover (aggregated in census block group):

## [1] 0.2633772

Std. Dev of canopy cover (aggregated in census block group):

## [1] 0.1332839