cyipt / acton

Active Transport Options for New Developments
https://cyipt.github.io/acton/
GNU General Public License v3.0
3 stars 2 forks source link

Develop a single weighted employment accessibility stat for each travel mode #23

Closed joeytalbot closed 4 years ago

joeytalbot commented 4 years ago

There are dozens of employment measures in the accessibility statistics. To make things clearer, we should be able to develop a simple weighted measure for each travel mode (walking/public transport, cycling and car).

On its own, I don't think Jobs5000EmpPTt is sufficient, but it will be better when combined with the stats on smaller employment centres (Jobs500EmpPTt and Jobs100EmpPTt).

Robinlovelace commented 4 years ago

Great idea.

I think Jobs5000EmpPTt should be sufficient but yes, maybe a weighted mean with weights being proportional to the size. Example below:

devtools::install_github("cyipt/acton")
#> Skipping install of 'acton' from a github remote, the SHA1 (6c4468f7) has not changed since last install.
#>   Use `force = TRUE` to force installation
library(acton)
jts = get_jts_data("jts0501", 2017)
#> This table's title is Travel time, destination and origin indicators for Employment centres by mode of travel, Lower Super Output Area (LSOA), England
#> These data files are available for that table code: jts0501-2014.csv
#> jts0501-2015.csv
#> jts0501-2016.csv
#> jts0501-2017.csv
#> jts0501-Metadata.csv
#> Reading in file https://github.com/cyipt/acton/releases/download/0.0.1/jts0501-2017.csv
#> Parsed with column specification:
#> cols(
#>   .default = col_double(),
#>   LSOA_code = col_character(),
#>   Region = col_character(),
#>   LA_Code = col_character(),
#>   LA_Name = col_character()
#> )
#> See spec(...) for full column specifications.
summary(jts$Jobs100EmpPTt)
#>     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
#>   0.9689   4.6951   7.1631   9.2181  10.9838 120.0000
summary(jts$Jobs500EmpPTt)
#>     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
#>   0.8493   6.7811  10.8665  12.2315  15.3687 114.9730
summary(jts$Jobs5000EmpPTt)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#>   1.061  19.886  27.698  32.575  39.338 120.000
jts$weighted_mean_time_to_employment_centre = apply(
  X = jts[c("Jobs100EmpPTt", "Jobs500EmpPTt", "Jobs5000EmpPTt")],
  MARGIN = 1,
  FUN = weighted.mean,
  w = c(100, 500, 5000)
  )
summary(jts$weighted_mean_time_to_employment_centre)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#>   1.727  18.786  25.886  30.341  36.462 118.464

Created on 2020-01-15 by the reprex package (v0.3.0)

joeytalbot commented 4 years ago

Yes that's the kind of thing I was thinking of. Making the weights exactly proportional the to number of jobs is a great idea.

Robinlovelace commented 4 years ago

Even though it's the 'minimum number of jobs' I think, still worthwhile I think.

mem48 commented 4 years ago

Could you make something like the h-index score for academics https://en.wikipedia.org/wiki/H-index. Aso a score would incorporate both number of jobs and travel time?