├── LICENSE.txt ├── README.md └── code ├── acs_regionalization.py ├── austin.ipynb ├── base_construction.py ├── example_data ├── 12420.dbf ├── 12420.gal ├── 12420.prj ├── 12420.qpj ├── 12420.shp ├── 12420.shx ├── 99999_225.dbf ├── 99999_225.shp ├── 99999_225.shx ├── 99999_a225_p9_pop9999_k3_j0_est.csv ├── 99999_a225_p9_pop9999_k3_j0_stdErr.csv ├── all_count_est_12420.csv ├── all_count_stdErr_12420.csv ├── all_exclude_12420.csv ├── transportation_prop.csv ├── transportation_prop_est_12420.csv ├── transportation_prop_stdErr_12420.csv ├── transportation_ratio.csv ├── transportation_ratio_est_12420.csv └── transportation_ratio_stdErr_12420.csv ├── local_search.py ├── toy_example.ipynb └── utils.py /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Seth E. Spielman and David C. Folch 2 | All rights reserved. 3 | 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # A Tool for Reducing the Margins of Error in American Community Survey Data 2 | 3 | The American Community Survey (ACS) is the largest survey of US households and is the principal source for neighborhood scale information about the US population and economy. The ACS is used to allocate billions in federal spending and is a critical input to social scientific research in the US. However, estimates from the ACS can be highly unreliable. For example, in over 72% of census tracts, the estimated number of children under 5 in poverty has a margin of error greater than the estimate. Uncertainty of this magnitude complicates the use of social data in policy making, research, and governance. 4 | 5 | *CensusMander* is a heuristic spatial optimization algorithm that is capable of reducing the margins of error in survey data via the creation of new composite geographies, a process called regionalization. Regionalization is a complex combinatorial problem. Here rather than focusing on the technical aspects of regionalization we demonstrate how to use a purpose built open source regionalization algorithm to process survey data in order to reduce the margins of error to a user-specified threshold. 6 | 7 | This repository includes code that reduces the margins of error in ACS Tract and Block Group Level Data by "intelligently" combining Census geographies together into regions. A region is a collection of 1 or more census geographies that meets a user specified margin of error (or CV). We refer to this procedeure as "regionalization." 8 | 9 | Technical details of this paper and example implementations are described in this [PLOSOne Paper](http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115626#abstract0). 10 | 11 | 12 | ## Getting Started 13 | 14 | ### Prerequisites 15 | 16 | All the scripts are written for [Python](http://www.python.org/) 2.7 (earlier 17 | versions have not been tested). We recommend installing [Anaconda 18 | python](https://www.continuum.io/downloads) as this distribution provides easy access to all the necessary libraries to run the code. There are a dependencies on the following libraries. 19 | 20 | * [Numpy](http://www.scipy.org/install.html) 1.3 or later 21 | * [Scipy](http://www.scipy.org/install.html) 0.7 or later 22 | * [PySAL](http://pysal.org) 1.5 or later 23 | * [pandas] (http://pandas.pydata.org) 0.11.0 or later 24 | * [MDP](http://mdp-toolkit.sourceforge.net) 3.2 or later 25 | * [Bottleneck](https://pypi.python.org/pypi/Bottleneck) 0.7 or later 26 | 27 | 28 | ##Examples 29 | We have built two [Jupyter Notebooks](https://jupyter.org/) to show the 30 | functionality of the code. The notebooks and all input data needed to run them are 31 | included in the repository. The notebooks require the 32 | [matplotlib](http://matplotlib.org/), [shapely](http://toblerity.org/shapely/) and [geopandas](http://geopandas.org/) packages for the visulaizations. Static versions can be viewed from the following links. 33 | 34 | * [Toy Example](http://nbviewer.ipython.org/github/geoss/ACS_Regionalization/blob/master/code/toy_example.ipynb) 35 | is a very simple example on simulated data. 36 | 37 | * [Austin Example](http://nbviewer.ipython.org/github/geoss/ACS_Regionalization/blob/master/code/austin.ipynb) 38 | is a more complex example using data from the Austin metro area. 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /code/base_construction.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Various pieces needed for the base region construction stage. 3 | ''' 4 | 5 | __author__ = "David C. Folch , Seth E. Spielman " 6 | 7 | 8 | import copy 9 | import numpy as np 10 | import utils as UTILS 11 | 12 | 13 | def cardinality_sorter(ids, w): 14 | # sort on cardinality first, then distance from anchor 15 | ##### probably room to optimize this ###### 16 | ids_card = [(w.cardinalities[i],index,i) for index, i in enumerate(ids)] 17 | ids_card.sort() 18 | ids = [i[2] for i in ids_card] 19 | return ids 20 | 21 | 22 | 23 | def base_region_iterator(w, count_th_min, count_th_max, count_est, target_th, target_est,\ 24 | exclude, auto_exclude, get_cv, base_solutions,\ 25 | target_parts, build_region, enclave_test ,kd, points, 26 | anchor, cardinality, cv_exclude): 27 | ''' 28 | Build a fixed number of solutions, and pick the solution with the 29 | maximum number of regions. If there is a tie for the most number of 30 | regions, then pick the solution with the lowest sum of squares. 31 | ''' 32 | ################################## 33 | # setup the ID order for each base solution 34 | ################################## 35 | ids_prepped = [] 36 | ids = range(w.n) 37 | # get the excluded IDs out of the main ID pool 38 | if exclude: 39 | for i in exclude: 40 | ids.remove(i) 41 | else: 42 | exclude = [] 43 | if kd: 44 | # run the Vickrey (1961) approach that builds regions from the outside in 45 | if type(anchor)==int: # only works on integers now 46 | # user passes in a unique anchor 47 | ids = [anchor] 48 | base_solutions = 1 49 | elif anchor is None: 50 | # create a randomly ordered list of anchor IDs 51 | ids = np.random.permutation(ids).tolist() 52 | if len(ids) < base_solutions: 53 | base_solutions = len(ids) 54 | print "WARNING: number of included areas (%c) is less than base_solutions (%c); proceeding with %c base solutions"%(len(ids), base_solutions, len(ids)) 55 | else: 56 | raise Exception, 'invalid value passed to anchor parameter (must be int or None)' 57 | # create a list of all n IDs for each base_solution to be run 58 | for anchor_iter in ids[0:base_solutions]: 59 | kd_ordering = kd.query(points[anchor_iter], k=w.n, p=2) 60 | ids_kd = kd_ordering[1].tolist() 61 | ids_kd.reverse() # order seeds so that furthest from the anchor is first, the anchor is last 62 | if cardinality: 63 | ids_kd = cardinality_sorter(ids_kd, w) 64 | ids_prepped.append(ids_kd) 65 | else: 66 | # build regions randomly 67 | for run in range(base_solutions): 68 | ids = np.random.permutation(ids).tolist() 69 | if cardinality: 70 | ids = cardinality_sorter(ids, w) 71 | ids_prepped.append(ids) 72 | 73 | 74 | 75 | 76 | ################################## 77 | # build the base solutions and select the best 78 | ################################## 79 | feasible = False 80 | best_num_regions = 0 81 | for ids in ids_prepped: 82 | regions, id2region, ids, enclaves = base_construction(\ 83 | w, count_th_min, count_th_max, count_est, target_th,\ 84 | exclude, auto_exclude, get_cv, ids,\ 85 | target_parts, build_region, enclave_test,\ 86 | cardinality, cv_exclude) 87 | if id2region: 88 | # only test feasible solutions 89 | feasible = True 90 | test_num_regions = len(regions) 91 | ##print '\tnum regions', test_num_regions 92 | if test_num_regions > best_num_regions: 93 | # always take the solution with higher number of regions 94 | ##print '\t\t**** more regions', test_num_regions 95 | best_num_regions = test_num_regions 96 | best_regions = regions 97 | best_id2region = id2region 98 | best_ids = ids 99 | best_enclaves = enclaves 100 | best_ssd = 0 101 | if target_est is not None: 102 | for i in regions: 103 | best_ssd += UTILS.sum_squares(i, target_est) 104 | elif test_num_regions == best_num_regions and target_est is not None: 105 | # if same number of regions, take the solution with lowest 106 | # SSD; if there are no target_est variables then there is no 107 | # way to break ties (we just keep the first one) 108 | ##print '\t\t**** same regions', test_num_regions 109 | test_ssd = 0 110 | for i in regions: 111 | test_ssd += UTILS.sum_squares(i, target_est) 112 | if test_ssd < best_ssd: 113 | ##print '\t\t\t**** improved SSD', test_ssd 114 | best_regions = regions 115 | best_id2region = id2region 116 | best_ids = ids 117 | best_enclaves = enclaves 118 | best_ssd = test_ssd 119 | else: 120 | ##print '\t\t\t**** same or worse SSD' 121 | pass 122 | else: 123 | ##print "\tno solution" 124 | pass 125 | 126 | 127 | 128 | ################################## 129 | # return final result 130 | ################################## 131 | if feasible: 132 | # got a feasible solution 133 | ##print "total regions", len(best_regions) 134 | if auto_exclude: 135 | # if the best solution has remaining enclaves, add them to the exclude list 136 | exclude = copy.copy(exclude) 137 | exclude.extend(best_ids) 138 | return best_regions, best_id2region, exclude, best_enclaves 139 | else: 140 | # no feasible solution; return the problem IDs by adding to the exclude list 141 | print "no feasible solution" 142 | exclude = copy.copy(exclude) 143 | exclude.extend(ids) 144 | return [], False, exclude, enclaves 145 | 146 | 147 | def base_construction(w, count_th_min, count_th_max, count_est, target_th,\ 148 | exclude, auto_exclude, get_cv, ids,\ 149 | target_parts, build_region, enclave_test,\ 150 | cardinality, cv_exclude): 151 | ''' 152 | Construct a full initial solution. This function essentially has two 153 | parts. The first chooses seeds one at a time and builds regions 154 | around the seed. The second part attaches remaining areas the cannot form 155 | regions (aka "enclaves") to adjacent existing regions. This is intended to 156 | run fast so there is no optimization in the region construction. This 157 | function is run many times and the best result forms the basis of a later 158 | round of swapping. 159 | ''' 160 | # set some global variables 161 | regions = [] 162 | id2region = {} 163 | used_ids = set(exclude) # keeps the excluded IDs out of the neighbors lists 164 | # set while loop variables 165 | loop_feasible = True 166 | loop_count = 0 # just for printing purposes 167 | while loop_feasible==True: 168 | # keeping looping until no more areas can be assigned 169 | ##print '\tregions loop', loop_count 170 | ##print '\tnumber of IDs remaining', len(ids) 171 | loop_count += 1 172 | loop_feasible = False 173 | remove_ids = [] # these will be popped off at the end of the loop 174 | for seed in ids: 175 | # iterate over available areas 176 | ##print '\t\tseed', seed 177 | if seed in used_ids: 178 | # don't build a new region around an area already in a region 179 | continue 180 | # build one region at a time 181 | feasible, region = build_region(w, count_th_min, count_th_max, count_est,\ 182 | target_th, get_cv, target_parts,\ 183 | seed, used_ids, cv_exclude) 184 | if feasible: 185 | # region meets both the count and CV thresholds 186 | ##print '\t\t\tfeasible' 187 | # cleanup and prep for next seed 188 | loop_feasible = True 189 | used_ids = used_ids.union(region) 190 | regions.append(region) 191 | region_id = len(regions) - 1 192 | remove_ids.extend(region) 193 | for i in region: 194 | id2region[i] = region_id 195 | ids_remove = ids.remove # localize the fuction 196 | for i in remove_ids: 197 | # once an entire loop is run, then remove IDs from the master list 198 | ##print '\\ttremove', i 199 | #ids.remove(i) 200 | ids_remove(i) 201 | 202 | # start procedure to match enclaves (a.k.a. leftovers) to existing regions 203 | loop_feasible = True 204 | if w.n == len(ids): 205 | # if no regions were created, then there is nothing to join enclaves to 206 | loop_feasible = False 207 | loop_count = 0 # just for printing 208 | ##print '\tnumber of regions', len(regions) 209 | ##print '\tnumber of remaining enclave IDs', len(ids) 210 | enclaves = len(ids) 211 | while loop_feasible==True: 212 | # keep looping over leftover IDs until none can be matched to an existing region 213 | ##print '\tleftover loop', loop_count 214 | ##print '\t\tnumber of remaining enclave IDs', len(ids) 215 | loop_count += 1 216 | loop_feasible = False 217 | remove_ids = [] 218 | for leftover in ids: 219 | ##print '\tleftover', leftover 220 | neighbors = w.neighbors[leftover] 221 | neighbors = np.random.permutation(neighbors) 222 | ''' 223 | this only allows an area to join a region if the revised region meets 224 | the CV and count thresholds; this means that some areas might not be 225 | able to join a region, and the run will fail 226 | ''' 227 | for link in neighbors: 228 | # iterate over neighbors of leftover to find a feasible region match 229 | ##print '\t\t\tlink', link 230 | if link in id2region.keys(): 231 | # the link must already be in a region 232 | ##print '\t\t\tlink available' 233 | link_region_id = id2region[link] 234 | link_region = regions[link_region_id][:] 235 | ##print '\t\t\t\tstart CV', get_cv(link_region, target_parts, cv_exclude) 236 | link_region.append(leftover) 237 | # test if the modified region still meets CV and count thresholds 238 | if enclave_test(link_region, target_parts, target_th,\ 239 | count_est, count_th_max, get_cv, cv_exclude): 240 | # cleanup if the leftover is successfully matched 241 | ##print '\t\t\t\tend CV', get_cv(link_region, target_parts, cv_exclude) 242 | ##print '\t\t\t\tlink feasible' 243 | regions[link_region_id] = link_region 244 | used_ids.add(leftover) 245 | remove_ids.append(leftover) 246 | id2region[leftover] = link_region_id 247 | loop_feasible = True 248 | break 249 | ##else: 250 | ##print '\t\t\t\tend CV', get_cv(link_region, target_parts, cv_exclude) 251 | ##print '\t\t\t\tlink not feasible' 252 | for i in remove_ids: 253 | # once an entire loop is run, then remove IDs from the master list 254 | ids.remove(i) 255 | if ids: 256 | if len(ids) / (w.n*1.0) < auto_exclude: 257 | ##print '\tFEASIBLE with auto exclude threshold' 258 | ##print '\t\tremaining IDs', ids 259 | ##print '\t\tnumber of remaining IDs', len(ids), '; number of regions', len(regions) 260 | return regions, id2region, ids, enclaves 261 | else: 262 | ##print '\tNOT FEASIBLE' 263 | ##print '\t\tremaining IDs', ids 264 | ##print '\t\tnumber of remaining IDs', len(ids), '; number of regions', len(regions) 265 | return False, False, ids, enclaves 266 | else: 267 | ##print '\tFEASIBLE' 268 | ##print '\t\tnumber of regions', len(regions) 269 | return regions, id2region, ids, enclaves 270 | 271 | 272 | ###################################################################### 273 | # Different ways to build a single region based on the four possible # 274 | # combinations of threshold criteria for defining feasible regions # 275 | ###################################################################### 276 | def build_region_cv_only(w, count_th_min, count_th_max, count_est, target_th,\ 277 | get_cv, target_parts, seed, used_ids, cv_exclude): 278 | ''' 279 | Need to get below CV threshold. 280 | ''' 281 | # set up the parts to build a new region 282 | region = [seed] 283 | neighbors = get_neighbors(w, seed, [], region, used_ids) 284 | return region_cv_only(w, target_th, get_cv, target_parts, seed, used_ids,\ 285 | neighbors, region, cv_exclude) 286 | 287 | def build_region_count_only(w, count_th_min, count_th_max, count_est, target_th,\ 288 | get_cv, target_parts, seed, used_ids, cv_exclude): 289 | ''' 290 | Need to get above count threshold. 291 | ''' 292 | # set up the parts to build a new region 293 | region = [seed] 294 | neighbors = get_neighbors(w, seed, [], region, used_ids) 295 | return region_min_count(w, count_th_min, count_est, seed, used_ids,\ 296 | neighbors, region) 297 | 298 | def build_region_min_count(w, count_th_min, count_th_max, count_est, target_th,\ 299 | get_cv, target_parts, seed, used_ids, cv_exclude): 300 | ''' 301 | Need to get above count threshold, and below CV threshold. 302 | ''' 303 | # set up the parts to build a new region 304 | region = [seed] 305 | neighbors = get_neighbors(w, seed, [], region, used_ids) 306 | # build up region that meets count threshold 307 | feasible, region = region_min_count(w, count_th_min, count_est,\ 308 | seed, used_ids, neighbors, region) 309 | if feasible: 310 | # continue building region to meet CV threshold 311 | feasible, region = region_cv_only(w, target_th, get_cv,\ 312 | target_parts, seed, used_ids,\ 313 | neighbors, region, cv_exclude) 314 | return feasible, region 315 | 316 | def build_region_max_count(w, count_th_min, count_th_max, count_est, target_th,\ 317 | get_cv, target_parts, seed, used_ids, cv_exclude): 318 | ''' 319 | Need to stay below count threshold, and below CV threshold. 320 | ''' 321 | # set up the parts to build a new region 322 | region = [seed] 323 | neighbors = get_neighbors(w, seed, [], region, used_ids) 324 | feasible, region = region_cv_only(w, target_th, get_cv,\ 325 | target_parts, seed, used_ids,\ 326 | neighbors, region, cv_exclude) 327 | if feasible: 328 | if count_est[region].sum() > count_th_max: 329 | feasible = False 330 | return feasible, region 331 | 332 | 333 | 334 | def build_region_min_max_count(w, count_th_min, count_th_max, count_est, target_th,\ 335 | get_cv, target_parts, seed, used_ids, cv_exclude): 336 | ''' 337 | Need to get above min count threshold and stay below max count threshold, 338 | and below CV threshold. 339 | ''' 340 | # set up the parts to build a new region 341 | region = [seed] 342 | neighbors = get_neighbors(w, seed, [], region, used_ids) 343 | # build up region that meets count threshold 344 | feasible, region = region_min_count(w, count_th_min, count_est,\ 345 | seed, used_ids, neighbors, region) 346 | if feasible: 347 | # check to ensure region is below max count threshold 348 | if count_est[region].sum() > count_th_max: 349 | ##print '\t\t\tnot feasible, max1,', len(region), count_est[region].sum() 350 | ##print '\t\t\t', region 351 | feasible = False 352 | if feasible: 353 | # continue building region to meet CV threshold 354 | feasible, region = region_cv_only(w, target_th, get_cv,\ 355 | target_parts, seed, used_ids,\ 356 | neighbors, region, cv_exclude) 357 | if feasible: 358 | # check to ensure region is below max count threshold 359 | if count_est[region].sum() > count_th_max: 360 | ##print '\t\t\tnot feasible, max2,', len(region), count_est[region].sum() 361 | ##print '\t\t\t', region 362 | feasible = False 363 | else: 364 | ##print '\t\t\tnot feasible, CV,', len(region), count_est[region].sum() 365 | ##print '\t\t\t', region 366 | pass 367 | else: 368 | ##print '\t\t\tnot feasible, min,', len(region), count_est[region].sum() 369 | ##print '\t\t\t', region 370 | pass 371 | return feasible, region 372 | 373 | 374 | 375 | 376 | def region_cv_only(w, target_th, get_cv, target_parts, seed, used_ids,\ 377 | neighbors, region, cv_exclude): 378 | ''' 379 | Construct a region based on a CV constraint only 380 | ''' 381 | feasible = True 382 | cv = get_cv(region, target_parts, cv_exclude) 383 | while np.any(cv > target_th): 384 | # keep adding areas until region meets CV threshold 385 | ##print '\tregion:', region 386 | ##print '\tneighbors:', neighbors 387 | if not neighbors: 388 | # no more neighbors available, so this region is infeasible 389 | ##print '\t\tnot feasible, CV; region size', len(region) 390 | feasible = False 391 | break 392 | # grab the first neighbor in the list, and add to region 393 | # NOTE: to promote speed, we do not hunt for the "best" neighbor 394 | add_on = neighbors.pop(0) 395 | region.append(add_on) 396 | ##print '\t\t\tadd_on', add_on 397 | cv = get_cv(region, target_parts, cv_exclude) 398 | ##print '\t\t', add_on, cv 399 | # add new potential neighbors as a result of add_on to bottom of list 400 | neighbors = get_neighbors(w, add_on, neighbors, region, used_ids) 401 | ##print '\t\tend CV', cv 402 | ##print '\t\t\tfeasible', feasible 403 | return feasible, region 404 | 405 | def region_min_count(w, count_th_min, count_est, seed, used_ids, neighbors, region): 406 | ''' 407 | Construct a region based on a count constraint only 408 | ''' 409 | feasible = True 410 | count = copy.copy(count_est[seed]) 411 | while count < count_th_min: 412 | # keep adding areas until region meets count threshold 413 | if not neighbors: 414 | # no more neighbors available, so this region is infeasible 415 | ##print '\t\tnot feasible, count <<<<<<<<<<<<<<<' 416 | feasible = False 417 | break 418 | # grab the first neighbor in the list, and add to region 419 | # NOTE: pick from the top to promote compactness of regions 420 | add_on = neighbors.pop(0) 421 | region.append(add_on) 422 | ##print '\t\tadd_on', add_on 423 | count += count_est[add_on] 424 | # add new potential neighbors as a result of add_on to bottom of list 425 | neighbors = get_neighbors(w, add_on, neighbors, region, used_ids) 426 | ##print '\t\t\tfeasible', feasible 427 | return feasible, region 428 | ######################## 429 | 430 | 431 | 432 | ################################################################### 433 | # Three different tests for feasible enclave assignment to region # 434 | ################################################################### 435 | def enclave_test_cv_only(region, target_parts, target_th,\ 436 | count_est, count_th_max, get_cv, cv_exclude): 437 | if np.any(get_cv(region, target_parts, cv_exclude) > target_th): 438 | ##print '\t\t\tFailed CV', get_cv(region, target_parts, cv_exclude) 439 | return False 440 | return True 441 | 442 | def enclave_test_count_only(region, target_parts, target_th,\ 443 | count_est, count_th_max, get_cv, cv_exclude): 444 | return True 445 | 446 | def enclave_test_max_count(region, target_parts, target_th,\ 447 | count_est, count_th_max, get_cv, cv_exclude): 448 | if np.any(get_cv(region, target_parts, cv_exclude) > target_th): 449 | ##print '\t\t\tFailed CV', get_cv(region, target_parts, cv_exclude) 450 | return False 451 | if count_est[region].sum() > count_th_max: 452 | ##print '\t\t\tFailed Count', count_est[region].sum() 453 | return False 454 | return True 455 | ######################## 456 | 457 | 458 | 459 | 460 | def get_neighbors(w, seed, neighbors, region, used_ids): 461 | ''' 462 | update the current neighbors list by appending a randomized list 463 | containing the neighbors of the newest addition to the region, but that 464 | excludes any ids that have already been used; we add the new neighbors to the 465 | end to promote compact regions 466 | ''' 467 | new_neighbors = set(w.neighbors[seed]) 468 | new_neighbors = new_neighbors.difference(region) 469 | new_neighbors = new_neighbors.difference(used_ids) 470 | new_neighbors = new_neighbors.difference(neighbors) 471 | new_neighbors = np.random.permutation(list(new_neighbors)).tolist() 472 | neighbors.extend(new_neighbors) 473 | return neighbors 474 | 475 | 476 | 477 | -------------------------------------------------------------------------------- /code/example_data/12420.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoss/censumander/f494fecb1f3c9e32c97f30a1f48880b6efb64fc8/code/example_data/12420.dbf -------------------------------------------------------------------------------- /code/example_data/12420.gal: -------------------------------------------------------------------------------- 1 | 350 2 | 48209010901 5 3 | 48209010805 48209010806 48453001772 48209010902 48453001775 4 | 48209010809 4 5 | 48209010805 48453001768 48209010806 48209010808 6 | 48209010909 3 7 | 48209010905 48209010902 48209010910 8 | 48209010906 6 9 | 48055960500 48055960101 48209010905 48209010907 48209010910 48209010303 10 | 48209010303 4 11 | 48055960500 48209010906 48209010302 48209010304 12 | 48209010908 3 13 | 48209010907 48453002434 48209010902 14 | 48209010805 4 15 | 48453001733 48209010806 48209010809 48209010901 16 | 48209010808 3 17 | 48453001768 48209010807 48209010809 18 | 48209010806 6 19 | 48209010809 48209010901 48209010902 48209010805 48209010804 48209010807 20 | 48209010807 4 21 | 48209010804 48209010806 48209010808 48209010803 22 | 48209010803 3 23 | 48209010804 48209010807 48209010600 24 | 48209010907 6 25 | 48055960101 48209010906 48453002434 48209010902 48209010910 48209010908 26 | 48209010910 5 27 | 48209010905 48209010906 48209010907 48209010909 48209010902 28 | 48209010905 7 29 | 48209010906 48209010902 48209010910 48209010702 48209010804 48209010304 48209010909 30 | 48209010304 6 31 | 48209010100 48209010905 48209010702 48209010701 48209010302 48209010303 32 | 48209010702 4 33 | 48209010804 48209010304 48209010701 48209010905 34 | 48209010804 8 35 | 48209010701 48209010905 48209010600 48209010902 48209010702 48209010807 48209010806 48209010803 36 | 48209010701 6 37 | 48209010600 48209010200 48209010100 48209010702 48209010804 48209010304 38 | 48209010200 3 39 | 48209010701 48209010100 48209010600 40 | 48209010100 6 41 | 48209010600 48209010200 48209010500 48209010304 48209010701 48209010302 42 | 48209010600 6 43 | 48209010200 48209010500 48209010100 48209010804 48209010701 48209010803 44 | 48209010500 4 45 | 48209010400 48209010600 48209010100 48209010302 46 | 48209010400 3 47 | 48209010500 48055960500 48209010302 48 | 48209010302 6 49 | 48055960500 48209010500 48209010100 48209010400 48209010304 48209010303 50 | 48209010902 10 51 | 48209010908 48209010905 48453002407 48209010907 48209010901 48209010910 48209010804 48209010806 48453001772 48209010909 52 | 48453001857 7 53 | 48491020703 48453001860 48453001861 48491020504 48453001840 48453001851 48453001855 54 | 48453001862 4 55 | 48453001841 48453001860 48453001861 48453001855 56 | 48453001855 7 57 | 48491020703 48453001862 48453001861 48453001841 48453001857 48491020804 48453001858 58 | 48453001859 6 59 | 48491020808 48453001842 48453001856 48453001854 48491020809 48453001858 60 | 48453001858 6 61 | 48453001841 48453001842 48491020807 48453001855 48491020809 48453001859 62 | 48453001779 3 63 | 48453001780 48453001764 48453001766 64 | 48453001776 4 65 | 48453001777 48453001738 48453001729 48453001750 66 | 48453002425 3 67 | 48453002421 48453002428 48453002429 68 | 48453001915 7 69 | 48453001750 48453001712 48453001917 48453001914 48453001901 48453001749 48453001908 70 | 48453001778 5 71 | 48453001773 48453001780 48453001742 48453001741 48453001771 72 | 48453001777 5 73 | 48453001776 48453001746 48453001738 48453001729 48453001740 74 | 48453001770 4 75 | 48453001733 48453001775 48453001737 48453001740 76 | 48453001775 6 77 | 48453001733 48453001740 48209010901 48453001774 48453001772 48453001770 78 | 48453001772 6 79 | 48453001748 48453002407 48209010901 48209010902 48453001774 48453001775 80 | 48453002428 6 81 | 48453002432 48453002407 48453002434 48453002426 48453002425 48453002429 82 | 48453001864 8 83 | 48453001785 48453001863 48491020504 48453001853 48453001851 48491020503 48453001846 48453001847 84 | 48453001846 6 85 | 48453001828 48453001829 48453001864 48453001785 48453001847 48453001848 86 | 48453001785 5 87 | 48453001745 48491020411 48453001846 48453001864 48453001786 88 | 48453001781 3 89 | 48453001782 48491020405 48453001714 90 | 48453001780 7 91 | 48453001741 48453001778 48453001779 48453001771 48453001765 48453001764 48453001766 92 | 48453001784 6 93 | 48453001742 48453001916 48453001783 48453001768 48453001760 48453001773 94 | 48453001757 4 95 | 48453001755 48453002500 48453001706 48453001722 96 | 48453001919 2 97 | 48453001918 48453001910 98 | 48453001918 5 99 | 48453001912 48453001913 48453001910 48453001919 48453001917 100 | 48453002318 4 101 | 48453002314 48453002317 48453002304 48453002312 102 | 48453000307 5 103 | 48453000304 48453000402 48453000306 48453000401 48453000302 104 | 48453000205 5 105 | 48453000305 48453001503 48453000206 48453001505 48453000203 106 | 48453000305 5 107 | 48453000304 48453000205 48453001503 48453000302 48453000203 108 | 48453000206 5 109 | 48453001501 48453000205 48453000204 48453000203 48453000101 110 | 48453001783 5 111 | 48453001761 48453001760 48453001916 48453001912 48453001784 112 | 48453001916 6 113 | 48453001912 48453001917 48453001783 48453001768 48453001784 48453001908 114 | 48453001917 8 115 | 48453001918 48453001912 48453001910 48453001911 48453001916 48453001914 48453001915 48453001908 116 | 48453001402 5 117 | 48453001401 48453002308 48453001403 48453001100 48453002304 118 | 48453001308 5 119 | 48453001307 48453002308 48453002003 48453001305 48453002403 120 | 48453001307 5 121 | 48453002003 48453001304 48453002005 48453001305 48453001308 122 | 48453001786 5 123 | 48453002500 48453001745 48491020410 48453001756 48453001785 124 | 48453002500 7 125 | 48453001754 48453001755 48453001745 48453001757 48453001756 48453001722 48453001786 126 | 48453001782 5 127 | 48453001756 48453001755 48491020405 48453001714 48453001781 128 | 48453002426 5 129 | 48453002430 48453002431 48453002432 48453002428 48453002429 130 | 48453002211 3 131 | 48453002212 48453002208 48453002207 132 | 48453000306 7 133 | 48453002109 48453000402 48453002105 48453002106 48453002107 48453000304 48453000307 134 | 48453001771 4 135 | 48453001780 48453001773 48453001778 48453001764 136 | 48453001773 6 137 | 48453001742 48453001768 48453001778 48453001784 48453001764 48453001771 138 | 48453001863 6 139 | 48453001853 48453001864 48453001840 48453001851 48453001847 48453001848 140 | 48453001861 4 141 | 48453001862 48453001860 48453001857 48453001855 142 | 48453001860 4 143 | 48453001862 48453001840 48453001861 48453001857 144 | 48453001856 7 145 | 48453002202 48453002212 48453001834 48453002209 48453001842 48453001854 48453001859 146 | 48453002435 6 147 | 48021950802 48021950801 48453002432 48453002433 48453002436 48453980000 148 | 48453002319 3 149 | 48453002433 48453980000 48453002310 150 | 48453000304 6 151 | 48453002105 48453000305 48453000306 48453000307 48453000302 48453001503 152 | 48453002317 6 153 | 48453002310 48453002312 48453002111 48453002318 48453001000 48453002304 154 | 48453001774 3 155 | 48453001775 48453001772 48453001748 156 | 48453002430 4 157 | 48453002431 48453002429 48453002427 48453002426 158 | 48453002427 4 159 | 48453002430 48453002422 48453002429 48453002419 160 | 48453002429 7 161 | 48453002430 48453002422 48453002421 48453002427 48453002426 48453002425 48453002428 162 | 48453002431 10 163 | 48453002419 48453002313 48453002312 48453002412 48453002413 48453002411 48453002430 48453002432 48453002426 48453980000 164 | 48453002433 6 165 | 48453002207 48453002310 48453002319 48453002435 48453980000 48021950300 166 | 48453002208 8 167 | 48453002108 48453002211 48453002201 48453002207 48453002310 48453002202 48453002111 48453002110 168 | 48453002432 7 169 | 48453002431 48453002434 48453002435 48453002436 48453002428 48453980000 48453002426 170 | 48453002434 7 171 | 48055960101 48453002407 48453002432 48209010907 48453002436 48453002428 48209010908 172 | 48453002436 5 173 | 48055960101 48021950802 48453002432 48453002434 48453002435 174 | 48453001914 3 175 | 48453001908 48453001917 48453001915 176 | 48453002209 6 177 | 48453002210 48453002212 48021950100 48021950200 48453001856 48453001854 178 | 48453002212 6 179 | 48453002210 48453002211 48453002207 48453002202 48453002209 48453001856 180 | 48453002207 7 181 | 48453002210 48453002211 48453002212 48453002310 48021950100 48453002208 48453002433 182 | 48453002210 4 183 | 48453002212 48453002207 48453002209 48021950100 184 | 48453001854 6 185 | 48021950100 48453002209 48021950200 48453001856 48453001859 48491020900 186 | 48453002411 6 187 | 48453002419 48453002412 48453002413 48453002431 48453002403 48453002307 188 | 48453002410 4 189 | 48453002003 48453002424 48453002409 48453002402 190 | 48453002409 5 191 | 48453002003 48453001713 48453002424 48453001712 48453002410 192 | 48453002403 5 193 | 48453002308 48453002003 48453001308 48453002411 48453002402 194 | 48453002402 5 195 | 48453002422 48453002003 48453002419 48453002410 48453002403 196 | 48453002312 6 197 | 48453002314 48453002317 48453002310 48453002313 48453002318 48453002431 198 | 48453002308 6 199 | 48453001308 48453001305 48453001401 48453001402 48453002403 48453002307 200 | 48453002307 5 201 | 48453002315 48453002308 48453001403 48453002411 48453002313 202 | 48453002315 4 203 | 48453002316 48453001403 48453002307 48453002313 204 | 48453002424 5 205 | 48453002423 48453002422 48453002410 48453002409 48453001728 206 | 48453002316 5 207 | 48453002315 48453002314 48453001403 48453002304 48453002313 208 | 48453002304 7 209 | 48453002314 48453002317 48453002316 48453002318 48453001402 48453001403 48453001000 210 | 48453001747 4 211 | 48453002423 48453001746 48453001728 48453001748 212 | 48453002113 5 213 | 48453002108 48453002112 48453002201 48453001811 48453002107 214 | 48453002112 5 215 | 48453002113 48453002104 48453002106 48453001811 48453002107 216 | 48453002110 4 217 | 48453002108 48453002109 48453002111 48453002208 218 | 48453002109 7 219 | 48453002108 48453000802 48453000402 48453002111 48453002110 48453002107 48453000306 220 | 48453002108 6 221 | 48453002109 48453002201 48453002208 48453002113 48453002110 48453002107 222 | 48453002107 6 223 | 48453002108 48453002109 48453002113 48453002112 48453002106 48453000306 224 | 48453002106 5 225 | 48453002112 48453000306 48453002104 48453002105 48453002107 226 | 48453002105 6 227 | 48453002104 48453001812 48453002106 48453000304 48453000306 48453001503 228 | 48453002104 4 229 | 48453002112 48453002106 48453002105 48453001811 230 | 48453002003 7 231 | 48453001308 48453001307 48453002410 48453002002 48453002403 48453002402 48453002409 232 | 48453002002 3 233 | 48453002003 48453002005 48453001712 234 | 48453002005 6 235 | 48453001307 48453001712 48453001304 48453002002 48453001901 48453002004 236 | 48453002313 6 237 | 48453002315 48453002314 48453002316 48453002312 48453002431 48453002307 238 | 48453001911 5 239 | 48453001901 48453001910 48453001303 48453001917 48453001200 240 | 48453001901 6 241 | 48453001911 48453001304 48453001303 48453001915 48453002005 48453002004 242 | 48453001835 4 243 | 48453001826 48453001839 48453001832 48453001834 244 | 48453001832 4 245 | 48453001833 48453001835 48453001824 48453001834 246 | 48453001829 4 247 | 48453001849 48453001850 48453001828 48453001846 248 | 48453001828 4 249 | 48453001849 48453001745 48453001846 48453001829 250 | 48453001849 12 251 | 48453001754 48453001753 48453001820 48453001818 48453001817 48453001821 48453001828 48453001829 48453001850 48453001844 48453001845 48453001843 252 | 48453001826 6 253 | 48453001824 48453001835 48453001839 48453001850 48453001845 48453001848 254 | 48453001845 7 255 | 48453001826 48453001824 48453001822 48453001823 48453001843 48453001844 48453001849 256 | 48453001844 3 257 | 48453001849 48453001843 48453001845 258 | 48453002419 5 259 | 48453002412 48453002431 48453002411 48453002427 48453002402 260 | 48453001823 6 261 | 48453001824 48453001822 48453001819 48453001806 48453001833 48453001845 262 | 48453001822 4 263 | 48453001845 48453001823 48453001819 48453001821 264 | 48453001821 4 265 | 48453001849 48453001843 48453001822 48453001820 266 | 48453001820 5 267 | 48453001849 48453001805 48453001818 48453001819 48453001821 268 | 48453001819 5 269 | 48453001805 48453001806 48453001822 48453001823 48453001820 270 | 48453001818 6 271 | 48453001820 48453001817 48453001805 48453001804 48453001849 48453001504 272 | 48453001817 5 273 | 48453001501 48453001849 48453001707 48453001752 48453001818 274 | 48453001813 5 275 | 48453001804 48453001806 48453001833 48453001812 48453001834 276 | 48453001812 5 277 | 48453001804 48453001503 48453001813 48453002105 48453001811 278 | 48453001811 5 279 | 48453002113 48453002112 48453002104 48453001812 48453001834 280 | 48453001806 5 281 | 48453001804 48453001805 48453001813 48453001823 48453001819 282 | 48453001805 5 283 | 48453001804 48453001806 48453001819 48453001820 48453001818 284 | 48453001804 7 285 | 48453001818 48453001805 48453001806 48453001813 48453001812 48453001503 48453001504 286 | 48453001738 4 287 | 48453001776 48453001777 48453001737 48453001749 288 | 48453001750 6 289 | 48453001729 48453001712 48453001713 48453001749 48453001915 48453001776 290 | 48453002004 3 291 | 48453001901 48453001712 48453002005 292 | 48453001841 5 293 | 48453001840 48453001862 48453001842 48453001858 48453001855 294 | 48453001853 3 295 | 48453001863 48453001851 48453001864 296 | 48453001753 5 297 | 48453001754 48453001849 48453001707 48453001706 48453001722 298 | 48453001719 5 299 | 48453001761 48453001718 48453000102 48453001705 48453001912 300 | 48453001718 6 301 | 48453001719 48453000102 48453001751 48453001752 48453000101 48453001501 302 | 48453001713 4 303 | 48453001750 48453001712 48453002409 48453001728 304 | 48453001712 7 305 | 48453001750 48453001713 48453001915 48453002002 48453002005 48453002004 48453002409 306 | 48453001707 5 307 | 48453001817 48453001753 48453001751 48453001752 48453001706 308 | 48453001706 6 309 | 48453001755 48453001757 48453001753 48453001707 48453001705 48453001722 310 | 48453001705 5 311 | 48453001719 48453001751 48453001706 48453001716 48453001755 312 | 48453001605 6 313 | 48453001602 48453001603 48453001604 48453001200 48453000700 48453000604 314 | 48453001604 6 315 | 48453001602 48453001603 48453000102 48453001605 48453001913 48453001606 316 | 48453001603 6 317 | 48453001606 48453001604 48453001605 48453000101 48453000204 48453000603 318 | 48453001602 5 319 | 48453001913 48453001910 48453001604 48453001200 48453001605 320 | 48453001305 8 321 | 48453001200 48453001308 48453001307 48453001304 48453001303 48453001401 48453002308 48453001100 322 | 48453001304 5 323 | 48453001307 48453002005 48453001305 48453001901 48453001303 324 | 48453001303 5 325 | 48453001911 48453001305 48453001304 48453001901 48453001200 326 | 48453001200 6 327 | 48453001602 48453001605 48453001305 48453001911 48453001303 48453001100 328 | 48453001100 9 329 | 48453000804 48453001200 48453001305 48453000700 48453001401 48453001402 48453001000 48453000902 48453000901 330 | 48453001000 5 331 | 48453002111 48453002317 48453000902 48453001100 48453002304 332 | 48453000902 6 333 | 48453000802 48453000801 48453002111 48453001000 48453001100 48453000901 334 | 48453001505 4 335 | 48453001501 48453000205 48453001503 48453001504 336 | 48453001504 5 337 | 48453001501 48453001804 48453001503 48453001505 48453001818 338 | 48453001503 8 339 | 48453001804 48453002105 48453001812 48453000304 48453000305 48453000205 48453001505 48453001504 340 | 48453001501 7 341 | 48453001718 48453001752 48453000101 48453001817 48453000206 48453001505 48453001504 342 | 48453000901 4 343 | 48453000804 48453000902 48453001100 48453000802 344 | 48453000804 4 345 | 48453000803 48453001100 48453000802 48453000901 346 | 48453000803 4 347 | 48453000700 48453000402 48453000804 48453000802 348 | 48453000802 7 349 | 48453002109 48453000804 48453000803 48453000801 48453000402 48453000902 48453000901 350 | 48453000801 3 351 | 48453002111 48453000902 48453000802 352 | 48453000700 6 353 | 48453000803 48453001605 48453000401 48453000604 48453000601 48453001100 354 | 48453000604 4 355 | 48453000601 48453000700 48453000603 48453001605 356 | 48453000603 4 357 | 48453000601 48453001603 48453000604 48453000204 358 | 48453000601 6 359 | 48453000500 48453000401 48453000700 48453000204 48453000603 48453000604 360 | 48453000500 4 361 | 48453000601 48453000204 48453000401 48453000302 362 | 48453000402 6 363 | 48453002109 48453000803 48453000802 48453000401 48453000306 48453000307 364 | 48453000401 6 365 | 48453000500 48453000402 48453000700 48453000307 48453000302 48453000601 366 | 48453000302 6 367 | 48453000500 48453000401 48453000304 48453000305 48453000307 48453000203 368 | 48453000204 7 369 | 48453001603 48453000500 48453000101 48453000601 48453000603 48453000206 48453000203 370 | 48453000203 5 371 | 48453000205 48453000305 48453000206 48453000302 48453000204 372 | 48453001754 5 373 | 48453001849 48453001745 48453001722 48453002500 48453001753 374 | 48453000102 7 375 | 48453001718 48453001719 48453001606 48453001604 48453000101 48453001912 48453001913 376 | 48453000101 7 377 | 48453001718 48453001603 48453001606 48453000204 48453001501 48453000102 48453000206 378 | 48453002407 5 379 | 48453001772 48453002421 48453002428 48453002434 48209010902 380 | 48453001606 4 381 | 48453001603 48453000102 48453001604 48453000101 382 | 48453002310 8 383 | 48453002317 48453002207 48453002312 48453002111 48453002208 48453002319 48453002433 48453980000 384 | 48453980000 6 385 | 48453002310 48453002319 48453002431 48453002432 48453002433 48453002435 386 | 48453001746 6 387 | 48453001747 48453001729 48453001728 48453001740 48453001748 48453001777 388 | 48453002202 4 389 | 48453002212 48453002208 48453002201 48453001856 390 | 48453002201 5 391 | 48453002113 48453002108 48453002208 48453001834 48453002202 392 | 48453002111 8 393 | 48453002109 48453002317 48453002208 48453002310 48453000801 48453002110 48453001000 48453000902 394 | 48453001913 6 395 | 48453001602 48453001918 48453000102 48453001604 48453001912 48453001910 396 | 48453001910 6 397 | 48453001602 48453001918 48453001919 48453001913 48453001911 48453001917 398 | 48453001834 8 399 | 48453002201 48453001832 48453001835 48453001813 48453001833 48453001811 48453001842 48453001856 400 | 48453001908 7 401 | 48453001737 48453001916 48453001917 48453001914 48453001915 48453001769 48453001768 402 | 48453001833 4 403 | 48453001832 48453001813 48453001823 48453001834 404 | 48453001840 6 405 | 48453001839 48453001863 48453001860 48453001841 48453001842 48453001857 406 | 48453001851 5 407 | 48453001853 48453001863 48491020504 48453001857 48453001864 408 | 48453001824 4 409 | 48453001826 48453001832 48453001823 48453001845 410 | 48453001749 4 411 | 48453001738 48453001750 48453001737 48453001915 412 | 48453001843 4 413 | 48453001849 48453001844 48453001845 48453001821 414 | 48453001729 5 415 | 48453001776 48453001746 48453001750 48453001728 48453001777 416 | 48453001728 5 417 | 48453001747 48453001746 48453001713 48453001729 48453002424 418 | 48453001745 5 419 | 48453001754 48453002500 48453001828 48453001785 48453001786 420 | 48453001766 9 421 | 48491020301 48491020314 48491020328 48453001780 48453001779 48453001765 48453001764 48491020324 48491020312 422 | 48453002421 6 423 | 48453001748 48453002423 48453002422 48453002407 48453002425 48453002429 424 | 48453002423 4 425 | 48453001747 48453002422 48453002421 48453002424 426 | 48453002314 5 427 | 48453002304 48453002316 48453002318 48453002313 48453002312 428 | 48453001748 6 429 | 48453001747 48453001746 48453001740 48453002421 48453001774 48453001772 430 | 48453001912 8 431 | 48453001719 48453001918 48453000102 48453001913 48453001916 48453001917 48453001783 48453001761 432 | 48453001752 5 433 | 48453001501 48453001718 48453001707 48453001751 48453001817 434 | 48453001760 6 435 | 48453001742 48453001714 48453001783 48453001784 48453001761 48453001765 436 | 48453001742 5 437 | 48453001760 48453001741 48453001773 48453001778 48453001784 438 | 48453001847 4 439 | 48453001848 48453001863 48453001846 48453001864 440 | 48453001848 6 441 | 48453001826 48453001839 48453001863 48453001850 48453001846 48453001847 442 | 48453001755 8 443 | 48453001756 48453001757 48453002500 48453001714 48453001706 48453001705 48453001782 48453001716 444 | 48453001756 6 445 | 48453001755 48453002500 48453001782 48453001786 48491020405 48491020410 446 | 48453001764 6 447 | 48453001768 48453001780 48453001779 48453001771 48453001773 48453001766 448 | 48453001737 7 449 | 48453001733 48453001740 48453001738 48453001749 48453001769 48453001908 48453001770 450 | 48453001740 6 451 | 48453001746 48453001737 48453001748 48453001777 48453001775 48453001770 452 | 48453001765 7 453 | 48453001741 48491020318 48453001714 48453001780 48453001760 48491020326 48453001766 454 | 48453001714 9 455 | 48453001755 48453001716 48453001782 48453001781 48453001761 48453001760 48491020405 48491020404 48453001765 456 | 48453001403 5 457 | 48453002315 48453001402 48453002316 48453002307 48453002304 458 | 48453001733 6 459 | 48453001737 48453001769 48453001768 48209010805 48453001775 48453001770 460 | 48453001769 4 461 | 48453001733 48453001908 48453001737 48453001768 462 | 48453001768 9 463 | 48453001733 48453001764 48453001916 48453001773 48453001769 48209010809 48209010808 48453001784 48453001908 464 | 48453001722 5 465 | 48453001754 48453001757 48453002500 48453001706 48453001753 466 | 48453001761 6 467 | 48453001719 48453001912 48453001714 48453001716 48453001783 48453001760 468 | 48453001751 4 469 | 48453001718 48453001707 48453001752 48453001705 470 | 48453001716 4 471 | 48453001761 48453001755 48453001714 48453001705 472 | 48453001842 7 473 | 48453001834 48453001839 48453001840 48453001841 48453001856 48453001859 48453001858 474 | 48453001741 4 475 | 48453001780 48453001765 48453001742 48453001778 476 | 48453001850 4 477 | 48453001848 48453001849 48453001826 48453001829 478 | 48453001839 5 479 | 48453001840 48453001826 48453001842 48453001835 48453001848 480 | 48453001401 4 481 | 48453001402 48453001305 48453002308 48453001100 482 | 48453002422 6 483 | 48453002402 48453002423 48453002421 48453002427 48453002424 48453002429 484 | 48453002413 3 485 | 48453002412 48453002431 48453002411 486 | 48453002412 4 487 | 48453002413 48453002419 48453002411 48453002431 488 | 48491020603 5 489 | 48491020605 48491020604 48491021507 48491020310 48491020602 490 | 48491021507 7 491 | 48491021505 48491021504 48491021506 48491021503 48491021502 48491020803 48491020603 492 | 48491020804 7 493 | 48491020706 48491021508 48491020703 48491020807 48491020806 48453001855 48491020809 494 | 48491020707 4 495 | 48491020704 48491020708 48491021508 48491020703 496 | 48491020505 6 497 | 48491020310 48491020701 48491021503 48491020602 48491020506 48491020503 498 | 48491020408 5 499 | 48491020406 48491020405 48491020403 48491020311 48491020409 500 | 48491020411 5 501 | 48491020406 48491020409 48491020410 48491020503 48453001785 502 | 48491020409 5 503 | 48491020503 48491020406 48491020311 48491020411 48491020408 504 | 48491020506 5 505 | 48491020507 48491020310 48491020505 48491020503 48491020509 506 | 48491020507 3 507 | 48491020506 48491020510 48491020503 508 | 48491020317 7 509 | 48491020313 48491020311 48491020316 48491020315 48491020322 48491020320 48491020508 510 | 48491020508 5 511 | 48491020510 48491020311 48491020317 48491020503 48491020509 512 | 48491020311 6 513 | 48491020317 48491020316 48491020318 48491020409 48491020408 48491020508 514 | 48491020318 6 515 | 48491020311 48491020316 48491020403 48453001765 48491020404 48491020326 516 | 48491020326 4 517 | 48491020322 48491020328 48491020318 48453001765 518 | 48491020324 5 519 | 48491020312 48491020323 48491020328 48491020321 48453001766 520 | 48491020328 6 521 | 48491020322 48491020323 48491020326 48491020327 48491020324 48453001766 522 | 48491020319 4 523 | 48491020321 48491020302 48491020310 48491020320 524 | 48491020321 5 525 | 48491020312 48491020319 48491020320 48491020324 48491020325 526 | 48491020325 4 527 | 48491020323 48491020320 48491020321 48491020327 528 | 48491020320 8 529 | 48491020313 48491020310 48491020317 48491020315 48491020319 48491020321 48491020327 48491020325 530 | 48491020314 4 531 | 48491020312 48491020302 48491020301 48453001766 532 | 48491020110 5 533 | 48491020604 48491020302 48491020301 48491021402 48491020112 534 | 48491020604 7 535 | 48491020302 48491020310 48491021403 48491020605 48491021504 48491020603 48491020110 536 | 48491020109 5 537 | 48491020115 48491020105 48491020111 48491020204 48491020112 538 | 48491021601 3 539 | 48491021300 48491021602 48491021603 540 | 48491020803 10 541 | 48491021401 48491021402 48491021504 48491021507 48491021506 48491021602 48491020806 48491020805 48491020108 48491020113 542 | 48491020805 5 543 | 48491020803 48491020809 48491020808 48491021602 48491020806 544 | 48491020202 3 545 | 48491020301 48491020204 48491020112 546 | 48491020204 6 547 | 48491020201 48491020203 48491020202 48491020105 48491020109 48491020112 548 | 48491020112 7 549 | 48491020301 48491021402 48491020202 48491020204 48491020109 48491020111 48491020110 550 | 48491021602 7 551 | 48491021300 48491020803 48491021603 48491020805 48491021601 48491020108 48491020808 552 | 48491021603 6 553 | 48491020201 48491020106 48491020107 48491021601 48491021602 48491020108 554 | 48491020106 4 555 | 48491020115 48491020108 48491021603 48491020107 556 | 48491020114 4 557 | 48491020108 48491020111 48491021402 48491020113 558 | 48491020108 8 559 | 48491020803 48491021602 48491021603 48491020114 48491020115 48491020106 48491020111 48491020113 560 | 48491020406 5 561 | 48491020405 48491020410 48491020411 48491020409 48491020408 562 | 48491020405 9 563 | 48453001756 48491020403 48453001714 48453001782 48453001781 48491020408 48491020406 48491020404 48491020410 564 | 48491020504 6 565 | 48491020701 48491020703 48453001864 48453001851 48453001857 48491020503 566 | 48491020701 7 567 | 48491020704 48491021508 48491020703 48491021503 48491020504 48491020505 48491020503 568 | 48491020602 4 569 | 48491020310 48491020505 48491021503 48491020603 570 | 48491020704 4 571 | 48491021508 48491020707 48491020701 48491020703 572 | 48491021502 3 573 | 48491021505 48491021507 48491021503 574 | 48491021503 7 575 | 48491021508 48491021505 48491021507 48491021502 48491020505 48491020602 48491020701 576 | 48491020403 4 577 | 48491020404 48491020405 48491020318 48491020408 578 | 48491021203 5 579 | 48491021202 48491021000 48491020900 48491020808 48491021100 580 | 48491020503 10 581 | 48491020701 48491020507 48453001864 48491020506 48491020510 48491020504 48491020505 48491020409 48491020411 48491020508 582 | 48491020302 7 583 | 48491020301 48491020310 48491020314 48491020604 48491020319 48491020110 48491020312 584 | 48491021000 4 585 | 48491021203 48491020900 48491020808 48491021100 586 | 48491021401 3 587 | 48491020803 48491021402 48491021403 588 | 48491021201 3 589 | 48491021202 48491021100 48491020808 590 | 48491021100 5 591 | 48491021202 48491021203 48491020808 48491021201 48491021000 592 | 48491020404 4 593 | 48491020403 48491020405 48491020318 48453001714 594 | 48491021202 4 595 | 48491021203 48491021100 48491020808 48491021201 596 | 48491020703 9 597 | 48491020704 48491020706 48491020707 48491020701 48491020708 48491020504 48453001857 48453001855 48491020804 598 | 48491021403 4 599 | 48491020604 48491021401 48491021402 48491021504 600 | 48491020310 10 601 | 48491020302 48491020315 48491020604 48491020319 48491020603 48491020602 48491020506 48491020505 48491020320 48491020509 602 | 48491020900 6 603 | 48491021000 48491021300 48021950100 48491021203 48453001854 48491020808 604 | 48491021300 4 605 | 48491020900 48491020808 48491021602 48491021601 606 | 48491021402 8 607 | 48491021401 48491021403 48491020803 48491020114 48491020111 48491020110 48491020113 48491020112 608 | 48491020301 6 609 | 48491020302 48491020314 48491020202 48453001766 48491020110 48491020112 610 | 48491020113 4 611 | 48491020803 48491020114 48491020108 48491021402 612 | 48491020509 5 613 | 48491020506 48491020510 48491020310 48491020508 48491020315 614 | 48491020605 2 615 | 48491020604 48491020603 616 | 48491020312 5 617 | 48491020321 48491020302 48453001766 48491020324 48491020314 618 | 48491020410 5 619 | 48453001756 48491020405 48491020406 48491020411 48453001786 620 | 48491020316 4 621 | 48491020322 48491020311 48491020318 48491020317 622 | 48491020323 3 623 | 48491020328 48491020324 48491020325 624 | 48491020327 5 625 | 48491020322 48491020313 48491020328 48491020320 48491020325 626 | 48491020322 6 627 | 48491020313 48491020317 48491020316 48491020328 48491020326 48491020327 628 | 48491020313 4 629 | 48491020322 48491020320 48491020317 48491020327 630 | 48491020315 4 631 | 48491020320 48491020310 48491020317 48491020509 632 | 48491020510 4 633 | 48491020507 48491020503 48491020508 48491020509 634 | 48491020708 4 635 | 48491020706 48491020707 48491021508 48491020703 636 | 48491020706 4 637 | 48491020804 48491020708 48491021508 48491020703 638 | 48491021505 4 639 | 48491021507 48491021508 48491021503 48491021502 640 | 48491020807 3 641 | 48491020809 48453001858 48491020804 642 | 48491020809 6 643 | 48491020808 48491020807 48491020805 48491020804 48453001859 48453001858 644 | 48491020115 5 645 | 48491020108 48491020109 48491020106 48491020107 48491020105 646 | 48491020111 5 647 | 48491020114 48491020108 48491020109 48491021402 48491020112 648 | 48491020105 5 649 | 48491020115 48491020203 48491020109 48491020204 48491020107 650 | 48491020203 4 651 | 48491020201 48491020107 48491020204 48491020105 652 | 48491020201 4 653 | 48491020107 48491020203 48491020204 48491021603 654 | 48491020107 6 655 | 48491020201 48491020203 48491020106 48491021603 48491020105 48491020115 656 | 48491021508 10 657 | 48491020704 48491020706 48491020707 48491020701 48491021505 48491021506 48491020708 48491021503 48491020806 48491020804 658 | 48491020808 11 659 | 48491021000 48491021100 48491020900 48491021202 48491021203 48491021201 48491021602 48491020805 48491020809 48491021300 48453001859 660 | 48491021506 4 661 | 48491020803 48491021507 48491020806 48491021508 662 | 48491020806 5 663 | 48491020803 48491021506 48491021508 48491020805 48491020804 664 | 48491021504 4 665 | 48491020803 48491020604 48491021507 48491021403 666 | 48021950501 4 667 | 48021950502 48021950400 48021950300 48021950100 668 | 48021950801 3 669 | 48021950802 48453002435 48021950300 670 | 48021950802 7 671 | 48055960101 48055960102 48021950600 48021950801 48021950300 48453002436 48453002435 672 | 48021950502 6 673 | 48021950501 48021950100 48021950600 48021950700 48021950300 48021950400 674 | 48021950700 2 675 | 48021950600 48021950502 676 | 48021950600 6 677 | 48021950502 48021950802 48055960102 48055960600 48021950700 48021950300 678 | 48021950200 3 679 | 48453002209 48453001854 48021950100 680 | 48021950100 9 681 | 48453002210 48021950502 48021950501 48453002207 48453002209 48021950200 48021950300 48453001854 48491020900 682 | 48021950300 8 683 | 48021950502 48021950501 48021950802 48021950801 48021950600 48021950100 48453002433 48021950400 684 | 48021950400 3 685 | 48021950502 48021950501 48021950300 686 | 48055960102 7 687 | 48055960500 48055960101 48021950600 48055960600 48055960200 48055960300 48021950802 688 | 48055960101 9 689 | 48055960500 48021950802 48055960102 48209010906 48209010907 48453002434 48453002436 48055960300 48055960400 690 | 48055960500 7 691 | 48055960101 48055960102 48055960600 48209010400 48209010906 48209010302 48209010303 692 | 48055960700 1 693 | 48055960600 694 | 48055960600 4 695 | 48021950600 48055960500 48055960700 48055960102 696 | 48055960400 3 697 | 48055960101 48055960200 48055960300 698 | 48055960300 4 699 | 48055960400 48055960101 48055960200 48055960102 700 | 48055960200 3 701 | 48055960400 48055960102 48055960300 702 | -------------------------------------------------------------------------------- /code/example_data/12420.prj: -------------------------------------------------------------------------------- 1 | PROJCS["Albers",GEOGCS["GCS_GRS 1980(IUGG, 1980)",DATUM["D_unknown",SPHEROID["GRS80",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_origin",37.5],PARAMETER["central_meridian",-96],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]] -------------------------------------------------------------------------------- /code/example_data/12420.qpj: -------------------------------------------------------------------------------- 1 | PROJCS["unnamed",GEOGCS["GRS 1980(IUGG, 1980)",DATUM["unknown",SPHEROID["GRS80",6378137,298.257222101],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_center",37.5],PARAMETER["longitude_of_center",-96],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]] 2 | -------------------------------------------------------------------------------- /code/example_data/12420.shp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoss/censumander/f494fecb1f3c9e32c97f30a1f48880b6efb64fc8/code/example_data/12420.shp -------------------------------------------------------------------------------- /code/example_data/12420.shx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoss/censumander/f494fecb1f3c9e32c97f30a1f48880b6efb64fc8/code/example_data/12420.shx -------------------------------------------------------------------------------- /code/example_data/99999_225.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoss/censumander/f494fecb1f3c9e32c97f30a1f48880b6efb64fc8/code/example_data/99999_225.dbf -------------------------------------------------------------------------------- /code/example_data/99999_225.shp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoss/censumander/f494fecb1f3c9e32c97f30a1f48880b6efb64fc8/code/example_data/99999_225.shp -------------------------------------------------------------------------------- /code/example_data/99999_225.shx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoss/censumander/f494fecb1f3c9e32c97f30a1f48880b6efb64fc8/code/example_data/99999_225.shx -------------------------------------------------------------------------------- /code/example_data/99999_a225_p9_pop9999_k3_j0_est.csv: -------------------------------------------------------------------------------- 1 | 0,0,1000,5000,4500,3500 2 | 1,0,1500,5000,4500,3500 3 | 2,0,1500,5000,4500,3500 4 | 3,0,1000,5000,4500,3500 5 | 4,0,1500,5000,4500,3500 6 | 5,1,3000,3000,3500,1500 7 | 6,1,2000,3000,3500,1500 8 | 7,1,1500,3000,3500,1500 9 | 8,1,1000,3000,3500,1500 10 | 9,1,2500,3000,3500,1500 11 | 10,2,2000,4500,3000,4500 12 | 11,2,1500,4500,3000,4500 13 | 12,2,3000,4500,3000,4500 14 | 13,2,2000,4500,3000,4500 15 | 14,2,3000,4500,3000,4500 16 | 15,0,2500,5000,4500,3500 17 | 16,0,2500,5000,4500,3500 18 | 17,0,1500,5000,4500,3500 19 | 18,0,1000,5000,4500,3500 20 | 19,0,2000,5000,4500,3500 21 | 20,1,3000,3000,3500,1500 22 | 21,1,1000,3000,3500,1500 23 | 22,1,1500,3000,3500,1500 24 | 23,1,1000,3000,3500,1500 25 | 24,1,2500,3000,3500,1500 26 | 25,2,2500,4500,3000,4500 27 | 26,2,3000,4500,3000,4500 28 | 27,2,1500,4500,3000,4500 29 | 28,2,2000,4500,3000,4500 30 | 29,2,2000,4500,3000,4500 31 | 30,0,2500,5000,4500,3500 32 | 31,0,2000,5000,4500,3500 33 | 32,0,2500,5000,4500,3500 34 | 33,0,2000,5000,4500,3500 35 | 34,0,2000,5000,4500,3500 36 | 35,1,1000,3000,3500,1500 37 | 36,1,2000,3000,3500,1500 38 | 37,1,3000,3000,3500,1500 39 | 38,1,2000,3000,3500,1500 40 | 39,1,2000,3000,3500,1500 41 | 40,2,1500,4500,3000,4500 42 | 41,2,1000,4500,3000,4500 43 | 42,2,2000,4500,3000,4500 44 | 43,2,1000,4500,3000,4500 45 | 44,2,1000,4500,3000,4500 46 | 45,0,2000,5000,4500,3500 47 | 46,0,1000,5000,4500,3500 48 | 47,0,3000,5000,4500,3500 49 | 48,0,2500,5000,4500,3500 50 | 49,0,1500,5000,4500,3500 51 | 50,1,3000,3000,3500,1500 52 | 51,1,2500,3000,3500,1500 53 | 52,1,1000,3000,3500,1500 54 | 53,1,2000,3000,3500,1500 55 | 54,1,1500,3000,3500,1500 56 | 55,2,1000,4500,3000,4500 57 | 56,2,2500,4500,3000,4500 58 | 57,2,3000,4500,3000,4500 59 | 58,2,1500,4500,3000,4500 60 | 59,2,2500,4500,3000,4500 61 | 60,0,3000,5000,4500,3500 62 | 61,0,1000,5000,4500,3500 63 | 62,0,3000,5000,4500,3500 64 | 63,0,3000,5000,4500,3500 65 | 64,0,3000,5000,4500,3500 66 | 65,1,2500,3000,3500,1500 67 | 66,1,2500,3000,3500,1500 68 | 67,1,1500,3000,3500,1500 69 | 68,1,3000,3000,3500,1500 70 | 69,1,1500,3000,3500,1500 71 | 70,2,3000,4500,3000,4500 72 | 71,2,1500,4500,3000,4500 73 | 72,2,2500,4500,3000,4500 74 | 73,2,1000,4500,3000,4500 75 | 74,2,2500,4500,3000,4500 76 | 75,3,1500,2000,4000,2000 77 | 76,3,1500,2000,4000,2000 78 | 77,3,3000,2000,4000,2000 79 | 78,3,1000,2000,4000,2000 80 | 79,3,2000,2000,4000,2000 81 | 80,4,2000,1500,2500,5000 82 | 81,4,1000,1500,2500,5000 83 | 82,4,1000,1500,2500,5000 84 | 83,4,1500,1500,2500,5000 85 | 84,4,2500,1500,2500,5000 86 | 85,5,1500,2500,1000,2500 87 | 86,5,2000,2500,1000,2500 88 | 87,5,2000,2500,1000,2500 89 | 88,5,2500,2500,1000,2500 90 | 89,5,2500,2500,1000,2500 91 | 90,3,1000,2000,4000,2000 92 | 91,3,2000,2000,4000,2000 93 | 92,3,2500,2000,4000,2000 94 | 93,3,2000,2000,4000,2000 95 | 94,3,1500,2000,4000,2000 96 | 95,4,2500,1500,2500,5000 97 | 96,4,1500,1500,2500,5000 98 | 97,4,3000,1500,2500,5000 99 | 98,4,2500,1500,2500,5000 100 | 99,4,1500,1500,2500,5000 101 | 100,5,1000,2500,1000,2500 102 | 101,5,1500,2500,1000,2500 103 | 102,5,2000,2500,1000,2500 104 | 103,5,1000,2500,1000,2500 105 | 104,5,2500,2500,1000,2500 106 | 105,3,3000,2000,4000,2000 107 | 106,3,1500,2000,4000,2000 108 | 107,3,3000,2000,4000,2000 109 | 108,3,1000,2000,4000,2000 110 | 109,3,3000,2000,4000,2000 111 | 110,4,2000,1500,2500,5000 112 | 111,4,1000,1500,2500,5000 113 | 112,4,1500,1500,2500,5000 114 | 113,4,1500,1500,2500,5000 115 | 114,4,2000,1500,2500,5000 116 | 115,5,3000,2500,1000,2500 117 | 116,5,2500,2500,1000,2500 118 | 117,5,3000,2500,1000,2500 119 | 118,5,2000,2500,1000,2500 120 | 119,5,1000,2500,1000,2500 121 | 120,3,1000,2000,4000,2000 122 | 121,3,1000,2000,4000,2000 123 | 122,3,3000,2000,4000,2000 124 | 123,3,2500,2000,4000,2000 125 | 124,3,2500,2000,4000,2000 126 | 125,4,2000,1500,2500,5000 127 | 126,4,3000,1500,2500,5000 128 | 127,4,3000,1500,2500,5000 129 | 128,4,2500,1500,2500,5000 130 | 129,4,1000,1500,2500,5000 131 | 130,5,2000,2500,1000,2500 132 | 131,5,1500,2500,1000,2500 133 | 132,5,2500,2500,1000,2500 134 | 133,5,1500,2500,1000,2500 135 | 134,5,3000,2500,1000,2500 136 | 135,3,2500,2000,4000,2000 137 | 136,3,2000,2000,4000,2000 138 | 137,3,1500,2000,4000,2000 139 | 138,3,2500,2000,4000,2000 140 | 139,3,2000,2000,4000,2000 141 | 140,4,2500,1500,2500,5000 142 | 141,4,2000,1500,2500,5000 143 | 142,4,1000,1500,2500,5000 144 | 143,4,3000,1500,2500,5000 145 | 144,4,3000,1500,2500,5000 146 | 145,5,3000,2500,1000,2500 147 | 146,5,1500,2500,1000,2500 148 | 147,5,1000,2500,1000,2500 149 | 148,5,1000,2500,1000,2500 150 | 149,5,3000,2500,1000,2500 151 | 150,6,1000,1000,1500,4000 152 | 151,6,1500,1000,1500,4000 153 | 152,6,2000,1000,1500,4000 154 | 153,6,1500,1000,1500,4000 155 | 154,6,2000,1000,1500,4000 156 | 155,7,2500,4000,2000,3000 157 | 156,7,1500,4000,2000,3000 158 | 157,7,3000,4000,2000,3000 159 | 158,7,1000,4000,2000,3000 160 | 159,7,2000,4000,2000,3000 161 | 160,8,1500,3500,5000,1000 162 | 161,8,1500,3500,5000,1000 163 | 162,8,2500,3500,5000,1000 164 | 163,8,2500,3500,5000,1000 165 | 164,8,1000,3500,5000,1000 166 | 165,6,2500,1000,1500,4000 167 | 166,6,3000,1000,1500,4000 168 | 167,6,1000,1000,1500,4000 169 | 168,6,2000,1000,1500,4000 170 | 169,6,1500,1000,1500,4000 171 | 170,7,2500,4000,2000,3000 172 | 171,7,1000,4000,2000,3000 173 | 172,7,2500,4000,2000,3000 174 | 173,7,3000,4000,2000,3000 175 | 174,7,1500,4000,2000,3000 176 | 175,8,1000,3500,5000,1000 177 | 176,8,2000,3500,5000,1000 178 | 177,8,1000,3500,5000,1000 179 | 178,8,2500,3500,5000,1000 180 | 179,8,2000,3500,5000,1000 181 | 180,6,2500,1000,1500,4000 182 | 181,6,3000,1000,1500,4000 183 | 182,6,3000,1000,1500,4000 184 | 183,6,2500,1000,1500,4000 185 | 184,6,1500,1000,1500,4000 186 | 185,7,1500,4000,2000,3000 187 | 186,7,3000,4000,2000,3000 188 | 187,7,3000,4000,2000,3000 189 | 188,7,1500,4000,2000,3000 190 | 189,7,1000,4000,2000,3000 191 | 190,8,2000,3500,5000,1000 192 | 191,8,3000,3500,5000,1000 193 | 192,8,3000,3500,5000,1000 194 | 193,8,2000,3500,5000,1000 195 | 194,8,2000,3500,5000,1000 196 | 195,6,2500,1000,1500,4000 197 | 196,6,1000,1000,1500,4000 198 | 197,6,3000,1000,1500,4000 199 | 198,6,1000,1000,1500,4000 200 | 199,6,1000,1000,1500,4000 201 | 200,7,2000,4000,2000,3000 202 | 201,7,3000,4000,2000,3000 203 | 202,7,1000,4000,2000,3000 204 | 203,7,2500,4000,2000,3000 205 | 204,7,2500,4000,2000,3000 206 | 205,8,1500,3500,5000,1000 207 | 206,8,1000,3500,5000,1000 208 | 207,8,2500,3500,5000,1000 209 | 208,8,3000,3500,5000,1000 210 | 209,8,1500,3500,5000,1000 211 | 210,6,1500,1000,1500,4000 212 | 211,6,2000,1000,1500,4000 213 | 212,6,2000,1000,1500,4000 214 | 213,6,3000,1000,1500,4000 215 | 214,6,2500,1000,1500,4000 216 | 215,7,1500,4000,2000,3000 217 | 216,7,2000,4000,2000,3000 218 | 217,7,2000,4000,2000,3000 219 | 218,7,2000,4000,2000,3000 220 | 219,7,1000,4000,2000,3000 221 | 220,8,3000,3500,5000,1000 222 | 221,8,1500,3500,5000,1000 223 | 222,8,2500,3500,5000,1000 224 | 223,8,3000,3500,5000,1000 225 | 224,8,1000,3500,5000,1000 226 | -------------------------------------------------------------------------------- /code/example_data/99999_a225_p9_pop9999_k3_j0_stdErr.csv: -------------------------------------------------------------------------------- 1 | 0,0,100.0,500.0,450.0,350.0 2 | 1,0,150.0,500.0,450.0,350.0 3 | 2,0,150.0,500.0,450.0,350.0 4 | 3,0,100.0,500.0,450.0,350.0 5 | 4,0,150.0,500.0,450.0,350.0 6 | 5,1,300.0,300.0,350.0,150.0 7 | 6,1,200.0,300.0,350.0,150.0 8 | 7,1,150.0,300.0,350.0,150.0 9 | 8,1,100.0,300.0,350.0,150.0 10 | 9,1,250.0,300.0,350.0,150.0 11 | 10,2,200.0,450.0,300.0,450.0 12 | 11,2,150.0,450.0,300.0,450.0 13 | 12,2,300.0,450.0,300.0,450.0 14 | 13,2,200.0,450.0,300.0,450.0 15 | 14,2,300.0,450.0,300.0,450.0 16 | 15,0,250.0,500.0,450.0,350.0 17 | 16,0,250.0,500.0,450.0,350.0 18 | 17,0,150.0,500.0,450.0,350.0 19 | 18,0,100.0,500.0,450.0,350.0 20 | 19,0,200.0,500.0,450.0,350.0 21 | 20,1,300.0,300.0,350.0,150.0 22 | 21,1,100.0,300.0,350.0,150.0 23 | 22,1,150.0,300.0,350.0,150.0 24 | 23,1,100.0,300.0,350.0,150.0 25 | 24,1,250.0,300.0,350.0,150.0 26 | 25,2,250.0,450.0,300.0,450.0 27 | 26,2,300.0,450.0,300.0,450.0 28 | 27,2,150.0,450.0,300.0,450.0 29 | 28,2,200.0,450.0,300.0,450.0 30 | 29,2,200.0,450.0,300.0,450.0 31 | 30,0,250.0,500.0,450.0,350.0 32 | 31,0,200.0,500.0,450.0,350.0 33 | 32,0,250.0,500.0,450.0,350.0 34 | 33,0,200.0,500.0,450.0,350.0 35 | 34,0,200.0,500.0,450.0,350.0 36 | 35,1,100.0,300.0,350.0,150.0 37 | 36,1,200.0,300.0,350.0,150.0 38 | 37,1,300.0,300.0,350.0,150.0 39 | 38,1,200.0,300.0,350.0,150.0 40 | 39,1,200.0,300.0,350.0,150.0 41 | 40,2,150.0,450.0,300.0,450.0 42 | 41,2,100.0,450.0,300.0,450.0 43 | 42,2,200.0,450.0,300.0,450.0 44 | 43,2,100.0,450.0,300.0,450.0 45 | 44,2,100.0,450.0,300.0,450.0 46 | 45,0,200.0,500.0,450.0,350.0 47 | 46,0,100.0,500.0,450.0,350.0 48 | 47,0,300.0,500.0,450.0,350.0 49 | 48,0,250.0,500.0,450.0,350.0 50 | 49,0,150.0,500.0,450.0,350.0 51 | 50,1,300.0,300.0,350.0,150.0 52 | 51,1,250.0,300.0,350.0,150.0 53 | 52,1,100.0,300.0,350.0,150.0 54 | 53,1,200.0,300.0,350.0,150.0 55 | 54,1,150.0,300.0,350.0,150.0 56 | 55,2,100.0,450.0,300.0,450.0 57 | 56,2,250.0,450.0,300.0,450.0 58 | 57,2,300.0,450.0,300.0,450.0 59 | 58,2,150.0,450.0,300.0,450.0 60 | 59,2,250.0,450.0,300.0,450.0 61 | 60,0,300.0,500.0,450.0,350.0 62 | 61,0,100.0,500.0,450.0,350.0 63 | 62,0,300.0,500.0,450.0,350.0 64 | 63,0,300.0,500.0,450.0,350.0 65 | 64,0,300.0,500.0,450.0,350.0 66 | 65,1,250.0,300.0,350.0,150.0 67 | 66,1,250.0,300.0,350.0,150.0 68 | 67,1,150.0,300.0,350.0,150.0 69 | 68,1,300.0,300.0,350.0,150.0 70 | 69,1,150.0,300.0,350.0,150.0 71 | 70,2,300.0,450.0,300.0,450.0 72 | 71,2,150.0,450.0,300.0,450.0 73 | 72,2,250.0,450.0,300.0,450.0 74 | 73,2,100.0,450.0,300.0,450.0 75 | 74,2,250.0,450.0,300.0,450.0 76 | 75,3,150.0,200.0,400.0,200.0 77 | 76,3,150.0,200.0,400.0,200.0 78 | 77,3,300.0,200.0,400.0,200.0 79 | 78,3,100.0,200.0,400.0,200.0 80 | 79,3,200.0,200.0,400.0,200.0 81 | 80,4,200.0,150.0,250.0,500.0 82 | 81,4,100.0,150.0,250.0,500.0 83 | 82,4,100.0,150.0,250.0,500.0 84 | 83,4,150.0,150.0,250.0,500.0 85 | 84,4,250.0,150.0,250.0,500.0 86 | 85,5,150.0,250.0,100.0,250.0 87 | 86,5,200.0,250.0,100.0,250.0 88 | 87,5,200.0,250.0,100.0,250.0 89 | 88,5,250.0,250.0,100.0,250.0 90 | 89,5,250.0,250.0,100.0,250.0 91 | 90,3,100.0,200.0,400.0,200.0 92 | 91,3,200.0,200.0,400.0,200.0 93 | 92,3,250.0,200.0,400.0,200.0 94 | 93,3,200.0,200.0,400.0,200.0 95 | 94,3,150.0,200.0,400.0,200.0 96 | 95,4,250.0,150.0,250.0,500.0 97 | 96,4,150.0,150.0,250.0,500.0 98 | 97,4,300.0,150.0,250.0,500.0 99 | 98,4,250.0,150.0,250.0,500.0 100 | 99,4,150.0,150.0,250.0,500.0 101 | 100,5,100.0,250.0,100.0,250.0 102 | 101,5,150.0,250.0,100.0,250.0 103 | 102,5,200.0,250.0,100.0,250.0 104 | 103,5,100.0,250.0,100.0,250.0 105 | 104,5,250.0,250.0,100.0,250.0 106 | 105,3,300.0,200.0,400.0,200.0 107 | 106,3,150.0,200.0,400.0,200.0 108 | 107,3,300.0,200.0,400.0,200.0 109 | 108,3,100.0,200.0,400.0,200.0 110 | 109,3,300.0,200.0,400.0,200.0 111 | 110,4,200.0,150.0,250.0,500.0 112 | 111,4,100.0,150.0,250.0,500.0 113 | 112,4,150.0,150.0,250.0,500.0 114 | 113,4,150.0,150.0,250.0,500.0 115 | 114,4,200.0,150.0,250.0,500.0 116 | 115,5,300.0,250.0,100.0,250.0 117 | 116,5,250.0,250.0,100.0,250.0 118 | 117,5,300.0,250.0,100.0,250.0 119 | 118,5,200.0,250.0,100.0,250.0 120 | 119,5,100.0,250.0,100.0,250.0 121 | 120,3,100.0,200.0,400.0,200.0 122 | 121,3,100.0,200.0,400.0,200.0 123 | 122,3,300.0,200.0,400.0,200.0 124 | 123,3,250.0,200.0,400.0,200.0 125 | 124,3,250.0,200.0,400.0,200.0 126 | 125,4,200.0,150.0,250.0,500.0 127 | 126,4,300.0,150.0,250.0,500.0 128 | 127,4,300.0,150.0,250.0,500.0 129 | 128,4,250.0,150.0,250.0,500.0 130 | 129,4,100.0,150.0,250.0,500.0 131 | 130,5,200.0,250.0,100.0,250.0 132 | 131,5,150.0,250.0,100.0,250.0 133 | 132,5,250.0,250.0,100.0,250.0 134 | 133,5,150.0,250.0,100.0,250.0 135 | 134,5,300.0,250.0,100.0,250.0 136 | 135,3,250.0,200.0,400.0,200.0 137 | 136,3,200.0,200.0,400.0,200.0 138 | 137,3,150.0,200.0,400.0,200.0 139 | 138,3,250.0,200.0,400.0,200.0 140 | 139,3,200.0,200.0,400.0,200.0 141 | 140,4,250.0,150.0,250.0,500.0 142 | 141,4,200.0,150.0,250.0,500.0 143 | 142,4,100.0,150.0,250.0,500.0 144 | 143,4,300.0,150.0,250.0,500.0 145 | 144,4,300.0,150.0,250.0,500.0 146 | 145,5,300.0,250.0,100.0,250.0 147 | 146,5,150.0,250.0,100.0,250.0 148 | 147,5,100.0,250.0,100.0,250.0 149 | 148,5,100.0,250.0,100.0,250.0 150 | 149,5,300.0,250.0,100.0,250.0 151 | 150,6,100.0,100.0,150.0,400.0 152 | 151,6,150.0,100.0,150.0,400.0 153 | 152,6,200.0,100.0,150.0,400.0 154 | 153,6,150.0,100.0,150.0,400.0 155 | 154,6,200.0,100.0,150.0,400.0 156 | 155,7,250.0,400.0,200.0,300.0 157 | 156,7,150.0,400.0,200.0,300.0 158 | 157,7,300.0,400.0,200.0,300.0 159 | 158,7,100.0,400.0,200.0,300.0 160 | 159,7,200.0,400.0,200.0,300.0 161 | 160,8,150.0,350.0,500.0,100.0 162 | 161,8,150.0,350.0,500.0,100.0 163 | 162,8,250.0,350.0,500.0,100.0 164 | 163,8,250.0,350.0,500.0,100.0 165 | 164,8,100.0,350.0,500.0,100.0 166 | 165,6,250.0,100.0,150.0,400.0 167 | 166,6,300.0,100.0,150.0,400.0 168 | 167,6,100.0,100.0,150.0,400.0 169 | 168,6,200.0,100.0,150.0,400.0 170 | 169,6,150.0,100.0,150.0,400.0 171 | 170,7,250.0,400.0,200.0,300.0 172 | 171,7,100.0,400.0,200.0,300.0 173 | 172,7,250.0,400.0,200.0,300.0 174 | 173,7,300.0,400.0,200.0,300.0 175 | 174,7,150.0,400.0,200.0,300.0 176 | 175,8,100.0,350.0,500.0,100.0 177 | 176,8,200.0,350.0,500.0,100.0 178 | 177,8,100.0,350.0,500.0,100.0 179 | 178,8,250.0,350.0,500.0,100.0 180 | 179,8,200.0,350.0,500.0,100.0 181 | 180,6,250.0,100.0,150.0,400.0 182 | 181,6,300.0,100.0,150.0,400.0 183 | 182,6,300.0,100.0,150.0,400.0 184 | 183,6,250.0,100.0,150.0,400.0 185 | 184,6,150.0,100.0,150.0,400.0 186 | 185,7,150.0,400.0,200.0,300.0 187 | 186,7,300.0,400.0,200.0,300.0 188 | 187,7,300.0,400.0,200.0,300.0 189 | 188,7,150.0,400.0,200.0,300.0 190 | 189,7,100.0,400.0,200.0,300.0 191 | 190,8,200.0,350.0,500.0,100.0 192 | 191,8,300.0,350.0,500.0,100.0 193 | 192,8,300.0,350.0,500.0,100.0 194 | 193,8,200.0,350.0,500.0,100.0 195 | 194,8,200.0,350.0,500.0,100.0 196 | 195,6,250.0,100.0,150.0,400.0 197 | 196,6,100.0,100.0,150.0,400.0 198 | 197,6,300.0,100.0,150.0,400.0 199 | 198,6,100.0,100.0,150.0,400.0 200 | 199,6,100.0,100.0,150.0,400.0 201 | 200,7,200.0,400.0,200.0,300.0 202 | 201,7,300.0,400.0,200.0,300.0 203 | 202,7,100.0,400.0,200.0,300.0 204 | 203,7,250.0,400.0,200.0,300.0 205 | 204,7,250.0,400.0,200.0,300.0 206 | 205,8,150.0,350.0,500.0,100.0 207 | 206,8,100.0,350.0,500.0,100.0 208 | 207,8,250.0,350.0,500.0,100.0 209 | 208,8,300.0,350.0,500.0,100.0 210 | 209,8,150.0,350.0,500.0,100.0 211 | 210,6,150.0,100.0,150.0,400.0 212 | 211,6,200.0,100.0,150.0,400.0 213 | 212,6,200.0,100.0,150.0,400.0 214 | 213,6,300.0,100.0,150.0,400.0 215 | 214,6,250.0,100.0,150.0,400.0 216 | 215,7,150.0,400.0,200.0,300.0 217 | 216,7,200.0,400.0,200.0,300.0 218 | 217,7,200.0,400.0,200.0,300.0 219 | 218,7,200.0,400.0,200.0,300.0 220 | 219,7,100.0,400.0,200.0,300.0 221 | 220,8,300.0,350.0,500.0,100.0 222 | 221,8,150.0,350.0,500.0,100.0 223 | 222,8,250.0,350.0,500.0,100.0 224 | 223,8,300.0,350.0,500.0,100.0 225 | 224,8,100.0,350.0,500.0,100.0 226 | -------------------------------------------------------------------------------- /code/example_data/all_count_est_12420.csv: -------------------------------------------------------------------------------- 1 | id,ACS11_5yr_B01003001 2 | g48209010901,7613 3 | g48209010809,5421 4 | g48209010909,4208 5 | g48209010906,10851 6 | g48209010303,6980 7 | g48209010908,6733 8 | g48209010805,5731 9 | g48209010808,5889 10 | g48209010806,3900 11 | g48209010807,1972 12 | g48209010803,3928 13 | g48209010907,9906 14 | g48209010910,7911 15 | g48209010905,5327 16 | g48209010304,5430 17 | g48209010702,2486 18 | g48209010804,8886 19 | g48209010701,6658 20 | g48209010200,6449 21 | g48209010100,2213 22 | g48209010600,9402 23 | g48209010500,3385 24 | g48209010400,7626 25 | g48209010302,4214 26 | g48209010902,9708 27 | g48453001857,4841 28 | g48453001862,5549 29 | g48453001855,13145 30 | g48453001859,1080 31 | g48453001858,14265 32 | g48453001779,5984 33 | g48453001776,2387 34 | g48453002425,2972 35 | g48453001915,1806 36 | g48453001778,3582 37 | g48453001777,5561 38 | g48453001770,11279 39 | g48453001775,4293 40 | g48453001772,2763 41 | g48453002428,5277 42 | g48453001864,2817 43 | g48453001846,2494 44 | g48453001785,3932 45 | g48453001781,2272 46 | g48453001780,4115 47 | g48453001784,5225 48 | g48453001757,1975 49 | g48453001919,3802 50 | g48453001918,2413 51 | g48453002318,5714 52 | g48453000307,1664 53 | g48453000205,3158 54 | g48453000305,3064 55 | g48453000206,3246 56 | g48453001783,5313 57 | g48453001916,3484 58 | g48453001917,4618 59 | g48453001402,2701 60 | g48453001308,2731 61 | g48453001307,3780 62 | g48453001786,5171 63 | g48453002500,5153 64 | g48453001782,5017 65 | g48453002426,6643 66 | g48453002211,1455 67 | g48453000306,1830 68 | g48453001771,3977 69 | g48453001773,5388 70 | g48453001863,3603 71 | g48453001861,4431 72 | g48453001860,4055 73 | g48453001856,5332 74 | g48453002435,6466 75 | g48453002319,0 76 | g48453000304,3349 77 | g48453002317,4715 78 | g48453001774,7651 79 | g48453002430,3359 80 | g48453002427,7173 81 | g48453002429,562 82 | g48453002431,6844 83 | g48453002433,5409 84 | g48453002208,6728 85 | g48453002432,2121 86 | g48453002434,1616 87 | g48453002436,2007 88 | g48453001914,5917 89 | g48453002209,7320 90 | g48453002212,712 91 | g48453002207,7954 92 | g48453002210,3055 93 | g48453001854,4493 94 | g48453002411,6089 95 | g48453002410,3746 96 | g48453002409,3373 97 | g48453002403,3209 98 | g48453002402,6165 99 | g48453002312,6409 100 | g48453002308,5603 101 | g48453002307,5567 102 | g48453002315,3336 103 | g48453002424,3212 104 | g48453002316,5856 105 | g48453002304,4270 106 | g48453001747,5196 107 | g48453002113,3635 108 | g48453002112,4836 109 | g48453002110,4451 110 | g48453002109,3171 111 | g48453002108,3814 112 | g48453002107,4122 113 | g48453002106,3373 114 | g48453002105,5310 115 | g48453002104,3117 116 | g48453002003,3878 117 | g48453002002,2769 118 | g48453002005,4522 119 | g48453002313,4495 120 | g48453001911,2964 121 | g48453001901,5550 122 | g48453001835,5213 123 | g48453001832,3069 124 | g48453001829,2699 125 | g48453001828,3656 126 | g48453001849,5651 127 | g48453001826,2059 128 | g48453001845,3209 129 | g48453001844,3454 130 | g48453002419,3912 131 | g48453001823,6300 132 | g48453001822,6809 133 | g48453001821,5312 134 | g48453001820,6864 135 | g48453001819,4856 136 | g48453001818,5593 137 | g48453001817,3687 138 | g48453001813,6538 139 | g48453001812,7381 140 | g48453001811,3032 141 | g48453001806,6486 142 | g48453001805,4547 143 | g48453001804,5885 144 | g48453001738,6676 145 | g48453001750,5124 146 | g48453002004,2117 147 | g48453001841,16730 148 | g48453001853,3110 149 | g48453001753,1182 150 | g48453001719,3830 151 | g48453001718,5440 152 | g48453001713,3895 153 | g48453001712,3703 154 | g48453001707,5221 155 | g48453001706,3570 156 | g48453001705,4594 157 | g48453001605,3817 158 | g48453001604,3855 159 | g48453001603,4448 160 | g48453001602,3234 161 | g48453001305,5551 162 | g48453001304,3790 163 | g48453001303,2358 164 | g48453001200,3632 165 | g48453001100,3800 166 | g48453001000,3751 167 | g48453000902,5348 168 | g48453001505,4220 169 | g48453001504,4644 170 | g48453001503,3862 171 | g48453001501,4850 172 | g48453000901,1860 173 | g48453000804,2528 174 | g48453000803,1953 175 | g48453000802,3127 176 | g48453000801,1394 177 | g48453000700,1157 178 | g48453000604,5032 179 | g48453000603,7128 180 | g48453000601,9381 181 | g48453000500,4547 182 | g48453000402,2471 183 | g48453000401,3236 184 | g48453000302,5411 185 | g48453000204,2994 186 | g48453000203,1373 187 | g48453001754,4587 188 | g48453000102,2526 189 | g48453000101,3801 190 | g48453002407,4247 191 | g48453001606,0 192 | g48453002310,2624 193 | g48453980000,0 194 | g48453001746,3990 195 | g48453002202,8714 196 | g48453002201,1783 197 | g48453002111,4365 198 | g48453001913,4801 199 | g48453001910,3970 200 | g48453001834,7687 201 | g48453001908,7791 202 | g48453001833,7388 203 | g48453001840,8435 204 | g48453001851,8443 205 | g48453001824,1817 206 | g48453001749,5659 207 | g48453001843,2280 208 | g48453001729,4666 209 | g48453001728,6516 210 | g48453001745,2491 211 | g48453001766,7102 212 | g48453002421,6325 213 | g48453002423,5753 214 | g48453002314,5256 215 | g48453001748,4892 216 | g48453001912,3943 217 | g48453001752,3757 218 | g48453001760,14133 219 | g48453001742,5108 220 | g48453001847,7293 221 | g48453001848,4532 222 | g48453001755,5813 223 | g48453001756,4020 224 | g48453001764,5557 225 | g48453001737,10085 226 | g48453001740,4098 227 | g48453001765,14221 228 | g48453001714,11986 229 | g48453001403,1315 230 | g48453001733,3321 231 | g48453001769,5249 232 | g48453001768,5368 233 | g48453001722,4187 234 | g48453001761,6820 235 | g48453001751,1953 236 | g48453001716,4843 237 | g48453001842,7342 238 | g48453001741,3615 239 | g48453001850,4303 240 | g48453001839,6200 241 | g48453001401,2913 242 | g48453002422,5270 243 | g48453002413,4355 244 | g48453002412,5508 245 | g48491020603,8103 246 | g48491021507,7669 247 | g48491020804,7385 248 | g48491020707,4421 249 | g48491020505,2935 250 | g48491020408,4119 251 | g48491020411,5974 252 | g48491020409,3967 253 | g48491020506,8649 254 | g48491020507,2775 255 | g48491020317,2793 256 | g48491020508,4529 257 | g48491020311,2611 258 | g48491020318,8254 259 | g48491020326,6070 260 | g48491020324,5378 261 | g48491020328,6573 262 | g48491020319,5245 263 | g48491020321,1649 264 | g48491020325,3431 265 | g48491020320,6866 266 | g48491020314,5271 267 | g48491020110,3741 268 | g48491020604,4850 269 | g48491020109,2631 270 | g48491021601,2754 271 | g48491020803,3926 272 | g48491020805,6747 273 | g48491020202,4536 274 | g48491020204,4497 275 | g48491020112,3069 276 | g48491021602,3451 277 | g48491021603,1816 278 | g48491020106,2981 279 | g48491020114,4992 280 | g48491020108,2961 281 | g48491020406,5949 282 | g48491020405,5726 283 | g48491020504,8648 284 | g48491020701,2489 285 | g48491020602,5175 286 | g48491020704,5278 287 | g48491021502,4914 288 | g48491021503,3912 289 | g48491020403,1920 290 | g48491021203,2967 291 | g48491020503,4720 292 | g48491020302,2644 293 | g48491021000,3130 294 | g48491021401,9433 295 | g48491021201,2766 296 | g48491021100,2695 297 | g48491020404,3406 298 | g48491021202,2979 299 | g48491020703,11194 300 | g48491021403,3692 301 | g48491020310,2345 302 | g48491020900,4020 303 | g48491021300,3631 304 | g48491021402,4156 305 | g48491020301,5421 306 | g48491020113,2433 307 | g48491020509,6892 308 | g48491020605,6752 309 | g48491020312,6309 310 | g48491020410,6027 311 | g48491020316,3202 312 | g48491020323,2718 313 | g48491020327,2549 314 | g48491020322,8383 315 | g48491020313,8235 316 | g48491020315,3427 317 | g48491020510,9332 318 | g48491020708,6269 319 | g48491020706,4192 320 | g48491021505,6792 321 | g48491020807,6589 322 | g48491020809,5565 323 | g48491020115,2045 324 | g48491020111,2805 325 | g48491020105,3489 326 | g48491020203,2565 327 | g48491020201,1459 328 | g48491020107,4617 329 | g48491021508,6047 330 | g48491020808,1482 331 | g48491021506,2400 332 | g48491020806,1722 333 | g48491021504,4787 334 | g48021950501,7537 335 | g48021950801,6149 336 | g48021950802,7290 337 | g48021950502,5692 338 | g48021950700,4260 339 | g48021950600,4350 340 | g48021950200,8048 341 | g48021950100,9742 342 | g48021950300,12147 343 | g48021950400,8153 344 | g48055960102,3749 345 | g48055960101,5822 346 | g48055960500,7069 347 | g48055960700,5785 348 | g48055960600,2328 349 | g48055960400,3590 350 | g48055960300,3964 351 | g48055960200,5488 352 | -------------------------------------------------------------------------------- /code/example_data/all_count_stdErr_12420.csv: -------------------------------------------------------------------------------- 1 | id,ACS11_5yr_B01003001 2 | g48209010901,297.575757576 3 | g48209010809,372.727272727 4 | g48209010909,248.484848485 5 | g48209010906,538.787878788 6 | g48209010303,440.0 7 | g48209010908,513.333333333 8 | g48209010805,346.666666667 9 | g48209010808,318.787878788 10 | g48209010806,281.212121212 11 | g48209010807,280.0 12 | g48209010803,282.424242424 13 | g48209010907,587.878787879 14 | g48209010910,435.151515152 15 | g48209010905,347.272727273 16 | g48209010304,318.181818182 17 | g48209010702,253.939393939 18 | g48209010804,348.484848485 19 | g48209010701,418.787878788 20 | g48209010200,578.181818182 21 | g48209010100,176.96969697 22 | g48209010600,442.424242424 23 | g48209010500,246.666666667 24 | g48209010400,392.121212121 25 | g48209010302,267.878787879 26 | g48209010902,504.242424242 27 | g48453001857,441.818181818 28 | g48453001862,293.333333333 29 | g48453001855,467.272727273 30 | g48453001859,132.727272727 31 | g48453001858,577.575757576 32 | g48453001779,159.393939394 33 | g48453001776,145.454545455 34 | g48453002425,207.878787879 35 | g48453001915,190.909090909 36 | g48453001778,172.121212121 37 | g48453001777,280.0 38 | g48453001770,297.575757576 39 | g48453001775,159.393939394 40 | g48453001772,303.03030303 41 | g48453002428,406.060606061 42 | g48453001864,189.696969697 43 | g48453001846,118.787878788 44 | g48453001785,174.545454545 45 | g48453001781,116.363636364 46 | g48453001780,250.909090909 47 | g48453001784,185.454545455 48 | g48453001757,99.3939393939 49 | g48453001919,100.0 50 | g48453001918,99.3939393939 51 | g48453002318,418.787878788 52 | g48453000307,122.424242424 53 | g48453000205,155.757575758 54 | g48453000305,189.090909091 55 | g48453000206,201.212121212 56 | g48453001783,210.909090909 57 | g48453001916,257.575757576 58 | g48453001917,161.818181818 59 | g48453001402,128.484848485 60 | g48453001308,246.060606061 61 | g48453001307,246.666666667 62 | g48453001786,304.848484848 63 | g48453002500,181.818181818 64 | g48453001782,227.272727273 65 | g48453002426,390.909090909 66 | g48453002211,288.484848485 67 | g48453000306,235.151515152 68 | g48453001771,167.272727273 69 | g48453001773,204.242424242 70 | g48453001863,244.242424242 71 | g48453001861,341.212121212 72 | g48453001860,242.424242424 73 | g48453001856,389.090909091 74 | g48453002435,476.96969697 75 | g48453002319,0.0 76 | g48453000304,279.393939394 77 | g48453002317,284.848484848 78 | g48453001774,309.696969697 79 | g48453002430,237.575757576 80 | g48453002427,486.060606061 81 | g48453002429,81.8181818182 82 | g48453002431,390.303030303 83 | g48453002433,380.0 84 | g48453002208,531.515151515 85 | g48453002432,272.727272727 86 | g48453002434,132.121212121 87 | g48453002436,312.727272727 88 | g48453001914,221.212121212 89 | g48453002209,585.454545455 90 | g48453002212,66.0606060606 91 | g48453002207,397.575757576 92 | g48453002210,362.424242424 93 | g48453001854,261.212121212 94 | g48453002411,233.333333333 95 | g48453002410,209.696969697 96 | g48453002409,183.636363636 97 | g48453002403,326.060606061 98 | g48453002402,379.393939394 99 | g48453002312,359.393939394 100 | g48453002308,439.393939394 101 | g48453002307,485.454545455 102 | g48453002315,284.242424242 103 | g48453002424,227.878787879 104 | g48453002316,453.939393939 105 | g48453002304,428.484848485 106 | g48453001747,280.606060606 107 | g48453002113,235.757575758 108 | g48453002112,336.363636364 109 | g48453002110,318.787878788 110 | g48453002109,218.181818182 111 | g48453002108,344.848484848 112 | g48453002107,279.393939394 113 | g48453002106,339.393939394 114 | g48453002105,393.333333333 115 | g48453002104,223.03030303 116 | g48453002003,330.909090909 117 | g48453002002,195.151515152 118 | g48453002005,300.606060606 119 | g48453002313,309.696969697 120 | g48453001911,132.121212121 121 | g48453001901,545.454545455 122 | g48453001835,357.575757576 123 | g48453001832,252.727272727 124 | g48453001829,143.03030303 125 | g48453001828,138.181818182 126 | g48453001849,337.575757576 127 | g48453001826,159.393939394 128 | g48453001845,193.939393939 129 | g48453001844,207.878787879 130 | g48453002419,222.424242424 131 | g48453001823,403.03030303 132 | g48453001822,438.181818182 133 | g48453001821,318.181818182 134 | g48453001820,387.272727273 135 | g48453001819,335.151515152 136 | g48453001818,435.151515152 137 | g48453001817,242.424242424 138 | g48453001813,459.393939394 139 | g48453001812,427.272727273 140 | g48453001811,343.636363636 141 | g48453001806,398.181818182 142 | g48453001805,325.454545455 143 | g48453001804,369.696969697 144 | g48453001738,178.181818182 145 | g48453001750,275.151515152 146 | g48453002004,205.454545455 147 | g48453001841,623.636363636 148 | g48453001853,121.818181818 149 | g48453001753,61.8181818182 150 | g48453001719,132.121212121 151 | g48453001718,196.96969697 152 | g48453001713,261.818181818 153 | g48453001712,206.666666667 154 | g48453001707,382.424242424 155 | g48453001706,173.333333333 156 | g48453001705,154.545454545 157 | g48453001605,335.757575758 158 | g48453001604,144.242424242 159 | g48453001603,201.818181818 160 | g48453001602,221.212121212 161 | g48453001305,323.03030303 162 | g48453001304,150.303030303 163 | g48453001303,185.454545455 164 | g48453001200,284.242424242 165 | g48453001100,309.090909091 166 | g48453001000,287.272727273 167 | g48453000902,427.878787879 168 | g48453001505,171.515151515 169 | g48453001504,240.0 170 | g48453001503,250.303030303 171 | g48453001501,159.393939394 172 | g48453000901,126.060606061 173 | g48453000804,182.424242424 174 | g48453000803,169.696969697 175 | g48453000802,296.96969697 176 | g48453000801,154.545454545 177 | g48453000700,113.333333333 178 | g48453000604,572.121212121 179 | g48453000603,430.909090909 180 | g48453000601,845.454545455 181 | g48453000500,311.515151515 182 | g48453000402,192.727272727 183 | g48453000401,229.696969697 184 | g48453000302,292.121212121 185 | g48453000204,167.878787879 186 | g48453000203,153.333333333 187 | g48453001754,222.424242424 188 | g48453000102,96.9696969697 189 | g48453000101,207.272727273 190 | g48453002407,247.272727273 191 | g48453001606,0.0 192 | g48453002310,228.484848485 193 | g48453980000,0.0 194 | g48453001746,198.787878788 195 | g48453002202,626.060606061 196 | g48453002201,175.757575758 197 | g48453002111,266.666666667 198 | g48453001913,217.575757576 199 | g48453001910,153.333333333 200 | g48453001834,375.757575758 201 | g48453001908,481.212121212 202 | g48453001833,423.03030303 203 | g48453001840,495.151515152 204 | g48453001851,412.727272727 205 | g48453001824,173.333333333 206 | g48453001749,346.666666667 207 | g48453001843,97.5757575758 208 | g48453001729,287.878787879 209 | g48453001728,260.0 210 | g48453001745,148.484848485 211 | g48453001766,424.848484848 212 | g48453002421,355.151515152 213 | g48453002423,552.727272727 214 | g48453002314,422.424242424 215 | g48453001748,246.060606061 216 | g48453001912,244.848484848 217 | g48453001752,273.333333333 218 | g48453001760,592.121212121 219 | g48453001742,367.878787879 220 | g48453001847,347.878787879 221 | g48453001848,236.96969697 222 | g48453001755,153.939393939 223 | g48453001756,204.242424242 224 | g48453001764,356.96969697 225 | g48453001737,190.909090909 226 | g48453001740,174.545454545 227 | g48453001765,383.03030303 228 | g48453001714,370.303030303 229 | g48453001403,95.7575757576 230 | g48453001733,236.363636364 231 | g48453001769,194.545454545 232 | g48453001768,329.090909091 233 | g48453001722,178.181818182 234 | g48453001761,282.424242424 235 | g48453001751,97.5757575758 236 | g48453001716,163.636363636 237 | g48453001842,367.272727273 238 | g48453001741,225.454545455 239 | g48453001850,283.03030303 240 | g48453001839,303.636363636 241 | g48453001401,158.787878788 242 | g48453002422,298.181818182 243 | g48453002413,269.090909091 244 | g48453002412,257.575757576 245 | g48491020603,316.363636364 246 | g48491021507,463.03030303 247 | g48491020804,276.363636364 248 | g48491020707,347.878787879 249 | g48491020505,102.424242424 250 | g48491020408,242.424242424 251 | g48491020411,361.212121212 252 | g48491020409,244.848484848 253 | g48491020506,415.757575758 254 | g48491020507,244.848484848 255 | g48491020317,249.696969697 256 | g48491020508,256.363636364 257 | g48491020311,145.454545455 258 | g48491020318,267.272727273 259 | g48491020326,239.393939394 260 | g48491020324,266.060606061 261 | g48491020328,203.03030303 262 | g48491020319,316.96969697 263 | g48491020321,173.939393939 264 | g48491020325,315.151515152 265 | g48491020320,358.787878788 266 | g48491020314,408.484848485 267 | g48491020110,166.666666667 268 | g48491020604,290.303030303 269 | g48491020109,271.515151515 270 | g48491021601,215.757575758 271 | g48491020803,399.393939394 272 | g48491020805,355.151515152 273 | g48491020202,246.666666667 274 | g48491020204,390.303030303 275 | g48491020112,206.060606061 276 | g48491021602,312.727272727 277 | g48491021603,132.121212121 278 | g48491020106,193.939393939 279 | g48491020114,486.060606061 280 | g48491020108,151.515151515 281 | g48491020406,338.181818182 282 | g48491020405,294.545454545 283 | g48491020504,497.575757576 284 | g48491020701,258.181818182 285 | g48491020602,340.0 286 | g48491020704,238.181818182 287 | g48491021502,278.181818182 288 | g48491021503,276.96969697 289 | g48491020403,149.090909091 290 | g48491021203,299.393939394 291 | g48491020503,194.545454545 292 | g48491020302,228.484848485 293 | g48491021000,201.818181818 294 | g48491021401,404.848484848 295 | g48491021201,162.424242424 296 | g48491021100,258.787878788 297 | g48491020404,156.96969697 298 | g48491021202,205.454545455 299 | g48491020703,512.121212121 300 | g48491021403,269.090909091 301 | g48491020310,73.9393939394 302 | g48491020900,229.696969697 303 | g48491021300,213.939393939 304 | g48491021402,318.181818182 305 | g48491020301,350.303030303 306 | g48491020113,180.0 307 | g48491020509,240.0 308 | g48491020605,271.515151515 309 | g48491020312,299.393939394 310 | g48491020410,301.818181818 311 | g48491020316,294.545454545 312 | g48491020323,162.424242424 313 | g48491020327,195.757575758 314 | g48491020322,269.090909091 315 | g48491020313,390.303030303 316 | g48491020315,385.454545455 317 | g48491020510,336.96969697 318 | g48491020708,447.272727273 319 | g48491020706,256.96969697 320 | g48491021505,307.878787879 321 | g48491020807,246.060606061 322 | g48491020809,290.909090909 323 | g48491020115,200.606060606 324 | g48491020111,180.0 325 | g48491020105,246.666666667 326 | g48491020203,183.636363636 327 | g48491020201,132.727272727 328 | g48491020107,212.727272727 329 | g48491021508,593.939393939 330 | g48491020808,227.272727273 331 | g48491021506,255.757575758 332 | g48491020806,191.515151515 333 | g48491021504,449.090909091 334 | g48021950501,430.303030303 335 | g48021950801,592.121212121 336 | g48021950802,586.666666667 337 | g48021950502,438.787878788 338 | g48021950700,163.636363636 339 | g48021950600,350.909090909 340 | g48021950200,252.727272727 341 | g48021950100,606.060606061 342 | g48021950300,543.03030303 343 | g48021950400,500.606060606 344 | g48055960102,329.090909091 345 | g48055960101,485.454545455 346 | g48055960500,427.272727273 347 | g48055960700,136.96969697 348 | g48055960600,230.303030303 349 | g48055960400,253.333333333 350 | g48055960300,232.121212121 351 | g48055960200,291.515151515 352 | -------------------------------------------------------------------------------- /code/example_data/all_exclude_12420.csv: -------------------------------------------------------------------------------- 1 | g48453001606,g48453002319,g48453980000 -------------------------------------------------------------------------------- /code/example_data/transportation_prop.csv: -------------------------------------------------------------------------------- 1 | pct_drove_alone,pct_transit -------------------------------------------------------------------------------- /code/example_data/transportation_prop_est_12420.csv: -------------------------------------------------------------------------------- 1 | id,ACS11_5yr_B08101009,ACS11_5yr_B08101001,ACS11_5yr_B08101025,ACS11_5yr_B08101001 2 | g48209010901,3474,4250,13,4250 3 | g48209010809,2092,2471,0,2471 4 | g48209010909,1590,2098,0,2098 5 | g48209010906,3545,4718,0,4718 6 | g48209010303,2484,3092,210,3092 7 | g48209010908,2175,3286,0,3286 8 | g48209010805,2125,2589,0,2589 9 | g48209010808,2300,2936,0,2936 10 | g48209010806,1185,1918,0,1918 11 | g48209010807,769,1017,0,1017 12 | g48209010803,1065,1662,0,1662 13 | g48209010907,3082,4724,29,4724 14 | g48209010910,3012,3728,34,3728 15 | g48209010905,2213,2722,20,2722 16 | g48209010304,2199,2720,99,2720 17 | g48209010702,1052,1277,0,1277 18 | g48209010804,3218,4363,0,4363 19 | g48209010701,2708,3430,105,3430 20 | g48209010200,711,1498,17,1498 21 | g48209010100,806,1162,0,1162 22 | g48209010600,3871,4506,0,4506 23 | g48209010500,1053,1520,47,1520 24 | g48209010400,3078,3613,118,3613 25 | g48209010302,1422,1843,14,1843 26 | g48209010902,4049,4941,0,4941 27 | g48453001857,1999,2571,0,2571 28 | g48453001862,1974,2635,38,2635 29 | g48453001855,5144,6223,20,6223 30 | g48453001859,463,573,0,573 31 | g48453001858,5754,7459,29,7459 32 | g48453001779,2075,2787,0,2787 33 | g48453001776,1117,1529,15,1529 34 | g48453002425,1539,1766,0,1766 35 | g48453001915,489,723,0,723 36 | g48453001778,1319,1691,0,1691 37 | g48453001777,2582,3196,15,3196 38 | g48453001770,3965,5087,0,5087 39 | g48453001775,1613,2030,0,2030 40 | g48453001772,1129,1669,0,1669 41 | g48453002428,2332,2943,0,2943 42 | g48453001864,1505,1725,28,1725 43 | g48453001846,1146,1400,0,1400 44 | g48453001785,2724,2926,13,2926 45 | g48453001781,794,1000,0,1000 46 | g48453001780,1565,1987,0,1987 47 | g48453001784,1735,2257,0,2257 48 | g48453001757,840,995,37,995 49 | g48453001919,1401,1793,0,1793 50 | g48453001918,636,974,0,974 51 | g48453002318,2185,3148,410,3148 52 | g48453000307,811,1099,34,1099 53 | g48453000205,1305,2225,436,2225 54 | g48453000305,1502,2169,165,2169 55 | g48453000206,1407,1700,108,1700 56 | g48453001783,2109,2737,0,2737 57 | g48453001916,1098,1347,0,1347 58 | g48453001917,1862,2255,0,2255 59 | g48453001402,1236,1841,92,1841 60 | g48453001308,942,1722,178,1722 61 | g48453001307,1428,2156,117,2156 62 | g48453001786,2787,3459,89,3459 63 | g48453002500,2503,3084,75,3084 64 | g48453001782,1990,2530,0,2530 65 | g48453002426,2449,3274,76,3274 66 | g48453002211,663,792,0,792 67 | g48453000306,863,1091,63,1091 68 | g48453001771,1323,1720,0,1720 69 | g48453001773,1747,2191,0,2191 70 | g48453001863,1789,2193,61,2193 71 | g48453001861,1910,2439,1,2439 72 | g48453001860,1434,1858,0,1858 73 | g48453001856,1597,2418,119,2418 74 | g48453002435,1725,2219,0,2219 75 | g48453002319,0,0,0,0 76 | g48453000304,1477,2136,212,2136 77 | g48453002317,1184,2612,664,2612 78 | g48453001774,3535,4487,0,4487 79 | g48453002430,1232,1529,20,1529 80 | g48453002427,1663,3108,248,3108 81 | g48453002429,403,410,0,410 82 | g48453002431,2619,3541,74,3541 83 | g48453002433,1440,2721,0,2721 84 | g48453002208,1771,2218,29,2218 85 | g48453002432,512,796,1,796 86 | g48453002434,520,676,0,676 87 | g48453002436,760,859,0,859 88 | g48453001914,2781,3387,8,3387 89 | g48453002209,2563,3002,0,3002 90 | g48453002212,342,375,0,375 91 | g48453002207,2882,4084,105,4084 92 | g48453002210,871,1375,0,1375 93 | g48453001854,1575,2033,0,2033 94 | g48453002411,1461,2660,207,2660 95 | g48453002410,1602,2173,68,2173 96 | g48453002409,1465,1979,74,1979 97 | g48453002403,1221,1715,42,1715 98 | g48453002402,2600,3815,211,3815 99 | g48453002312,1852,2712,124,2712 100 | g48453002308,1612,2789,407,2789 101 | g48453002307,1755,3123,320,3123 102 | g48453002315,967,1971,264,1971 103 | g48453002424,1153,1654,170,1654 104 | g48453002316,1579,3082,461,3082 105 | g48453002304,932,2407,283,2407 106 | g48453001747,2005,2691,71,2691 107 | g48453002113,1063,1654,140,1654 108 | g48453002112,1444,2544,184,2544 109 | g48453002110,1080,1614,159,1614 110 | g48453002109,1009,1443,70,1443 111 | g48453002108,1156,1680,123,1680 112 | g48453002107,1297,1686,120,1686 113 | g48453002106,1141,1613,72,1613 114 | g48453002105,1336,2204,236,2204 115 | g48453002104,1090,1569,154,1569 116 | g48453002003,1241,1899,135,1899 117 | g48453002002,1461,1909,77,1909 118 | g48453002005,1724,2773,267,2773 119 | g48453002313,1941,2868,189,2868 120 | g48453001911,1981,2267,10,2267 121 | g48453001901,3019,3850,78,3850 122 | g48453001835,2141,2646,0,2646 123 | g48453001832,1154,1633,30,1633 124 | g48453001829,1660,2036,20,2036 125 | g48453001828,1950,2276,3,2276 126 | g48453001849,2806,3798,174,3798 127 | g48453001826,921,1095,26,1095 128 | g48453001845,1275,1781,0,1781 129 | g48453001844,1676,2017,90,2017 130 | g48453002419,1742,2292,172,2292 131 | g48453001823,1778,2948,146,2948 132 | g48453001822,2075,3336,390,3336 133 | g48453001821,1870,2798,105,2798 134 | g48453001820,1953,3409,353,3409 135 | g48453001819,1153,2300,195,2300 136 | g48453001818,2176,3122,120,3122 137 | g48453001817,1404,2235,159,2235 138 | g48453001813,2263,3335,211,3335 139 | g48453001812,1861,3801,361,3801 140 | g48453001811,1028,1560,67,1560 141 | g48453001806,1743,2844,169,2844 142 | g48453001805,1387,2376,105,2376 143 | g48453001804,2357,3314,123,3314 144 | g48453001738,2852,3676,3,3676 145 | g48453001750,2752,3424,42,3424 146 | g48453002004,1190,1562,106,1562 147 | g48453001841,6436,8467,52,8467 148 | g48453001853,1540,1892,29,1892 149 | g48453001753,877,930,22,930 150 | g48453001719,1447,1886,0,1886 151 | g48453001718,1954,2902,269,2902 152 | g48453001713,1519,1999,64,1999 153 | g48453001712,1401,1963,194,1963 154 | g48453001707,2049,2647,25,2647 155 | g48453001706,1811,2086,39,2086 156 | g48453001705,1865,2286,0,2286 157 | g48453001605,1816,2373,79,2373 158 | g48453001604,1322,1730,17,1730 159 | g48453001603,1945,2317,24,2317 160 | g48453001602,1099,1811,322,1811 161 | g48453001305,1819,2903,212,2903 162 | g48453001304,1778,2517,57,2517 163 | g48453001303,1048,1596,49,1596 164 | g48453001200,1557,2533,211,2533 165 | g48453001100,1409,2258,51,2258 166 | g48453001000,935,1694,191,1694 167 | g48453000902,1244,2140,180,2140 168 | g48453001505,1757,2620,197,2620 169 | g48453001504,1742,2543,240,2543 170 | g48453001503,1398,2595,408,2595 171 | g48453001501,1991,2766,36,2766 172 | g48453000901,614,832,39,832 173 | g48453000804,745,1103,34,1103 174 | g48453000803,699,1164,77,1164 175 | g48453000802,740,1153,237,1153 176 | g48453000801,398,576,11,576 177 | g48453000700,352,670,21,670 178 | g48453000604,797,1920,99,1920 179 | g48453000603,1415,2334,98,2334 180 | g48453000601,648,1678,71,1678 181 | g48453000500,1419,2746,186,2746 182 | g48453000402,816,1453,201,1453 183 | g48453000401,1207,2179,236,2179 184 | g48453000302,2026,3148,566,3148 185 | g48453000204,1091,1814,94,1814 186 | g48453000203,471,734,130,734 187 | g48453001754,1781,2357,99,2357 188 | g48453000102,951,1178,17,1178 189 | g48453000101,1492,1938,0,1938 190 | g48453002407,1754,2363,14,2363 191 | g48453001606,0,0,0,0 192 | g48453002310,667,895,22,895 193 | g48453980000,0,0,0,0 194 | g48453001746,1881,2592,20,2592 195 | g48453002202,2285,3362,127,3362 196 | g48453002201,572,800,64,800 197 | g48453002111,969,1589,177,1589 198 | g48453001913,1510,1983,1,1983 199 | g48453001910,1657,1929,58,1929 200 | g48453001834,3772,4570,102,4570 201 | g48453001908,2621,3644,18,3644 202 | g48453001833,2580,3647,65,3647 203 | g48453001840,3086,4129,87,4129 204 | g48453001851,3938,5039,0,5039 205 | g48453001824,786,1078,15,1078 206 | g48453001749,2574,3341,25,3341 207 | g48453001843,1300,1445,32,1445 208 | g48453001729,2461,2980,24,2980 209 | g48453001728,3028,3897,93,3897 210 | g48453001745,972,1236,21,1236 211 | g48453001766,2367,3180,0,3180 212 | g48453002421,3482,4015,0,4015 213 | g48453002423,2210,3115,63,3115 214 | g48453002314,1647,2958,607,2958 215 | g48453001748,2207,2723,18,2723 216 | g48453001912,1318,1645,0,1645 217 | g48453001752,1656,2547,351,2547 218 | g48453001760,5330,6551,0,6551 219 | g48453001742,2096,3102,32,3102 220 | g48453001847,3316,4027,27,4027 221 | g48453001848,1973,2566,15,2566 222 | g48453001755,2216,2594,10,2594 223 | g48453001756,1785,2079,38,2079 224 | g48453001764,2039,2817,6,2817 225 | g48453001737,4756,5794,17,5794 226 | g48453001740,1995,2380,19,2380 227 | g48453001765,5869,7298,23,7298 228 | g48453001714,5218,6604,0,6604 229 | g48453001403,644,863,17,863 230 | g48453001733,1136,1565,21,1565 231 | g48453001769,2059,2774,115,2774 232 | g48453001768,1942,2683,0,2683 233 | g48453001722,2348,3385,256,3385 234 | g48453001761,2903,3504,10,3504 235 | g48453001751,770,906,0,906 236 | g48453001716,2231,2988,50,2988 237 | g48453001842,2693,3449,32,3449 238 | g48453001741,1182,1494,0,1494 239 | g48453001850,2165,2847,135,2847 240 | g48453001839,3211,3601,62,3601 241 | g48453001401,1391,2044,151,2044 242 | g48453002422,1928,2542,193,2542 243 | g48453002413,1055,1669,7,1669 244 | g48453002412,1647,2312,92,2312 245 | g48491020603,2664,3368,0,3368 246 | g48491021507,3518,4083,0,4083 247 | g48491020804,2826,3541,0,3541 248 | g48491020707,1844,2448,14,2448 249 | g48491020505,1119,1341,19,1341 250 | g48491020408,1841,2326,0,2326 251 | g48491020411,2943,3533,27,3533 252 | g48491020409,2029,2454,39,2454 253 | g48491020506,3370,4175,0,4175 254 | g48491020507,1279,1387,0,1387 255 | g48491020317,1117,1382,0,1382 256 | g48491020508,2363,2920,40,2920 257 | g48491020311,1395,1668,90,1668 258 | g48491020318,3552,4227,14,4227 259 | g48491020326,2308,2884,58,2884 260 | g48491020324,2064,2489,0,2489 261 | g48491020328,2444,3265,100,3265 262 | g48491020319,2071,2499,48,2499 263 | g48491020321,599,761,44,761 264 | g48491020325,1453,1708,0,1708 265 | g48491020320,2976,3819,13,3819 266 | g48491020314,1949,2699,0,2699 267 | g48491020110,1579,2066,0,2066 268 | g48491020604,2200,2667,0,2667 269 | g48491020109,845,1125,0,1125 270 | g48491021601,1017,1287,0,1287 271 | g48491020803,1403,1801,0,1801 272 | g48491020805,2742,3213,11,3213 273 | g48491020202,1604,2129,0,2129 274 | g48491020204,1552,2393,0,2393 275 | g48491020112,1082,1447,0,1447 276 | g48491021602,1285,1580,0,1580 277 | g48491021603,674,785,0,785 278 | g48491020106,1021,1372,0,1372 279 | g48491020114,1690,2001,0,2001 280 | g48491020108,1220,1438,0,1438 281 | g48491020406,3119,4038,102,4038 282 | g48491020405,2501,3184,84,3184 283 | g48491020504,4018,4632,20,4632 284 | g48491020701,861,1154,0,1154 285 | g48491020602,2023,2669,0,2669 286 | g48491020704,2461,2975,0,2975 287 | g48491021502,1753,2445,0,2445 288 | g48491021503,1581,2176,0,2176 289 | g48491020403,745,894,0,894 290 | g48491021203,853,1184,12,1184 291 | g48491020503,2099,2524,0,2524 292 | g48491020302,1053,1261,46,1261 293 | g48491021000,774,1090,0,1090 294 | g48491021401,3583,4385,0,4385 295 | g48491021201,1207,1368,0,1368 296 | g48491021100,662,1001,0,1001 297 | g48491020404,1673,2037,43,2037 298 | g48491021202,1312,1529,0,1529 299 | g48491020703,4131,5113,0,5113 300 | g48491021403,1253,1733,0,1733 301 | g48491020310,969,1137,11,1137 302 | g48491020900,1508,1962,5,1962 303 | g48491021300,1182,1519,0,1519 304 | g48491021402,1136,1608,0,1608 305 | g48491020301,1856,2465,0,2465 306 | g48491020113,1155,1376,0,1376 307 | g48491020509,2931,3481,107,3481 308 | g48491020605,2463,3270,13,3270 309 | g48491020312,2286,3132,31,3132 310 | g48491020410,2667,3240,41,3240 311 | g48491020316,1118,1577,0,1577 312 | g48491020323,1136,1285,24,1285 313 | g48491020327,1010,1331,0,1331 314 | g48491020322,3867,4644,28,4644 315 | g48491020313,3631,4235,0,4235 316 | g48491020315,1163,1566,0,1566 317 | g48491020510,3839,4454,10,4454 318 | g48491020708,2109,3136,0,3136 319 | g48491020706,1717,1890,0,1890 320 | g48491021505,3102,4025,0,4025 321 | g48491020807,2816,3194,14,3194 322 | g48491020809,2177,2791,0,2791 323 | g48491020115,766,907,0,907 324 | g48491020111,915,1009,0,1009 325 | g48491020105,672,838,0,838 326 | g48491020203,175,225,0,225 327 | g48491020201,480,716,0,716 328 | g48491020107,331,551,0,551 329 | g48491021508,2562,3074,0,3074 330 | g48491020808,644,672,0,672 331 | g48491021506,959,1171,0,1171 332 | g48491020806,751,935,0,935 333 | g48491021504,1854,2122,0,2122 334 | g48021950501,2340,3005,0,3005 335 | g48021950801,1579,2157,0,2157 336 | g48021950802,2421,3036,0,3036 337 | g48021950502,1974,2725,21,2725 338 | g48021950700,1365,1728,0,1728 339 | g48021950600,1473,1733,0,1733 340 | g48021950200,2868,4100,41,4100 341 | g48021950100,3431,4341,0,4341 342 | g48021950300,4455,5551,45,5551 343 | g48021950400,3019,4023,0,4023 344 | g48055960102,1377,1712,0,1712 345 | g48055960101,1642,2136,0,2136 346 | g48055960500,2023,2731,0,2731 347 | g48055960700,1650,2414,69,2414 348 | g48055960600,754,1020,0,1020 349 | g48055960400,1208,1651,1,1651 350 | g48055960300,1232,1677,8,1677 351 | g48055960200,1193,1678,0,1678 352 | -------------------------------------------------------------------------------- /code/example_data/transportation_prop_stdErr_12420.csv: -------------------------------------------------------------------------------- 1 | id,ACS11_5yr_B08101009,ACS11_5yr_B08101001,ACS11_5yr_B08101025,ACS11_5yr_B08101001 2 | g48209010901,206.666666667,227.878787879,12.7272727273,227.878787879 3 | g48209010809,189.696969697,173.939393939,0.0,173.939393939 4 | g48209010909,137.575757576,139.393939394,0.0,139.393939394 5 | g48209010906,258.787878788,270.303030303,0.0,270.303030303 6 | g48209010303,303.636363636,338.787878788,103.03030303,338.787878788 7 | g48209010908,210.909090909,311.515151515,0.0,311.515151515 8 | g48209010805,181.818181818,186.666666667,0.0,186.666666667 9 | g48209010808,207.878787879,205.454545455,0.0,205.454545455 10 | g48209010806,104.848484848,135.151515152,0.0,135.151515152 11 | g48209010807,149.696969697,175.151515152,0.0,175.151515152 12 | g48209010803,170.303030303,178.787878788,0.0,178.787878788 13 | g48209010907,250.303030303,318.787878788,29.0909090909,318.787878788 14 | g48209010910,247.272727273,267.878787879,32.1212121212,267.878787879 15 | g48209010905,175.151515152,171.515151515,20.0,171.515151515 16 | g48209010304,199.393939394,172.727272727,41.8181818182,172.727272727 17 | g48209010702,134.545454545,142.424242424,0.0,142.424242424 18 | g48209010804,207.272727273,267.272727273,0.0,267.272727273 19 | g48209010701,230.909090909,260.606060606,50.303030303,260.606060606 20 | g48209010200,147.272727273,204.242424242,15.7575757576,204.242424242 21 | g48209010100,166.666666667,163.03030303,0.0,163.03030303 22 | g48209010600,225.454545455,226.060606061,0.0,226.060606061 23 | g48209010500,152.121212121,164.848484848,26.6666666667,164.848484848 24 | g48209010400,215.151515152,223.636363636,53.9393939394,223.636363636 25 | g48209010302,159.393939394,155.151515152,14.5454545455,155.151515152 26 | g48209010902,288.484848485,298.181818182,0.0,298.181818182 27 | g48453001857,215.151515152,208.484848485,0.0,208.484848485 28 | g48453001862,174.545454545,200.0,37.5757575758,200.0 29 | g48453001855,332.727272727,313.939393939,20.0,313.939393939 30 | g48453001859,78.1818181818,73.3333333333,0.0,73.3333333333 31 | g48453001858,324.848484848,324.848484848,27.8787878788,324.848484848 32 | g48453001779,221.212121212,197.575757576,0.0,197.575757576 33 | g48453001776,115.757575758,103.03030303,15.1515151515,103.03030303 34 | g48453002425,181.818181818,153.939393939,0.0,153.939393939 35 | g48453001915,75.7575757576,73.3333333333,0.0,73.3333333333 36 | g48453001778,134.545454545,130.909090909,0.0,130.909090909 37 | g48453001777,212.727272727,186.666666667,13.9393939394,186.666666667 38 | g48453001770,206.060606061,166.060606061,0.0,166.060606061 39 | g48453001775,148.484848485,110.303030303,0.0,110.303030303 40 | g48453001772,168.484848485,200.606060606,0.0,200.606060606 41 | g48453002428,190.303030303,226.666666667,0.0,226.666666667 42 | g48453001864,150.303030303,146.666666667,27.2727272727,146.666666667 43 | g48453001846,81.8181818182,78.7878787879,0.0,78.7878787879 44 | g48453001785,181.818181818,175.151515152,13.3333333333,175.151515152 45 | g48453001781,118.181818182,112.727272727,0.0,112.727272727 46 | g48453001780,166.666666667,186.666666667,0.0,186.666666667 47 | g48453001784,116.96969697,122.424242424,0.0,122.424242424 48 | g48453001757,91.5151515152,97.5757575758,21.8181818182,97.5757575758 49 | g48453001919,78.7878787879,90.303030303,0.0,90.303030303 50 | g48453001918,90.9090909091,107.878787879,0.0,107.878787879 51 | g48453002318,227.878787879,275.757575758,161.212121212,275.757575758 52 | g48453000307,98.7878787879,98.7878787879,14.5454545455,98.7878787879 53 | g48453000205,140.606060606,155.151515152,117.575757576,155.151515152 54 | g48453000305,148.484848485,179.393939394,53.9393939394,179.393939394 55 | g48453000206,140.0,154.545454545,44.8484848485,154.545454545 56 | g48453001783,176.96969697,151.515151515,0.0,151.515151515 57 | g48453001916,117.575757576,136.96969697,0.0,136.96969697 58 | g48453001917,140.0,124.848484848,0.0,124.848484848 59 | g48453001402,92.7272727273,110.909090909,43.6363636364,110.909090909 60 | g48453001308,110.303030303,198.181818182,63.6363636364,198.181818182 61 | g48453001307,105.454545455,223.03030303,46.0606060606,223.03030303 62 | g48453001786,264.848484848,240.0,52.1212121212,240.0 63 | g48453002500,140.0,155.151515152,29.0909090909,155.151515152 64 | g48453001782,122.424242424,164.242424242,0.0,164.242424242 65 | g48453002426,218.181818182,246.666666667,48.4848484848,246.666666667 66 | g48453002211,89.0909090909,86.0606060606,0.0,86.0606060606 67 | g48453000306,146.060606061,150.303030303,34.5454545455,150.303030303 68 | g48453001771,115.151515152,114.545454545,0.0,114.545454545 69 | g48453001773,120.0,129.696969697,0.0,129.696969697 70 | g48453001863,155.757575758,180.0,32.7272727273,180.0 71 | g48453001861,224.242424242,148.484848485,1.81818181818,148.484848485 72 | g48453001860,190.909090909,156.96969697,0.0,156.96969697 73 | g48453001856,160.606060606,213.939393939,83.0303030303,213.939393939 74 | g48453002435,159.393939394,180.0,0.0,180.0 75 | g48453002319,0.0,0.0,0.0,0.0 76 | g48453000304,182.424242424,201.818181818,58.1818181818,201.818181818 77 | g48453002317,214.545454545,251.515151515,183.636363636,251.515151515 78 | g48453001774,301.212121212,280.606060606,0.0,280.606060606 79 | g48453002430,136.363636364,155.151515152,18.1818181818,155.151515152 80 | g48453002427,173.333333333,273.333333333,134.545454545,273.333333333 81 | g48453002429,54.5454545455,52.1212121212,0.0,52.1212121212 82 | g48453002431,176.96969697,193.333333333,41.8181818182,193.333333333 83 | g48453002433,207.878787879,263.03030303,0.0,263.03030303 84 | g48453002208,189.090909091,215.151515152,20.0,215.151515152 85 | g48453002432,105.454545455,122.424242424,1.81818181818,122.424242424 86 | g48453002434,72.7272727273,86.6666666667,0.0,86.6666666667 87 | g48453002436,160.0,162.424242424,0.0,162.424242424 88 | g48453001914,163.636363636,174.545454545,8.48484848485,174.545454545 89 | g48453002209,235.151515152,252.121212121,0.0,252.121212121 90 | g48453002212,33.3333333333,25.4545454545,0.0,25.4545454545 91 | g48453002207,255.757575758,287.272727273,81.2121212121,287.272727273 92 | g48453002210,131.515151515,146.666666667,0.0,146.666666667 93 | g48453001854,188.484848485,167.272727273,0.0,167.272727273 94 | g48453002411,130.909090909,164.242424242,70.9090909091,164.242424242 95 | g48453002410,131.515151515,158.181818182,38.7878787879,158.181818182 96 | g48453002409,109.090909091,116.96969697,36.3636363636,116.96969697 97 | g48453002403,115.151515152,164.848484848,27.8787878788,164.848484848 98 | g48453002402,200.606060606,233.333333333,107.272727273,233.333333333 99 | g48453002312,167.272727273,209.090909091,58.7878787879,209.090909091 100 | g48453002308,176.96969697,237.575757576,118.181818182,237.575757576 101 | g48453002307,164.848484848,260.606060606,95.1515151515,260.606060606 102 | g48453002315,141.212121212,186.060606061,66.6666666667,186.060606061 103 | g48453002424,118.787878788,181.212121212,116.363636364,181.212121212 104 | g48453002316,185.454545455,282.424242424,110.303030303,282.424242424 105 | g48453002304,154.545454545,296.363636364,72.7272727273,296.363636364 106 | g48453001747,150.909090909,165.454545455,51.5151515152,165.454545455 107 | g48453002113,102.424242424,121.818181818,49.696969697,121.818181818 108 | g48453002112,147.272727273,212.727272727,69.0909090909,212.727272727 109 | g48453002110,115.757575758,163.636363636,51.5151515152,163.636363636 110 | g48453002109,140.0,166.060606061,33.9393939394,166.060606061 111 | g48453002108,127.272727273,157.575757576,44.2424242424,157.575757576 112 | g48453002107,132.121212121,149.090909091,41.8181818182,149.090909091 113 | g48453002106,95.1515151515,153.333333333,39.3939393939,153.333333333 114 | g48453002105,143.03030303,227.878787879,98.7878787879,227.878787879 115 | g48453002104,151.515151515,140.0,47.8787878788,140.0 116 | g48453002003,136.96969697,171.515151515,56.3636363636,171.515151515 117 | g48453002002,136.363636364,141.818181818,35.7575757576,141.818181818 118 | g48453002005,177.575757576,183.03030303,90.9090909091,183.03030303 119 | g48453002313,146.060606061,204.848484848,72.7272727273,204.848484848 120 | g48453001911,138.787878788,126.666666667,9.09090909091,126.666666667 121 | g48453001901,470.303030303,501.818181818,38.1818181818,501.818181818 122 | g48453001835,177.575757576,203.03030303,0.0,203.03030303 123 | g48453001832,130.909090909,130.303030303,20.6060606061,130.303030303 124 | g48453001829,133.333333333,155.757575758,13.9393939394,155.757575758 125 | g48453001828,107.272727273,101.818181818,4.24242424242,101.818181818 126 | g48453001849,229.696969697,230.303030303,106.666666667,230.303030303 127 | g48453001826,89.696969697,84.2424242424,17.5757575758,84.2424242424 128 | g48453001845,101.212121212,113.333333333,0.0,113.333333333 129 | g48453001844,122.424242424,129.090909091,35.7575757576,129.090909091 130 | g48453002419,122.424242424,129.696969697,70.303030303,129.696969697 131 | g48453001823,210.303030303,261.818181818,53.3333333333,261.818181818 132 | g48453001822,216.363636364,307.272727273,137.575757576,307.272727273 133 | g48453001821,158.787878788,215.151515152,66.6666666667,215.151515152 134 | g48453001820,209.696969697,275.757575758,108.484848485,275.757575758 135 | g48453001819,147.272727273,193.333333333,72.1212121212,193.333333333 136 | g48453001818,212.121212121,315.151515152,60.0,315.151515152 137 | g48453001817,141.212121212,138.787878788,57.5757575758,138.787878788 138 | g48453001813,189.696969697,253.333333333,124.848484848,253.333333333 139 | g48453001812,218.181818182,336.96969697,107.878787879,336.96969697 140 | g48453001811,187.272727273,247.272727273,35.1515151515,247.272727273 141 | g48453001806,178.181818182,267.272727273,81.8181818182,267.272727273 142 | g48453001805,167.878787879,227.878787879,34.5454545455,227.878787879 143 | g48453001804,192.727272727,263.636363636,59.3939393939,263.636363636 144 | g48453001738,177.575757576,188.484848485,3.63636363636,188.484848485 145 | g48453001750,196.363636364,210.303030303,30.9090909091,210.303030303 146 | g48453002004,144.848484848,160.606060606,46.0606060606,160.606060606 147 | g48453001841,324.242424242,367.878787879,35.7575757576,367.878787879 148 | g48453001853,100.606060606,115.151515152,19.3939393939,115.151515152 149 | g48453001753,62.4242424242,56.9696969697,13.9393939394,56.9696969697 150 | g48453001719,96.9696969697,101.818181818,0.0,101.818181818 151 | g48453001718,156.96969697,132.121212121,86.6666666667,132.121212121 152 | g48453001713,132.121212121,137.575757576,33.3333333333,137.575757576 153 | g48453001712,132.121212121,149.090909091,69.0909090909,149.090909091 154 | g48453001707,155.757575758,162.424242424,24.2424242424,162.424242424 155 | g48453001706,126.666666667,147.878787879,26.0606060606,147.878787879 156 | g48453001705,129.090909091,139.393939394,0.0,139.393939394 157 | g48453001605,180.606060606,219.393939394,38.1818181818,219.393939394 158 | g48453001604,118.787878788,128.484848485,11.5151515152,128.484848485 159 | g48453001603,121.212121212,119.393939394,16.9696969697,119.393939394 160 | g48453001602,121.818181818,140.606060606,63.6363636364,140.606060606 161 | g48453001305,136.363636364,157.575757576,77.5757575758,157.575757576 162 | g48453001304,142.424242424,124.242424242,30.9090909091,124.242424242 163 | g48453001303,93.9393939394,133.939393939,28.4848484848,133.939393939 164 | g48453001200,206.666666667,226.666666667,60.6060606061,226.666666667 165 | g48453001100,167.878787879,223.03030303,31.5151515152,223.03030303 166 | g48453001000,115.757575758,150.909090909,74.5454545455,150.909090909 167 | g48453000902,139.393939394,224.242424242,51.5151515152,224.242424242 168 | g48453001505,154.545454545,165.454545455,60.6060606061,165.454545455 169 | g48453001504,115.757575758,126.666666667,70.303030303,126.666666667 170 | g48453001503,133.939393939,231.515151515,91.5151515152,231.515151515 171 | g48453001501,140.0,152.727272727,21.2121212121,152.727272727 172 | g48453000901,76.3636363636,72.7272727273,26.0606060606,72.7272727273 173 | g48453000804,98.1818181818,113.333333333,20.0,113.333333333 174 | g48453000803,115.757575758,133.333333333,46.0606060606,133.333333333 175 | g48453000802,138.787878788,147.272727273,63.0303030303,147.272727273 176 | g48453000801,80.0,82.4242424242,9.09090909091,82.4242424242 177 | g48453000700,71.5151515152,63.0303030303,20.0,63.0303030303 178 | g48453000604,169.696969697,292.727272727,45.4545454545,292.727272727 179 | g48453000603,198.181818182,258.181818182,40.6060606061,258.181818182 180 | g48453000601,100.0,209.090909091,41.2121212121,209.090909091 181 | g48453000500,184.242424242,236.363636364,88.4848484848,236.363636364 182 | g48453000402,96.3636363636,149.696969697,67.8787878788,149.696969697 183 | g48453000401,151.515151515,164.242424242,70.303030303,164.242424242 184 | g48453000302,221.212121212,204.848484848,120.0,204.848484848 185 | g48453000204,113.939393939,103.03030303,41.8181818182,103.03030303 186 | g48453000203,84.8484848485,96.9696969697,51.5151515152,96.9696969697 187 | g48453001754,155.757575758,169.090909091,44.8484848485,169.090909091 188 | g48453000102,84.8484848485,101.818181818,13.9393939394,101.818181818 189 | g48453000101,128.484848485,124.242424242,0.0,124.242424242 190 | g48453002407,121.212121212,138.181818182,9.09090909091,138.181818182 191 | g48453001606,0.0,0.0,0.0,0.0 192 | g48453002310,94.5454545455,111.515151515,16.3636363636,111.515151515 193 | g48453980000,0.0,0.0,0.0,0.0 194 | g48453001746,148.484848485,184.242424242,18.1818181818,184.242424242 195 | g48453002202,282.424242424,298.181818182,60.0,298.181818182 196 | g48453002201,90.303030303,97.5757575758,34.5454545455,97.5757575758 197 | g48453002111,116.96969697,136.363636364,62.4242424242,136.363636364 198 | g48453001913,134.545454545,121.818181818,1.81818181818,121.818181818 199 | g48453001910,112.121212121,120.606060606,40.0,120.606060606 200 | g48453001834,292.121212121,260.606060606,67.2727272727,260.606060606 201 | g48453001908,189.696969697,230.303030303,18.1818181818,230.303030303 202 | g48453001833,235.757575758,298.787878788,32.1212121212,298.787878788 203 | g48453001840,259.393939394,310.303030303,49.696969697,310.303030303 204 | g48453001851,312.121212121,284.242424242,0.0,284.242424242 205 | g48453001824,76.3636363636,109.696969697,12.1212121212,109.696969697 206 | g48453001749,176.96969697,220.0,20.0,220.0 207 | g48453001843,76.9696969697,80.6060606061,21.8181818182,80.6060606061 208 | g48453001729,151.515151515,184.848484848,16.9696969697,184.848484848 209 | g48453001728,251.515151515,218.181818182,41.8181818182,218.181818182 210 | g48453001745,110.909090909,112.121212121,18.7878787879,112.121212121 211 | g48453001766,249.696969697,230.909090909,0.0,230.909090909 212 | g48453002421,280.606060606,270.909090909,0.0,270.909090909 213 | g48453002423,139.393939394,179.393939394,27.2727272727,179.393939394 214 | g48453002314,164.848484848,236.96969697,149.696969697,236.96969697 215 | g48453001748,152.121212121,147.878787879,16.9696969697,147.878787879 216 | g48453001912,113.333333333,118.787878788,0.0,118.787878788 217 | g48453001752,160.606060606,205.454545455,86.0606060606,205.454545455 218 | g48453001760,402.424242424,413.939393939,0.0,413.939393939 219 | g48453001742,176.96969697,223.636363636,27.2727272727,223.636363636 220 | g48453001847,210.303030303,164.848484848,21.8181818182,164.848484848 221 | g48453001848,141.212121212,163.636363636,10.9090909091,163.636363636 222 | g48453001755,114.545454545,130.909090909,9.09090909091,130.909090909 223 | g48453001756,138.181818182,139.393939394,21.8181818182,139.393939394 224 | g48453001764,158.181818182,195.757575758,4.24242424242,195.757575758 225 | g48453001737,174.545454545,146.060606061,15.7575757576,146.060606061 226 | g48453001740,113.939393939,108.484848485,15.7575757576,108.484848485 227 | g48453001765,307.878787879,301.818181818,15.1515151515,301.818181818 228 | g48453001714,238.181818182,315.151515152,0.0,315.151515152 229 | g48453001403,84.2424242424,93.3333333333,14.5454545455,93.3333333333 230 | g48453001733,123.636363636,147.878787879,15.1515151515,147.878787879 231 | g48453001769,143.03030303,131.515151515,53.3333333333,131.515151515 232 | g48453001768,155.757575758,217.575757576,0.0,217.575757576 233 | g48453001722,192.121212121,177.575757576,81.2121212121,177.575757576 234 | g48453001761,201.212121212,191.515151515,9.69696969697,191.515151515 235 | g48453001751,81.8181818182,84.8484848485,0.0,84.8484848485 236 | g48453001716,153.333333333,169.090909091,27.8787878788,169.090909091 237 | g48453001842,170.303030303,200.606060606,23.0303030303,200.606060606 238 | g48453001741,125.454545455,124.848484848,0.0,124.848484848 239 | g48453001850,147.878787879,158.181818182,42.4242424242,158.181818182 240 | g48453001839,210.303030303,227.878787879,37.5757575758,227.878787879 241 | g48453001401,123.636363636,143.636363636,47.2727272727,143.636363636 242 | g48453002422,151.515151515,163.03030303,65.4545454545,163.03030303 243 | g48453002413,95.1515151515,140.0,10.9090909091,140.0 244 | g48453002412,146.060606061,147.272727273,31.5151515152,147.272727273 245 | g48491020603,147.878787879,145.454545455,0.0,145.454545455 246 | g48491021507,297.575757576,313.333333333,0.0,313.333333333 247 | g48491020804,175.151515152,163.03030303,0.0,163.03030303 248 | g48491020707,141.818181818,158.181818182,14.5454545455,158.181818182 249 | g48491020505,101.818181818,89.0909090909,18.1818181818,89.0909090909 250 | g48491020408,191.515151515,192.727272727,0.0,192.727272727 251 | g48491020411,241.818181818,216.96969697,18.7878787879,216.96969697 252 | g48491020409,184.848484848,201.818181818,23.0303030303,201.818181818 253 | g48491020506,181.212121212,173.939393939,0.0,173.939393939 254 | g48491020507,144.242424242,154.545454545,0.0,154.545454545 255 | g48491020317,146.666666667,162.424242424,0.0,162.424242424 256 | g48491020508,170.303030303,188.484848485,37.5757575758,188.484848485 257 | g48491020311,104.848484848,100.0,57.5757575758,100.0 258 | g48491020318,170.303030303,183.03030303,15.1515151515,183.03030303 259 | g48491020326,164.242424242,149.696969697,34.5454545455,149.696969697 260 | g48491020324,152.727272727,151.515151515,0.0,151.515151515 261 | g48491020328,178.181818182,182.424242424,47.2727272727,182.424242424 262 | g48491020319,179.393939394,210.303030303,34.5454545455,210.303030303 263 | g48491020321,91.5151515152,77.5757575758,40.6060606061,77.5757575758 264 | g48491020325,174.545454545,156.363636364,0.0,156.363636364 265 | g48491020320,189.090909091,207.878787879,13.3333333333,207.878787879 266 | g48491020314,161.818181818,203.636363636,0.0,203.636363636 267 | g48491020110,120.0,108.484848485,0.0,108.484848485 268 | g48491020604,332.121212121,318.181818182,0.0,318.181818182 269 | g48491020109,130.909090909,166.060606061,0.0,166.060606061 270 | g48491021601,126.060606061,143.636363636,0.0,143.636363636 271 | g48491020803,130.909090909,161.212121212,0.0,161.212121212 272 | g48491020805,201.818181818,219.393939394,12.1212121212,219.393939394 273 | g48491020202,181.818181818,150.303030303,0.0,150.303030303 274 | g48491020204,172.121212121,224.242424242,0.0,224.242424242 275 | g48491020112,151.515151515,146.666666667,0.0,146.666666667 276 | g48491021602,147.878787879,173.939393939,0.0,173.939393939 277 | g48491021603,73.3333333333,76.9696969697,0.0,76.9696969697 278 | g48491020106,149.090909091,141.818181818,0.0,141.818181818 279 | g48491020114,150.909090909,157.575757576,0.0,157.575757576 280 | g48491020108,149.696969697,112.727272727,0.0,112.727272727 281 | g48491020406,216.363636364,215.757575758,44.8484848485,215.757575758 282 | g48491020405,231.515151515,224.848484848,43.0303030303,224.848484848 283 | g48491020504,244.242424242,245.454545455,18.1818181818,245.454545455 284 | g48491020701,110.909090909,103.03030303,0.0,103.03030303 285 | g48491020602,176.363636364,214.545454545,0.0,214.545454545 286 | g48491020704,198.787878788,177.575757576,0.0,177.575757576 287 | g48491021502,149.696969697,164.242424242,0.0,164.242424242 288 | g48491021503,166.060606061,157.575757576,0.0,157.575757576 289 | g48491020403,90.9090909091,96.3636363636,0.0,96.3636363636 290 | g48491021203,124.848484848,137.575757576,11.5151515152,137.575757576 291 | g48491020503,127.878787879,123.636363636,0.0,123.636363636 292 | g48491020302,110.909090909,105.454545455,21.2121212121,105.454545455 293 | g48491021000,104.848484848,120.0,0.0,120.0 294 | g48491021401,244.848484848,252.727272727,0.0,252.727272727 295 | g48491021201,96.9696969697,96.3636363636,0.0,96.3636363636 296 | g48491021100,98.1818181818,112.121212121,0.0,112.121212121 297 | g48491020404,129.696969697,112.121212121,32.7272727273,112.121212121 298 | g48491021202,133.333333333,133.939393939,0.0,133.939393939 299 | g48491020703,221.212121212,238.787878788,0.0,238.787878788 300 | g48491021403,135.757575758,164.242424242,0.0,164.242424242 301 | g48491020310,103.636363636,96.3636363636,9.09090909091,96.3636363636 302 | g48491020900,104.848484848,120.0,4.84848484848,120.0 303 | g48491021300,76.9696969697,82.4242424242,0.0,82.4242424242 304 | g48491021402,116.96969697,158.181818182,0.0,158.181818182 305 | g48491020301,151.515151515,161.818181818,0.0,161.818181818 306 | g48491020113,122.424242424,127.878787879,0.0,127.878787879 307 | g48491020509,204.848484848,196.363636364,61.8181818182,196.363636364 308 | g48491020605,150.909090909,150.303030303,13.3333333333,150.303030303 309 | g48491020312,213.939393939,207.878787879,25.4545454545,207.878787879 310 | g48491020410,180.0,194.545454545,29.0909090909,194.545454545 311 | g48491020316,151.515151515,167.878787879,0.0,167.878787879 312 | g48491020323,94.5454545455,81.2121212121,23.0303030303,81.2121212121 313 | g48491020327,160.606060606,168.484848485,0.0,168.484848485 314 | g48491020322,261.212121212,232.727272727,21.2121212121,232.727272727 315 | g48491020313,218.787878788,207.878787879,0.0,207.878787879 316 | g48491020315,132.727272727,129.696969697,0.0,129.696969697 317 | g48491020510,216.96969697,226.060606061,8.48484848485,226.060606061 318 | g48491020708,192.121212121,249.090909091,0.0,249.090909091 319 | g48491020706,114.545454545,120.606060606,0.0,120.606060606 320 | g48491021505,178.181818182,192.121212121,0.0,192.121212121 321 | g48491020807,212.727272727,198.181818182,14.5454545455,198.181818182 322 | g48491020809,176.96969697,175.151515152,0.0,175.151515152 323 | g48491020115,133.333333333,138.787878788,0.0,138.787878788 324 | g48491020111,84.8484848485,84.8484848485,0.0,84.8484848485 325 | g48491020105,126.060606061,146.060606061,0.0,146.060606061 326 | g48491020203,47.2727272727,53.3333333333,0.0,53.3333333333 327 | g48491020201,118.181818182,126.060606061,0.0,126.060606061 328 | g48491020107,100.606060606,126.060606061,0.0,126.060606061 329 | g48491021508,305.454545455,343.636363636,0.0,343.636363636 330 | g48491020808,127.878787879,129.090909091,0.0,129.090909091 331 | g48491021506,192.121212121,195.757575758,0.0,195.757575758 332 | g48491020806,111.515151515,96.9696969697,0.0,96.9696969697 333 | g48491021504,202.424242424,210.909090909,0.0,210.909090909 334 | g48021950501,238.787878788,278.181818182,0.0,278.181818182 335 | g48021950801,264.848484848,283.636363636,0.0,283.636363636 336 | g48021950802,251.515151515,258.787878788,0.0,258.787878788 337 | g48021950502,197.575757576,232.121212121,19.3939393939,232.121212121 338 | g48021950700,109.090909091,140.0,0.0,140.0 339 | g48021950600,156.363636364,172.727272727,0.0,172.727272727 340 | g48021950200,204.848484848,270.909090909,38.7878787879,270.909090909 341 | g48021950100,295.151515152,299.393939394,0.0,299.393939394 342 | g48021950300,260.0,303.03030303,39.3939393939,303.03030303 343 | g48021950400,270.303030303,262.424242424,0.0,262.424242424 344 | g48055960102,160.606060606,186.666666667,0.0,186.666666667 345 | g48055960101,168.484848485,172.121212121,0.0,172.121212121 346 | g48055960500,194.545454545,232.121212121,0.0,232.121212121 347 | g48055960700,179.393939394,185.454545455,29.0909090909,185.454545455 348 | g48055960600,112.121212121,139.393939394,0.0,139.393939394 349 | g48055960400,144.242424242,168.484848485,1.81818181818,168.484848485 350 | g48055960300,120.0,142.424242424,6.66666666667,142.424242424 351 | g48055960200,160.0,177.575757576,0.0,177.575757576 352 | -------------------------------------------------------------------------------- /code/example_data/transportation_ratio.csv: -------------------------------------------------------------------------------- 1 | vehicles_per_person,avg_commute_time -------------------------------------------------------------------------------- /code/example_data/transportation_ratio_est_12420.csv: -------------------------------------------------------------------------------- 1 | id,ACS11_5yr_B25046001,ACS11_5yr_B01003001,ACS11_5yr_B08013001,ACS11_5yr_B08134001 2 | g48209010901,6312.0,7613,118130.0,3855 3 | g48209010809,4290.0,5421,72445.0,2270 4 | g48209010909,2814.0,4208,56890.0,1906 5 | g48209010906,6049.0,10851,163775.0,4463 6 | g48209010303,3999.0,6980,59965.0,2941 7 | g48209010908,4175.0,6733,96220.0,2960 8 | g48209010805,4201.0,5731,71185.0,2246 9 | g48209010808,5247.0,5889,90340.0,2554 10 | g48209010806,2987.0,3900,64510.0,1658 11 | g48209010807,1444.0,1972,30080.0,900 12 | g48209010803,3336.0,3928,44295.0,1392 13 | g48209010907,5766.0,9906,171320.0,4590 14 | g48209010910,4336.0,7911,105015.0,3632 15 | g48209010905,3705.0,5327,86720.0,2554 16 | g48209010304,3490.0,5430,49935.0,2660 17 | g48209010702,2009.0,2486,32570.0,1258 18 | g48209010804,7934.0,8886,112125.0,3682 19 | g48209010701,5403.0,6658,74415.0,3275 20 | g48209010200,641.0,6449,19300.0,1245 21 | g48209010100,1506.0,2213,23335.0,1041 22 | g48209010600,7341.0,9402,118965.0,4288 23 | g48209010500,1863.0,3385,33470.0,1461 24 | g48209010400,4912.0,7626,74200.0,3528 25 | g48209010302,2298.0,4214,41415.0,1793 26 | g48209010902,7693.0,9708,162785.0,4606 27 | g48453001857,3190.0,4841,63265.0,2431 28 | g48453001862,3415.0,5549,64535.0,2541 29 | g48453001855,8243.0,13145,163015.0,5860 30 | g48453001859,837.0,1080,10395.0,547 31 | g48453001858,9479.0,14265,208460.0,6937 32 | g48453001779,4804.0,5984,92055.0,2460 33 | g48453001776,1822.0,2387,30775.0,1336 34 | g48453002425,2184.0,2972,49745.0,1738 35 | g48453001915,1103.0,1806,13465.0,604 36 | g48453001778,3019.0,3582,37455.0,1436 37 | g48453001777,4073.0,5561,72405.0,3051 38 | g48453001770,7628.0,11279,112865.0,4325 39 | g48453001775,0.0,0,43520.0,1881 40 | g48453001772,2193.0,2763,35660.0,1221 41 | g48453002428,4000.0,5277,77825.0,2712 42 | g48453001864,2127.0,2817,33135.0,1676 43 | g48453001846,2012.0,2494,26595.0,1304 44 | g48453001785,2996.0,3932,69320.0,2831 45 | g48453001781,1901.0,2272,20085.0,874 46 | g48453001780,3472.0,4115,64345.0,1776 47 | g48453001784,3213.0,5225,46040.0,1863 48 | g48453001757,1776.0,1975,20605.0,911 49 | g48453001919,3020.0,3802,29615.0,1614 50 | g48453001918,0.0,0,12475.0,759 51 | g48453002318,3268.0,5714,68705.0,3068 52 | g48453000307,1277.0,1664,15435.0,1035 53 | g48453000205,2458.0,3158,44905.0,2127 54 | g48453000305,2595.0,3064,33575.0,2140 55 | g48453000206,2456.0,3246,35895.0,1601 56 | g48453001783,4155.0,5313,62845.0,2292 57 | g48453001916,2318.0,3484,28425.0,1187 58 | g48453001917,3609.0,4618,47120.0,1968 59 | g48453001402,2004.0,2701,31390.0,1578 60 | g48453001308,1675.0,2731,42235.0,1523 61 | g48453001307,2486.0,3780,40810.0,2019 62 | g48453001786,4094.0,5171,72225.0,3350 63 | g48453002500,4107.0,5153,58565.0,2886 64 | g48453001782,3574.0,5017,49475.0,2160 65 | g48453002426,3638.0,6643,87875.0,3128 66 | g48453002211,1021.0,1455,21900.0,792 67 | g48453000306,1232.0,1830,17055.0,1060 68 | g48453001771,3377.0,3977,52145.0,1413 69 | g48453001773,4152.0,5388,48570.0,1906 70 | g48453001863,0.0,0,46060.0,2178 71 | g48453001861,2855.0,4431,60120.0,2396 72 | g48453001860,2447.0,4055,39405.0,1839 73 | g48453001856,3293.0,5332,58625.0,2227 74 | g48453002435,3700.0,6466,65820.0,2193 75 | g48453002319,0,0,0,0 76 | g48453000304,2490.0,3349,36505.0,2087 77 | g48453002317,2684.0,4715,55130.0,2550 78 | g48453001774,5655.0,7651,107515.0,3892 79 | g48453002430,1973.0,3359,48405.0,1480 80 | g48453002427,3683.0,7173,115470.0,3064 81 | g48453002429,547.0,562,11350.0,410 82 | g48453002431,3840.0,6844,89195.0,3364 83 | g48453002433,3053.0,5409,67665.0,2570 84 | g48453002208,3013.0,6728,58570.0,2189 85 | g48453002432,1387.0,2121,18355.0,681 86 | g48453002434,1101.0,1616,22365.0,659 87 | g48453002436,1333.0,2007,27730.0,835 88 | g48453001914,4424.0,5917,67170.0,2988 89 | g48453002209,4171.0,7320,94065.0,2934 90 | g48453002212,0.0,0,11405.0,375 91 | g48453002207,4642.0,7954,125260.0,4044 92 | g48453002210,1926.0,3055,47915.0,1192 93 | g48453001854,2926.0,4493,90630.0,1973 94 | g48453002411,2903.0,6089,72415.0,2552 95 | g48453002410,2370.0,3746,46805.0,2102 96 | g48453002409,2263.0,3373,38920.0,1952 97 | g48453002403,1895.0,3209,37775.0,1685 98 | g48453002402,4411.0,6165,89450.0,3678 99 | g48453002312,3147.0,6409,68120.0,2650 100 | g48453002308,2803.0,5603,79585.0,2627 101 | g48453002307,3254.0,5567,69050.0,2971 102 | g48453002315,1437.0,3336,44735.0,1952 103 | g48453002424,2079.0,3212,40325.0,1578 104 | g48453002316,0.0,0,93955.0,3082 105 | g48453002304,1503.0,4270,62080.0,2226 106 | g48453001747,3482.0,5196,69815.0,2531 107 | g48453002113,2190.0,3635,37545.0,1556 108 | g48453002112,2322.0,4836,64615.0,2469 109 | g48453002110,1845.0,4451,38090.0,1584 110 | g48453002109,2115.0,3171,36690.0,1434 111 | g48453002108,1942.0,3814,36040.0,1642 112 | g48453002107,2371.0,4122,32960.0,1584 113 | g48453002106,2178.0,3373,31130.0,1591 114 | g48453002105,2034.0,5310,59305.0,2150 115 | g48453002104,1856.0,3117,26385.0,1455 116 | g48453002003,2218.0,3878,40380.0,1670 117 | g48453002002,2365.0,2769,33785.0,1792 118 | g48453002005,2797.0,4522,60575.0,2576 119 | g48453002313,2862.0,4495,57345.0,2777 120 | g48453001911,2549.0,2964,35375.0,2142 121 | g48453001901,4358.0,5550,78630.0,3581 122 | g48453001835,2948.0,5213,53585.0,2407 123 | g48453001832,2004.0,3069,35350.0,1524 124 | g48453001829,2190.0,2699,34210.0,1967 125 | g48453001828,2989.0,3656,56155.0,2142 126 | g48453001849,0.0,0,73060.0,3614 127 | g48453001826,1539.0,2059,20055.0,1052 128 | g48453001845,2221.0,3209,36725.0,1715 129 | g48453001844,2415.0,3454,46740.0,1943 130 | g48453002419,0.0,0,56875.0,2281 131 | g48453001823,3257.0,6300,68110.0,2904 132 | g48453001822,3231.0,6809,82310.0,3283 133 | g48453001821,3431.0,5312,62010.0,2745 134 | g48453001820,3299.0,6864,74165.0,3372 135 | g48453001819,1899.0,4856,55045.0,2247 136 | g48453001818,3275.0,5593,59285.0,3039 137 | g48453001817,2650.0,3687,41300.0,2004 138 | g48453001813,3190.0,6538,74800.0,3293 139 | g48453001812,3479.0,7381,103785.0,3771 140 | g48453001811,1493.0,3032,33425.0,1560 141 | g48453001806,2875.0,6486,71530.0,2844 142 | g48453001805,2222.0,4547,56565.0,2345 143 | g48453001804,3673.0,5885,72655.0,3241 144 | g48453001738,4912.0,6676,99055.0,3434 145 | g48453001750,4296.0,5124,76955.0,3251 146 | g48453002004,1376.0,2117,35325.0,1538 147 | g48453001841,10495.0,16730,191985.0,8212 148 | g48453001853,2377.0,3110,43830.0,1799 149 | g48453001753,1066.0,1182,16350.0,912 150 | g48453001719,3310.0,3830,28760.0,1564 151 | g48453001718,4363.0,5440,46245.0,2530 152 | g48453001713,2761.0,3895,41400.0,1893 153 | g48453001712,2643.0,3703,37215.0,1835 154 | g48453001707,3938.0,5221,43920.0,2469 155 | g48453001706,3014.0,3570,37355.0,1950 156 | g48453001705,3576.0,4594,36260.0,1976 157 | g48453001605,3162.0,3817,29345.0,2099 158 | g48453001604,3196.0,3855,24110.0,1472 159 | g48453001603,3324.0,4448,31315.0,2108 160 | g48453001602,2301.0,3234,37480.0,1630 161 | g48453001305,3661.0,5551,44680.0,2481 162 | g48453001304,3123.0,3790,42570.0,2254 163 | g48453001303,1910.0,2358,24670.0,1320 164 | g48453001200,3036.0,3632,37705.0,2277 165 | g48453001100,2602.0,3800,33295.0,2089 166 | g48453001000,1897.0,3751,32245.0,1620 167 | g48453000902,2464.0,5348,35200.0,1944 168 | g48453001505,3249.0,4220,51090.0,2362 169 | g48453001504,3132.0,4644,44275.0,2391 170 | g48453001503,2296.0,3862,52760.0,2416 171 | g48453001501,4023.0,4850,43475.0,2451 172 | g48453000901,959.0,1860,14205.0,790 173 | g48453000804,1226.0,2528,22430.0,1095 174 | g48453000803,1261.0,1953,25720.0,1110 175 | g48453000802,1223.0,3127,31585.0,1116 176 | g48453000801,602.0,1394,10010.0,575 177 | g48453000700,841.0,1157,8265.0,620 178 | g48453000604,2533.0,5032,28275.0,1839 179 | g48453000603,4704.0,7128,35915.0,2310 180 | g48453000601,876.0,9381,20300.0,1362 181 | g48453000500,3512.0,4547,34600.0,2595 182 | g48453000402,1658.0,2471,28115.0,1385 183 | g48453000401,2434.0,3236,39335.0,2024 184 | g48453000302,3995.0,5411,48225.0,3029 185 | g48453000204,2344.0,2994,24090.0,1538 186 | g48453000203,1071.0,1373,13405.0,698 187 | g48453001754,3052.0,4587,47190.0,2261 188 | g48453000102,2225.0,2526,16010.0,1045 189 | g48453000101,2999.0,3801,25095.0,1694 190 | g48453002407,3259.0,4247,62895.0,2265 191 | g48453001606,0,0,0,0 192 | g48453002310,1269.0,2624,21935.0,879 193 | g48453980000,0,0,0,0 194 | g48453001746,3011.0,3990,66855.0,2543 195 | g48453002202,3658.0,8714,106825.0,3306 196 | g48453002201,1027.0,1783,20570.0,783 197 | g48453002111,2246.0,4365,40345.0,1529 198 | g48453001913,3747.0,4801,30030.0,1583 199 | g48453001910,3079.0,3970,30805.0,1825 200 | g48453001834,5685.0,7687,93200.0,4450 201 | g48453001908,5807.0,7791,68035.0,3210 202 | g48453001833,4090.0,7388,92695.0,3494 203 | g48453001840,4860.0,8435,105645.0,4048 204 | g48453001851,6097.0,8443,99810.0,4813 205 | g48453001824,1352.0,1817,21020.0,1048 206 | g48453001749,4090.0,5659,68965.0,3182 207 | g48453001843,1866.0,2280,26565.0,1430 208 | g48453001729,3772.0,4666,64315.0,2720 209 | g48453001728,4945.0,6516,90310.0,3484 210 | g48453001745,1779.0,2491,36830.0,1178 211 | g48453001766,5484.0,7102,108630.0,2868 212 | g48453002421,4689.0,6325,110900.0,3934 213 | g48453002423,3706.0,5753,73645.0,2884 214 | g48453002314,2753.0,5256,68290.0,2913 215 | g48453001748,3777.0,4892,68740.0,2496 216 | g48453001912,3138.0,3943,32130.0,1455 217 | g48453001752,2925.0,3757,51445.0,2460 218 | g48453001760,8940.0,14133,166015.0,5822 219 | g48453001742,3499.0,5108,70800.0,2631 220 | g48453001847,4979.0,7293,77535.0,3809 221 | g48453001848,3200.0,4532,46780.0,2395 222 | g48453001755,4190.0,5813,51120.0,2402 223 | g48453001756,2999.0,4020,41890.0,1929 224 | g48453001764,5149.0,5557,88295.0,2378 225 | g48453001737,7670.0,10085,124150.0,5241 226 | g48453001740,2949.0,4098,51425.0,2270 227 | g48453001765,10072.0,14221,168920.0,6509 228 | g48453001714,9069.0,11986,162125.0,5889 229 | g48453001403,1080.0,1315,12510.0,806 230 | g48453001733,2819.0,3321,48625.0,1426 231 | g48453001769,4148.0,5249,74165.0,2509 232 | g48453001768,4727.0,5368,61820.0,2167 233 | g48453001722,3408.0,4187,68905.0,3124 234 | g48453001761,5258.0,6820,72860.0,3162 235 | g48453001751,1591.0,1953,15460.0,827 236 | g48453001716,3824.0,4843,55465.0,2516 237 | g48453001842,4557.0,7342,82345.0,3387 238 | g48453001741,3197.0,3615,39475.0,1303 239 | g48453001850,2879.0,4303,60705.0,2786 240 | g48453001839,4740.0,6200,75435.0,3500 241 | g48453001401,2347.0,2913,36375.0,1895 242 | g48453002422,3411.0,5270,59210.0,2486 243 | g48453002413,1665.0,4355,45370.0,1669 244 | g48453002412,2823.0,5508,58290.0,2252 245 | g48491020603,5183.0,8103,76395.0,2938 246 | g48491021507,5422.0,7669,110095.0,3994 247 | g48491020804,5115.0,7385,80300.0,3108 248 | g48491020707,2786.0,4421,57725.0,2384 249 | g48491020505,1865.0,2935,31345.0,1215 250 | g48491020408,2852.0,4119,54830.0,2249 251 | g48491020411,4392.0,5974,74490.0,3294 252 | g48491020409,3258.0,3967,58465.0,2265 253 | g48491020506,5665.0,8649,97385.0,3782 254 | g48491020507,1873.0,2775,31765.0,1329 255 | g48491020317,1862.0,2793,29745.0,1295 256 | g48491020508,3282.0,4529,59110.0,2655 257 | g48491020311,1921.0,2611,35260.0,1588 258 | g48491020318,6155.0,8254,104980.0,3887 259 | g48491020326,4332.0,6070,74325.0,2660 260 | g48491020324,3477.0,5378,65895.0,2338 261 | g48491020328,4317.0,6573,87880.0,3042 262 | g48491020319,3286.0,5245,71475.0,2366 263 | g48491020321,1055.0,1649,24040.0,748 264 | g48491020325,1997.0,3431,44230.0,1597 265 | g48491020320,4855.0,6866,96680.0,3493 266 | g48491020314,3073.0,5271,80820.0,2654 267 | g48491020110,2895.0,3741,48990.0,1791 268 | g48491020604,3081.0,4850,67095.0,2553 269 | g48491020109,2585.0,2631,35510.0,1019 270 | g48491021601,2173.0,2754,33780.0,1258 271 | g48491020803,2704.0,3926,42590.0,1678 272 | g48491020805,4458.0,6747,77860.0,2950 273 | g48491020202,2966.0,4536,63345.0,1959 274 | g48491020204,3627.0,4497,68580.0,2067 275 | g48491020112,2386.0,3069,32570.0,1214 276 | g48491021602,2492.0,3451,41805.0,1532 277 | g48491021603,1381.0,1816,18415.0,733 278 | g48491020106,2580.0,2981,38710.0,1156 279 | g48491020114,2860.0,4992,41060.0,1957 280 | g48491020108,2538.0,2961,32395.0,1341 281 | g48491020406,4497.0,5949,93705.0,3856 282 | g48491020405,4057.0,5726,78300.0,2991 283 | g48491020504,5433.0,8648,104015.0,4544 284 | g48491020701,1426.0,2489,23395.0,1144 285 | g48491020602,3341.0,5175,56825.0,2574 286 | g48491020704,3873.0,5278,63450.0,2844 287 | g48491021502,2551.0,4914,50270.0,2421 288 | g48491021503,2603.0,3912,52355.0,2061 289 | g48491020403,1388.0,1920,18105.0,823 290 | g48491021203,1906.0,2967,32795.0,1100 291 | g48491020503,3517.0,4720,54965.0,2383 292 | g48491020302,1934.0,2644,33465.0,1186 293 | g48491021000,1725.0,3130,29385.0,1037 294 | g48491021401,5411.0,9433,82090.0,4277 295 | g48491021201,2176.0,2766,41610.0,1352 296 | g48491021100,1658.0,2695,28270.0,945 297 | g48491020404,2842.0,3406,49480.0,1945 298 | g48491021202,2114.0,2979,41770.0,1479 299 | g48491020703,6585.0,11194,104795.0,4877 300 | g48491021403,2211.0,3692,44440.0,1674 301 | g48491020310,2069.0,2345,32010.0,1072 302 | g48491020900,3424.0,4020,59335.0,1847 303 | g48491021300,2406.0,3631,39240.0,1387 304 | g48491021402,2002.0,4156,36075.0,1584 305 | g48491020301,3734.0,5421,77600.0,2321 306 | g48491020113,1861.0,2433,30960.0,1323 307 | g48491020509,4715.0,6892,88715.0,3330 308 | g48491020605,4415.0,6752,79545.0,3048 309 | g48491020312,4120.0,6309,93140.0,2975 310 | g48491020410,4224.0,6027,67095.0,3074 311 | g48491020316,2140.0,3202,33735.0,1479 312 | g48491020323,1696.0,2718,35175.0,1212 313 | g48491020327,2006.0,2549,31935.0,1237 314 | g48491020322,6221.0,8383,105840.0,4316 315 | g48491020313,5325.0,8235,102120.0,3935 316 | g48491020315,2347.0,3427,33290.0,1361 317 | g48491020510,6247.0,9332,115470.0,4077 318 | g48491020708,4291.0,6269,58405.0,2606 319 | g48491020706,0.0,0,42940.0,1786 320 | g48491021505,4917.0,6792,84880.0,3854 321 | g48491020807,4048.0,6589,72660.0,3146 322 | g48491020809,3758.0,5565,77120.0,2681 323 | g48491020115,0.0,0,26755.0,878 324 | g48491020111,2119.0,2805,28780.0,977 325 | g48491020105,2789.0,3489,15805.0,736 326 | g48491020203,2036.0,2565,8400.0,198 327 | g48491020201,1193.0,1459,18245.0,694 328 | g48491020107,0.0,0,7925.0,423 329 | g48491021508,4120.0,6047,69455.0,2872 330 | g48491020808,1194.0,1482,17865.0,645 331 | g48491021506,1811.0,2400,31160.0,1141 332 | g48491020806,0.0,0,19920.0,791 333 | g48491021504,2931.0,4787,54655.0,2054 334 | g48021950501,3857.0,7537,89800.0,2969 335 | g48021950801,3459.0,6149,82415.0,2080 336 | g48021950802,4761.0,7290,123920.0,2836 337 | g48021950502,4809.0,5692,86305.0,2565 338 | g48021950700,2648.0,4260,39305.0,1686 339 | g48021950600,3427.0,4350,57485.0,1733 340 | g48021950200,5555.0,8048,121115.0,4000 341 | g48021950100,7103.0,9742,146645.0,4203 342 | g48021950300,9301.0,12147,189900.0,5344 343 | g48021950400,5681.0,8153,115975.0,3896 344 | g48055960102,2619.0,3749,68060.0,1625 345 | g48055960101,3679.0,5822,74435.0,2028 346 | g48055960500,3631.0,7069,66770.0,2590 347 | g48055960700,3692.0,5785,70170.0,2258 348 | g48055960600,1848.0,2328,37155.0,986 349 | g48055960400,1922.0,3590,41635.0,1622 350 | g48055960300,2535.0,3964,47735.0,1561 351 | g48055960200,2112.0,5488,40925.0,1557 352 | -------------------------------------------------------------------------------- /code/example_data/transportation_ratio_stdErr_12420.csv: -------------------------------------------------------------------------------- 1 | id,ACS11_5yr_B25046001,ACS11_5yr_B01003001,ACS11_5yr_B08013001,ACS11_5yr_B08134001 2 | g48209010901,299.393939394,297.575757576,7718.18181818,212.727272727 3 | g48209010809,283.03030303,372.727272727,7037.57575758,172.727272727 4 | g48209010909,182.424242424,248.484848485,5201.21212121,134.545454545 5 | g48209010906,300.0,538.787878788,15069.0909091,293.939393939 6 | g48209010303,346.666666667,440.0,8313.93939394,339.393939394 7 | g48209010908,335.757575758,513.333333333,10023.030303,248.484848485 8 | g48209010805,327.272727273,346.666666667,5793.93939394,180.0 9 | g48209010808,429.696969697,318.787878788,16451.5151515,216.363636364 10 | g48209010806,150.303030303,281.212121212,10976.969697,163.03030303 11 | g48209010807,213.333333333,280.0,6173.93939394,162.424242424 12 | g48209010803,258.181818182,282.424242424,8100.0,187.272727273 13 | g48209010907,342.424242424,587.878787879,15894.5454545,319.393939394 14 | g48209010910,266.666666667,435.151515152,8488.48484848,267.272727273 15 | g48209010905,227.878787879,347.272727273,7742.42424242,170.303030303 16 | g48209010304,212.121212121,318.181818182,4918.18181818,172.121212121 17 | g48209010702,216.363636364,253.939393939,3688.48484848,141.818181818 18 | g48209010804,327.878787879,348.484848485,8787.87878788,223.03030303 19 | g48209010701,363.636363636,418.787878788,7584.84848485,262.424242424 20 | g48209010200,95.1515151515,578.181818182,3843.63636364,190.303030303 21 | g48209010100,147.878787879,176.96969697,6079.39393939,160.0 22 | g48209010600,294.545454545,442.424242424,10807.8787879,238.787878788 23 | g48209010500,166.060606061,246.666666667,12861.2121212,156.96969697 24 | g48209010400,277.575757576,392.121212121,7029.6969697,227.878787879 25 | g48209010302,158.181818182,267.878787879,7913.93939394,150.303030303 26 | g48209010902,426.666666667,504.242424242,13010.9090909,300.0 27 | g48453001857,227.272727273,441.818181818,8938.18181818,215.151515152 28 | g48453001862,212.727272727,293.333333333,5104.84848485,201.212121212 29 | g48453001855,346.060606061,467.272727273,14204.8484848,312.727272727 30 | g48453001859,104.848484848,132.727272727,1350.90909091,75.7575757576 31 | g48453001858,343.03030303,577.575757576,16626.6666667,326.060606061 32 | g48453001779,272.727272727,159.393939394,11752.7272727,215.757575758 33 | g48453001776,118.181818182,145.454545455,4132.12121212,116.363636364 34 | g48453002425,135.757575758,207.878787879,7600.60606061,154.545454545 35 | g48453001915,103.636363636,190.909090909,2109.6969697,60.6060606061 36 | g48453001778,186.666666667,172.121212121,6226.66666667,137.575757576 37 | g48453001777,202.424242424,280.0,6107.87878788,192.727272727 38 | g48453001770,210.303030303,297.575757576,6589.6969697,212.121212121 39 | g48453001775,0.0,0,4221.21212121,127.878787879 40 | g48453001772,272.727272727,303.03030303,6091.51515152,176.96969697 41 | g48453002428,226.666666667,406.060606061,7826.06060606,238.787878788 42 | g48453001864,146.666666667,189.696969697,3700.0,146.666666667 43 | g48453001846,104.242424242,118.787878788,1892.72727273,83.0303030303 44 | g48453001785,195.151515152,174.545454545,7549.09090909,192.121212121 45 | g48453001781,101.212121212,116.363636364,2994.54545455,116.363636364 46 | g48453001780,239.393939394,250.909090909,7492.72727273,175.757575758 47 | g48453001784,111.515151515,185.454545455,3790.3030303,118.787878788 48 | g48453001757,129.090909091,99.3939393939,2139.39393939,93.9393939394 49 | g48453001919,120.0,100.0,3338.78787879,95.7575757576 50 | g48453001918,0.0,0,1764.24242424,102.424242424 51 | g48453002318,248.484848485,418.787878788,9240.60606061,281.818181818 52 | g48453000307,104.848484848,122.424242424,1835.15151515,96.3636363636 53 | g48453000205,161.818181818,155.757575758,5529.6969697,153.939393939 54 | g48453000305,203.636363636,189.090909091,3733.93939394,180.0 55 | g48453000206,187.272727273,201.212121212,6447.27272727,149.696969697 56 | g48453001783,191.515151515,210.909090909,5999.39393939,190.909090909 57 | g48453001916,168.484848485,257.575757576,3963.03030303,126.060606061 58 | g48453001917,132.727272727,161.818181818,4596.36363636,141.212121212 59 | g48453001402,73.9393939394,128.484848485,4873.33333333,117.575757576 60 | g48453001308,135.757575758,246.060606061,8558.18181818,201.212121212 61 | g48453001307,153.333333333,246.666666667,5629.6969697,220.606060606 62 | g48453001786,241.212121212,304.848484848,7409.6969697,246.666666667 63 | g48453002500,171.515151515,181.818181818,5118.78787879,159.393939394 64 | g48453001782,174.545454545,227.272727273,3398.78787879,129.090909091 65 | g48453002426,221.212121212,390.909090909,8289.6969697,240.606060606 66 | g48453002211,153.333333333,288.484848485,3000.0,86.0606060606 67 | g48453000306,152.727272727,235.151515152,3883.03030303,149.696969697 68 | g48453001771,150.909090909,167.272727273,6870.90909091,113.333333333 69 | g48453001773,144.848484848,204.242424242,3760.60606061,124.848484848 70 | g48453001863,0.0,0,4794.54545455,175.151515152 71 | g48453001861,212.727272727,341.212121212,3958.78787879,147.272727273 72 | g48453001860,221.212121212,242.424242424,4704.24242424,154.545454545 73 | g48453001856,238.787878788,389.090909091,7044.24242424,224.848484848 74 | g48453002435,289.090909091,476.96969697,6487.27272727,179.393939394 75 | g48453002319,0,0,0,0 76 | g48453000304,285.454545455,279.393939394,4216.36363636,200.606060606 77 | g48453002317,255.151515152,284.848484848,7192.12121212,261.818181818 78 | g48453001774,253.333333333,309.696969697,10563.030303,321.212121212 79 | g48453002430,153.939393939,237.575757576,6990.3030303,152.727272727 80 | g48453002427,218.181818182,486.060606061,23861.2121212,273.333333333 81 | g48453002429,80.0,81.8181818182,1933.33333333,52.1212121212 82 | g48453002431,213.333333333,390.303030303,8103.63636364,193.939393939 83 | g48453002433,289.090909091,380.0,6872.72727273,272.121212121 84 | g48453002208,250.909090909,531.515151515,7587.27272727,216.363636364 85 | g48453002432,144.848484848,272.727272727,2509.09090909,87.2727272727 86 | g48453002434,100.0,132.121212121,3097.57575758,80.6060606061 87 | g48453002436,180.0,312.727272727,5308.48484848,166.666666667 88 | g48453001914,183.636363636,221.212121212,6212.12121212,184.242424242 89 | g48453002209,347.272727273,585.454545455,9652.12121212,249.090909091 90 | g48453002212,0.0,0,1390.3030303,25.4545454545 91 | g48453002207,296.363636364,397.575757576,22166.6666667,283.636363636 92 | g48453002210,244.848484848,362.424242424,6034.54545455,137.575757576 93 | g48453001854,217.575757576,261.212121212,14250.3030303,164.848484848 94 | g48453002411,178.181818182,233.333333333,9981.21212121,161.818181818 95 | g48453002410,157.575757576,209.696969697,5141.81818182,153.939393939 96 | g48453002409,108.484848485,183.636363636,3286.06060606,116.96969697 97 | g48453002403,156.96969697,326.060606061,5651.51515152,170.303030303 98 | g48453002402,201.818181818,379.393939394,8581.81818182,242.424242424 99 | g48453002312,200.0,359.393939394,7232.12121212,203.636363636 100 | g48453002308,241.818181818,439.393939394,16697.5757576,230.909090909 101 | g48453002307,233.939393939,485.454545455,7824.84848485,266.666666667 102 | g48453002315,148.484848485,284.242424242,5696.36363636,181.212121212 103 | g48453002424,138.787878788,227.878787879,4997.57575758,180.0 104 | g48453002316,0.0,0,12248.4848485,282.424242424 105 | g48453002304,170.303030303,428.484848485,9520.60606061,284.848484848 106 | g48453001747,191.515151515,280.606060606,5486.66666667,163.03030303 107 | g48453002113,134.545454545,235.757575758,4267.87878788,116.96969697 108 | g48453002112,169.090909091,336.363636364,9320.0,216.363636364 109 | g48453002110,138.787878788,318.787878788,5290.3030303,163.636363636 110 | g48453002109,214.545454545,218.181818182,4733.93939394,165.454545455 111 | g48453002108,132.727272727,344.848484848,5107.87878788,158.181818182 112 | g48453002107,138.181818182,279.393939394,3343.03030303,144.848484848 113 | g48453002106,196.363636364,339.393939394,3900.0,152.121212121 114 | g48453002105,165.454545455,393.333333333,11063.030303,229.090909091 115 | g48453002104,159.393939394,223.03030303,3310.90909091,130.909090909 116 | g48453002003,183.636363636,330.909090909,4746.06060606,158.181818182 117 | g48453002002,140.606060606,195.151515152,4174.54545455,151.515151515 118 | g48453002005,207.878787879,300.606060606,7120.0,182.424242424 119 | g48453002313,177.575757576,309.696969697,8878.78787879,202.424242424 120 | g48453001911,120.606060606,132.121212121,2857.57575758,134.545454545 121 | g48453001901,152.727272727,545.454545455,9816.36363636,513.333333333 122 | g48453001835,206.666666667,357.575757576,4110.90909091,157.575757576 123 | g48453001832,146.060606061,252.727272727,4172.12121212,126.666666667 124 | g48453001829,139.393939394,143.03030303,3216.36363636,142.424242424 125 | g48453001828,129.696969697,138.181818182,5715.15151515,103.636363636 126 | g48453001849,0.0,0,14785.4545455,236.363636364 127 | g48453001826,121.818181818,159.393939394,2140.0,87.8787878788 128 | g48453001845,122.424242424,193.939393939,3496.96969697,105.454545455 129 | g48453001844,107.272727273,207.878787879,5130.90909091,127.878787879 130 | g48453002419,0.0,0,5170.3030303,129.696969697 131 | g48453001823,243.03030303,403.03030303,7623.63636364,262.424242424 132 | g48453001822,243.636363636,438.181818182,12040.0,309.696969697 133 | g48453001821,164.242424242,318.181818182,5544.24242424,212.121212121 134 | g48453001820,214.545454545,387.272727273,8580.0,273.939393939 135 | g48453001819,153.333333333,335.151515152,8290.3030303,195.151515152 136 | g48453001818,191.515151515,435.151515152,6792.12121212,306.666666667 137 | g48453001817,170.303030303,242.424242424,4529.09090909,153.333333333 138 | g48453001813,233.939393939,459.393939394,7137.57575758,255.757575758 139 | g48453001812,231.515151515,427.272727273,14039.3939394,337.575757576 140 | g48453001811,136.96969697,343.636363636,5889.09090909,247.272727273 141 | g48453001806,203.636363636,398.181818182,10369.0909091,267.272727273 142 | g48453001805,168.484848485,325.454545455,7709.6969697,226.060606061 143 | g48453001804,256.96969697,369.696969697,7739.39393939,259.393939394 144 | g48453001738,166.666666667,178.181818182,11455.1515152,193.939393939 145 | g48453001750,240.0,275.151515152,9275.15151515,206.060606061 146 | g48453002004,133.333333333,205.454545455,4764.24242424,161.212121212 147 | g48453001841,367.272727273,623.636363636,8790.90909091,388.484848485 148 | g48453001853,104.848484848,121.818181818,4016.36363636,115.151515152 149 | g48453001753,63.6363636364,61.8181818182,3389.09090909,57.5757575758 150 | g48453001719,115.151515152,132.121212121,2498.78787879,95.1515151515 151 | g48453001718,193.939393939,196.96969697,3026.06060606,132.727272727 152 | g48453001713,147.272727273,261.818181818,3035.15151515,137.575757576 153 | g48453001712,179.393939394,206.666666667,4238.18181818,144.242424242 154 | g48453001707,201.818181818,382.424242424,3385.45454545,150.303030303 155 | g48453001706,151.515151515,173.333333333,3241.81818182,132.121212121 156 | g48453001705,171.515151515,154.545454545,3432.72727273,126.060606061 157 | g48453001605,251.515151515,335.757575758,3194.54545455,206.060606061 158 | g48453001604,151.515151515,144.242424242,2664.84848485,131.515151515 159 | g48453001603,160.606060606,201.818181818,2780.60606061,123.03030303 160 | g48453001602,144.848484848,221.212121212,5705.45454545,135.757575758 161 | g48453001305,168.484848485,323.03030303,3336.96969697,162.424242424 162 | g48453001304,118.787878788,150.303030303,3558.18181818,133.939393939 163 | g48453001303,141.212121212,185.454545455,3321.81818182,114.545454545 164 | g48453001200,238.787878788,284.242424242,4237.57575758,239.393939394 165 | g48453001100,255.151515152,309.090909091,4987.87878788,210.303030303 166 | g48453001000,138.787878788,287.272727273,4531.51515152,147.272727273 167 | g48453000902,204.242424242,427.878787879,4251.51515152,196.363636364 168 | g48453001505,170.909090909,171.515151515,5393.33333333,167.272727273 169 | g48453001504,147.272727273,240.0,3941.21212121,113.939393939 170 | g48453001503,132.727272727,250.303030303,5597.57575758,221.212121212 171 | g48453001501,163.636363636,159.393939394,3746.66666667,144.848484848 172 | g48453000901,86.6666666667,126.060606061,2137.57575758,71.5151515152 173 | g48453000804,104.242424242,182.424242424,2977.57575758,112.727272727 174 | g48453000803,128.484848485,169.696969697,4507.27272727,133.939393939 175 | g48453000802,126.666666667,296.96969697,6379.39393939,153.939393939 176 | g48453000801,80.6060606061,154.545454545,1541.81818182,82.4242424242 177 | g48453000700,87.2727272727,113.333333333,1167.27272727,60.6060606061 178 | g48453000604,284.242424242,572.121212121,5912.72727273,292.121212121 179 | g48453000603,318.181818182,430.909090909,4597.57575758,259.393939394 180 | g48453000601,116.363636364,845.454545455,3329.6969697,170.909090909 181 | g48453000500,224.848484848,311.515151515,4321.81818182,232.121212121 182 | g48453000402,136.96969697,192.727272727,3055.15151515,147.878787879 183 | g48453000401,196.96969697,229.696969697,4469.09090909,166.060606061 184 | g48453000302,234.545454545,292.121212121,5166.66666667,215.757575758 185 | g48453000204,134.545454545,167.878787879,3015.15151515,107.878787879 186 | g48453000203,125.454545455,153.333333333,3245.45454545,99.3939393939 187 | g48453001754,131.515151515,222.424242424,5316.36363636,167.878787879 188 | g48453000102,112.727272727,96.9696969697,2229.6969697,96.3636363636 189 | g48453000101,185.454545455,207.272727273,2258.18181818,131.515151515 190 | g48453002407,131.515151515,247.272727273,4592.72727273,155.757575758 191 | g48453001606,0,0,0,0 192 | g48453002310,115.151515152,228.484848485,3941.21212121,111.515151515 193 | g48453980000,0,0,0,0 194 | g48453001746,124.848484848,198.787878788,6987.87878788,184.242424242 195 | g48453002202,253.333333333,626.060606061,15441.2121212,308.484848485 196 | g48453002201,98.1818181818,175.757575758,3262.42424242,96.3636363636 197 | g48453002111,166.060606061,266.666666667,4680.60606061,135.151515152 198 | g48453001913,175.757575758,217.575757576,2939.39393939,129.090909091 199 | g48453001910,116.363636364,153.333333333,3253.33333333,120.0 200 | g48453001834,290.303030303,375.757575758,7770.3030303,267.878787879 201 | g48453001908,227.272727273,481.212121212,5190.90909091,215.757575758 202 | g48453001833,251.515151515,423.03030303,20067.2727273,293.333333333 203 | g48453001840,285.454545455,495.151515152,11189.6969697,307.878787879 204 | g48453001851,334.545454545,412.727272727,7764.24242424,286.666666667 205 | g48453001824,94.5454545455,173.333333333,2606.66666667,113.333333333 206 | g48453001749,252.727272727,346.666666667,7649.09090909,214.545454545 207 | g48453001843,90.9090909091,97.5757575758,2066.06060606,80.0 208 | g48453001729,213.333333333,287.878787879,4249.6969697,149.090909091 209 | g48453001728,224.242424242,260.0,8924.24242424,241.212121212 210 | g48453001745,103.636363636,148.484848485,6667.87878788,109.696969697 211 | g48453001766,309.090909091,424.848484848,11234.5454545,244.848484848 212 | g48453002421,287.272727273,355.151515152,8619.39393939,270.303030303 213 | g48453002423,198.787878788,552.727272727,5173.33333333,183.636363636 214 | g48453002314,217.575757576,422.424242424,9285.45454545,232.121212121 215 | g48453001748,183.03030303,246.060606061,5210.3030303,156.363636364 216 | g48453001912,155.757575758,244.848484848,4363.03030303,117.575757576 217 | g48453001752,229.090909091,273.333333333,5488.48484848,186.060606061 218 | g48453001760,405.454545455,592.121212121,10122.4242424,415.757575758 219 | g48453001742,238.787878788,367.878787879,6645.45454545,221.212121212 220 | g48453001847,206.666666667,347.878787879,5077.57575758,178.787878788 221 | g48453001848,139.393939394,236.96969697,5169.09090909,151.515151515 222 | g48453001755,173.333333333,153.939393939,4172.72727273,120.606060606 223 | g48453001756,156.96969697,204.242424242,3766.06060606,146.666666667 224 | g48453001764,305.454545455,356.96969697,8978.78787879,172.121212121 225 | g48453001737,155.151515152,190.909090909,5881.21212121,178.181818182 226 | g48453001740,107.272727273,174.545454545,3583.03030303,106.666666667 227 | g48453001765,272.121212121,383.03030303,9412.72727273,310.303030303 228 | g48453001714,347.272727273,370.303030303,11945.4545455,273.939393939 229 | g48453001403,98.7878787879,95.7575757576,2148.48484848,93.3333333333 230 | g48453001733,151.515151515,236.363636364,6003.03030303,149.090909091 231 | g48453001769,172.121212121,194.545454545,9459.39393939,143.636363636 232 | g48453001768,301.212121212,329.090909091,5487.27272727,168.484848485 233 | g48453001722,201.212121212,178.181818182,6424.24242424,176.363636364 234 | g48453001761,218.181818182,282.424242424,6537.57575758,206.666666667 235 | g48453001751,93.9393939394,97.5757575758,2053.93939394,85.4545454545 236 | g48453001716,156.363636364,163.636363636,5313.93939394,164.848484848 237 | g48453001842,213.939393939,367.272727273,7341.81818182,200.0 238 | g48453001741,283.03030303,225.454545455,4579.39393939,127.878787879 239 | g48453001850,181.818181818,283.03030303,5426.06060606,156.96969697 240 | g48453001839,245.454545455,303.636363636,6487.87878788,211.515151515 241 | g48453001401,151.515151515,158.787878788,8132.72727273,144.848484848 242 | g48453002422,221.818181818,298.181818182,4959.39393939,162.424242424 243 | g48453002413,130.909090909,269.090909091,6035.15151515,140.0 244 | g48453002412,176.363636364,257.575757576,5410.3030303,145.454545455 245 | g48491020603,239.393939394,316.363636364,5783.03030303,152.727272727 246 | g48491021507,343.03030303,463.03030303,11705.4545455,306.060606061 247 | g48491020804,181.818181818,276.363636364,5256.36363636,171.515151515 248 | g48491020707,178.787878788,347.878787879,5201.81818182,155.757575758 249 | g48491020505,88.4848484848,102.424242424,3869.09090909,97.5757575758 250 | g48491020408,212.121212121,242.424242424,6267.87878788,200.0 251 | g48491020411,215.757575758,361.212121212,7366.66666667,234.545454545 252 | g48491020409,226.060606061,244.848484848,9418.18181818,190.909090909 253 | g48491020506,243.636363636,415.757575758,7056.96969697,176.363636364 254 | g48491020507,165.454545455,244.848484848,4815.15151515,156.96969697 255 | g48491020317,174.545454545,249.696969697,4007.27272727,155.757575758 256 | g48491020508,202.424242424,256.363636364,6975.15151515,169.696969697 257 | g48491020311,123.636363636,145.454545455,4493.93939394,106.060606061 258 | g48491020318,244.848484848,267.272727273,6678.78787879,174.545454545 259 | g48491020326,213.333333333,239.393939394,6962.42424242,153.939393939 260 | g48491020324,170.909090909,266.060606061,5156.36363636,156.363636364 261 | g48491020328,171.515151515,203.03030303,6061.21212121,198.181818182 262 | g48491020319,239.393939394,316.96969697,6124.24242424,163.636363636 263 | g48491020321,109.090909091,173.939393939,4165.45454545,75.7575757576 264 | g48491020325,167.272727273,315.151515152,5498.78787879,164.242424242 265 | g48491020320,250.909090909,358.787878788,6288.48484848,211.515151515 266 | g48491020314,215.757575758,408.484848485,7974.54545455,213.939393939 267 | g48491020110,197.575757576,166.666666667,5121.81818182,110.303030303 268 | g48491020604,172.727272727,290.303030303,8976.36363636,312.727272727 269 | g48491020109,313.939393939,271.515151515,5992.72727273,153.333333333 270 | g48491021601,152.121212121,215.757575758,4724.24242424,138.181818182 271 | g48491020803,330.303030303,399.393939394,4963.63636364,177.575757576 272 | g48491020805,255.757575758,355.151515152,6598.18181818,200.606060606 273 | g48491020202,166.666666667,246.666666667,6010.90909091,164.848484848 274 | g48491020204,287.272727273,390.303030303,9841.81818182,216.96969697 275 | g48491020112,157.575757576,206.060606061,6528.48484848,161.212121212 276 | g48491021602,184.242424242,312.727272727,6927.87878788,170.303030303 277 | g48491021603,104.242424242,132.121212121,2996.96969697,79.3939393939 278 | g48491020106,200.606060606,193.939393939,5623.03030303,146.666666667 279 | g48491020114,173.333333333,486.060606061,5565.45454545,156.96969697 280 | g48491020108,181.818181818,151.515151515,3104.24242424,124.242424242 281 | g48491020406,223.636363636,338.181818182,7558.78787879,231.515151515 282 | g48491020405,206.060606061,294.545454545,8689.09090909,233.333333333 283 | g48491020504,244.242424242,497.575757576,8632.12121212,245.454545455 284 | g48491020701,150.909090909,258.181818182,2700.60606061,104.242424242 285 | g48491020602,173.939393939,340.0,4347.27272727,214.545454545 286 | g48491020704,180.0,238.181818182,7073.93939394,192.121212121 287 | g48491021502,160.606060606,278.181818182,5249.6969697,165.454545455 288 | g48491021503,170.303030303,276.96969697,8262.42424242,153.939393939 289 | g48491020403,101.818181818,149.090909091,2600.60606061,95.1515151515 290 | g48491021203,140.0,299.393939394,5113.33333333,135.757575758 291 | g48491020503,151.515151515,194.545454545,6192.12121212,134.545454545 292 | g48491020302,148.484848485,228.484848485,2908.48484848,105.454545455 293 | g48491021000,210.303030303,201.818181818,5782.42424242,119.393939394 294 | g48491021401,260.606060606,404.848484848,6928.48484848,250.909090909 295 | g48491021201,141.818181818,162.424242424,5260.60606061,96.3636363636 296 | g48491021100,129.090909091,258.787878788,3435.75757576,114.545454545 297 | g48491020404,126.666666667,156.96969697,3968.48484848,110.303030303 298 | g48491021202,142.424242424,205.454545455,5309.09090909,134.545454545 299 | g48491020703,269.696969697,512.121212121,8740.60606061,230.303030303 300 | g48491021403,175.151515152,269.090909091,7435.75757576,166.060606061 301 | g48491020310,87.8787878788,73.9393939394,3997.57575758,98.7878787879 302 | g48491020900,169.696969697,229.696969697,4815.75757576,118.181818182 303 | g48491021300,117.575757576,213.939393939,3049.6969697,77.5757575758 304 | g48491021402,117.575757576,318.181818182,6653.33333333,156.96969697 305 | g48491020301,166.060606061,350.303030303,10190.9090909,173.939393939 306 | g48491020113,173.939393939,180.0,4648.48484848,123.636363636 307 | g48491020509,244.242424242,240.0,6907.87878788,204.848484848 308 | g48491020605,196.96969697,271.515151515,5575.75757576,158.181818182 309 | g48491020312,236.363636364,299.393939394,9616.96969697,200.0 310 | g48491020410,254.545454545,301.818181818,6280.0,196.363636364 311 | g48491020316,181.212121212,294.545454545,4021.21212121,167.272727273 312 | g48491020323,118.787878788,162.424242424,3348.48484848,89.696969697 313 | g48491020327,178.181818182,195.757575758,5770.90909091,177.575757576 314 | g48491020322,255.757575758,269.090909091,6764.24242424,245.454545455 315 | g48491020313,254.545454545,390.303030303,7162.42424242,218.787878788 316 | g48491020315,273.939393939,385.454545455,3951.51515152,150.303030303 317 | g48491020510,281.818181818,336.96969697,9546.66666667,210.303030303 318 | g48491020708,373.939393939,447.272727273,5370.90909091,218.181818182 319 | g48491020706,0.0,0,3613.33333333,123.03030303 320 | g48491021505,221.212121212,307.878787879,5884.84848485,188.484848485 321 | g48491020807,270.909090909,246.060606061,5632.12121212,201.212121212 322 | g48491020809,215.151515152,290.909090909,6712.12121212,164.242424242 323 | g48491020115,0.0,0,4942.42424242,133.939393939 324 | g48491020111,92.1212121212,180.0,4535.75757576,84.8484848485 325 | g48491020105,187.272727273,246.666666667,3469.6969697,140.0 326 | g48491020203,150.303030303,183.636363636,2772.12121212,53.3333333333 327 | g48491020201,125.454545455,132.727272727,2927.87878788,122.424242424 328 | g48491020107,0.0,0,2501.81818182,118.181818182 329 | g48491021508,510.303030303,593.939393939,10113.3333333,352.727272727 330 | g48491020808,158.181818182,227.272727273,3565.45454545,127.878787879 331 | g48491021506,242.424242424,255.757575758,5603.03030303,192.727272727 332 | g48491020806,0.0,0,3537.57575758,118.181818182 333 | g48491021504,273.939393939,449.090909091,6932.72727273,203.636363636 334 | g48021950501,376.96969697,430.303030303,11552.1212121,275.151515152 335 | g48021950801,367.272727273,592.121212121,11867.2727273,283.03030303 336 | g48021950802,273.333333333,586.666666667,12953.3333333,256.96969697 337 | g48021950502,339.393939394,438.787878788,9959.39393939,232.727272727 338 | g48021950700,192.121212121,163.636363636,5190.3030303,124.242424242 339 | g48021950600,272.121212121,350.909090909,7344.84848485,172.727272727 340 | g48021950200,428.484848485,252.727272727,11354.5454545,273.333333333 341 | g48021950100,408.484848485,606.060606061,15006.6666667,293.939393939 342 | g48021950300,470.909090909,543.03030303,15723.030303,311.515151515 343 | g48021950400,382.424242424,500.606060606,11289.6969697,267.878787879 344 | g48055960102,200.606060606,329.090909091,9956.36363636,199.393939394 345 | g48055960101,260.606060606,485.454545455,8800.60606061,178.181818182 346 | g48055960500,250.909090909,427.272727273,5886.06060606,217.575757576 347 | g48055960700,240.606060606,136.96969697,10407.2727273,184.848484848 348 | g48055960600,189.090909091,230.303030303,7421.21212121,136.363636364 349 | g48055960400,171.515151515,253.333333333,5260.60606061,169.090909091 350 | g48055960300,189.696969697,232.121212121,5440.0,127.878787879 351 | g48055960200,213.939393939,291.515151515,7150.3030303,169.696969697 352 | -------------------------------------------------------------------------------- /code/local_search.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Various pieces needed to conduct the local search (aka "swapping") stage. 3 | ''' 4 | 5 | __author__ = "David C. Folch , Seth E. Spielman " 6 | 7 | 8 | import copy 9 | from operator import itemgetter 10 | import numpy as np 11 | from utils import sum_squares, list_copy 12 | import pysal 13 | 14 | 15 | class Mover: 16 | ''' 17 | Fancy class to organize the components of a candidate move or the tabu list. 18 | ''' 19 | def __init__(self, aid, rid_orig, rid_neig, ssds, id2region, short, tabu_lock): 20 | self.aid = aid 21 | self.rid_orig = rid_orig 22 | self.rid_neig = rid_neig 23 | self.ssd_orig = ssds[rid_orig] 24 | self.ssd_neig = ssds[rid_neig] 25 | # we don't really need to copy the whole dictionary; we just need to 26 | # copy the values, and then change one element in that list; 27 | # probably a clever way to do this to save time (and possibly RAM) 28 | id2region_local = id2region.copy() 29 | if tabu_lock: 30 | # when locking in a move, we don't allow aid to return to rid_orig 31 | self.key_intermediate = (aid, rid_orig) 32 | # when locking in a move, we don't allow aid to return to an earlier map 33 | id2region_local[aid] = rid_orig 34 | self.key_short = tuple(id2region_local.values()) 35 | else: 36 | # when testing a move, we check if aid wants to return to a tabu rid 37 | self.key_intermediate = (aid, rid_neig) 38 | # when testing a move, we check if aid wants to return to an earlier map 39 | id2region_local[aid] = rid_neig 40 | self.key_short = tuple(id2region_local.values()) 41 | self.set_key(short) 42 | # stuff to allow flipping between short and intermediate tabu lists 43 | def key_short_func(self): 44 | ''' 45 | This hash is for search intensification since each instance of this 46 | class eliminates one possible solution. This class takes a snapshot of 47 | the whole map, not the move. This means that this move can be 48 | repeated, so long as we don't return to this exact map. 49 | 50 | assuming id2region_local.values() is always in the same order since built with id2region.copy(); based on these links 51 | http://stackoverflow.com/questions/2053021/is-the-order-of-a-python-dictionary-guaranteed-over-iterations 52 | http://stackoverflow.com/questions/3666237/are-order-of-keys-and-values-in-python-dictionary-guaranteed-to-be-the-same?rq=1 53 | ''' 54 | return self.key_short 55 | def key_intermediate_func(self): 56 | ''' 57 | This hash is for search diversification since each instance of this 58 | class eliminates more than one possible solution. This class takes a 59 | snapshot of the area and its former region, not the whole map. This 60 | means that any move trying to put this area back into this region is 61 | disallowed; this implies that not only this map cannot be repeated, 62 | but all maps with this area in this region cannot be repeated. 63 | ''' 64 | return self.key_intermediate 65 | def set_key(self, value): 66 | self.short = value 67 | if value: 68 | self.__key = self.key_short_func 69 | else: 70 | self.__key = self.key_intermediate_func 71 | # some extra stuff to use instances of this class in sets 72 | def __eq__(x, y): 73 | return x.__key() == y.__key() 74 | def __hash__(self): 75 | return hash(self.__key()) 76 | 77 | 78 | def local_search(regions, id2region, w, count_th_min, count_th_max, count_est, target_th,\ 79 | target_parts, target_est, exclude, get_cv,\ 80 | local_test, local_params, cv_exclude): 81 | ''' 82 | Starting with an base solution, swap areas in an attempt to reduce the 83 | global sum of squares, while maintaining threshold constraints. 84 | 85 | At each step it aways takes the best possible move, meaning that it is 86 | entirely deterministic given a fixed starting point and fixed tabu search 87 | parameters. 88 | ''' 89 | # clean up parameters 90 | if not local_params: 91 | local_params = {} 92 | else: 93 | local_params = copy.deepcopy(local_params) 94 | #################################################### 95 | # default settings based on Folch and Spielman (IJGIS, 2014) 96 | if 'max_swaps' not in local_params: 97 | local_params['max_swaps'] = w.n 98 | if 'max_chain' not in local_params: 99 | local_params['max_chain'] = w.n * 0.50 100 | if 'max_tabu' not in local_params: 101 | local_params['max_tabu'] = w.n * 0.40 102 | if 'change_thresh' not in local_params: 103 | local_params['change_thresh'] = 0.0000001 104 | #################################################### 105 | # baseline values 106 | solution = copy.deepcopy(regions) 107 | ssds = [sum_squares(region, target_est) for region in regions] 108 | memory_global_ssds = [sum(ssds)] 109 | ssd_global = sum(ssds) 110 | ssd_base_solution = sum(ssds) 111 | ssd_start = sum(ssds) 112 | ssd_last10 = [ssd_start*10] * 9 113 | last10_feasible = True 114 | memory_solutions = [list_copy(solution)] 115 | memory_id2region = [id2region.copy()] 116 | memory_ssds = [copy.copy(ssds)] 117 | # SSD threshold test: some SSD values get VERY big and cause rounding 118 | # problems when comparing two values; this hack sets the magnitude for 119 | # differentiating two values at some very small negative value relative to 120 | # the magnitude of the SSD values 121 | ssd_test = len(str(int(ssd_global))) # find number of digits in front of decimal 122 | if ssd_test > 12: 123 | # if the SSDs are very big, essentially treat them as integers 124 | ssd_test = -1 125 | else: 126 | # if the SSDs are in some lower range then create a very small float 127 | ssd_test = -float('1e-'+str(12 - ssd_test)) 128 | ##### setup parameters ######################### 129 | max_swaps = local_params['max_swaps'] 130 | max_chain = local_params['max_chain'] 131 | max_tabu = local_params['max_tabu'] 132 | last10_threshold = local_params['change_thresh'] 133 | ################################################ 134 | tabu = [] 135 | memory_tabu = [] 136 | total_swaps = 1 137 | keep_going = True # serves as an override to stop the algorithm in unusual cases 138 | exit = 'not recorded' 139 | short = False # if True then run intense search 140 | intense_start_state = 'did not shift to intense tabu' 141 | # note: for these purposes a swap is a single improvement in SSD even if 142 | # it takes a long chain to get there 143 | # note: the chain restarts each time a feasible SSD improving swap is found 144 | # note: we set a maximum number of feasible swaps so that the script 145 | # doesn't run forever 146 | 147 | 148 | 149 | while True: 150 | ################################ 151 | # conditions for ending or switching algorithm 152 | ################################ 153 | if not keep_going: 154 | if short: 155 | # this block catches the less usual reasons for stopping the 156 | # algorithm; keep_going was triggered at some point in the 157 | # last pass through, and since it was in the intense search 158 | # stage it is time to stop the algorithm; 159 | # rollback to last good result and exit 160 | solution = memory_solutions[0] 161 | id2region = memory_id2region[0] 162 | break 163 | if total_swaps > max_swaps: 164 | # if it ever gets to max_swaps (no matter if it's in the diverse 165 | # or intense search stage), then it's time to stop; 166 | # rollback to last good result and exit 167 | solution = memory_solutions[0] 168 | id2region = memory_id2region[0] 169 | exit = 'max swaps' 170 | break 171 | if len(memory_solutions) > max_chain or not keep_going: 172 | if not short: 173 | # finished diverse search (aka "intermediate"), rollback to 174 | # last good result and begin intense (aka "short") search 175 | ##print '\n\n*****************************************************' 176 | ##print "switching to intense tabu search", total_swaps, len(memory_solutions), sum(memory_ssds[0]) 177 | ##print '*****************************************************\n\n' 178 | intense_start_state = total_swaps, len(memory_solutions), sum(memory_ssds[0]) 179 | tabu = memory_tabu[:] 180 | for i in tabu: 181 | i.set_key(True) 182 | short = True 183 | keep_going = True 184 | # reset baseline values 185 | solution = memory_solutions[0] 186 | memory_solutions = [list_copy(solution)] 187 | id2region = memory_id2region[0] 188 | memory_id2region = [id2region.copy()] 189 | ssds = memory_ssds[0] 190 | memory_ssds = [ssds[:]] 191 | memory_global_ssds = [sum(ssds)] 192 | ssd_global = sum(ssds) 193 | ssd_base_solution = sum(ssds) 194 | ssd_start = sum(ssds) 195 | else: 196 | # finished intense search, rollback to last good result and exit 197 | solution = memory_solutions[0] 198 | id2region = memory_id2region[0] 199 | exit = 'max chain' 200 | break 201 | 202 | 203 | 204 | ################################ 205 | # main section of algorithm 206 | ################################ 207 | 208 | ##print 'total swaps', total_swaps 209 | ##print 'chain length', len(memory_solutions) 210 | ##print 'tabu length', len(tabu) 211 | ##print '\tstart SSD', memory_global_ssds[-1] 212 | ##if total_swaps%100==0: print 'swaps', total_swaps 213 | 214 | # build list of candidate moves 215 | candidates = [] 216 | for rid, region in enumerate(solution): 217 | if len(region) > 1: 218 | # can only move an area out if there are multiple areas in region 219 | for i in region: 220 | neighbors = w.neighbors[i] 221 | # eliminate neighbors in i's region 222 | outside = set(neighbors).difference(region) 223 | # eliminate neighbors in excluded list 224 | outside = outside.difference(exclude) 225 | # eliminate redundant neighboring regions 226 | unique_regions = {id2region[j] for j in outside} # returns a set 227 | # add area moves to candidate list 228 | for rid_neig in unique_regions: 229 | candidates.append(Mover(i, rid, rid_neig, ssds, id2region, short, False)) 230 | 231 | ##print '\tnumber of candidates', len(candidates) 232 | # candidates represents all possible single moves 233 | # note: a particular area may be in multiple candidates 234 | if not candidates: 235 | # stop swapping if no more candidates can be found 236 | # roll back solution and id2regions to best feasible solution 237 | # note: I suspect this little block of code has no impact on the 238 | # results: if there are no candidates the else part of the 239 | # while-else loop that follows with catch it. However, I'm 240 | # leaving it in case it catches some case I cannot remember. 241 | solution = list_copy(memory_solutions[0]) 242 | id2region = memory_id2region[0].copy() 243 | keep_going = False 244 | exit = 'no candidates' 245 | 246 | # measure SSD for each candidate move 247 | test = [] 248 | for candidate in candidates: 249 | region_orig = solution[candidate.rid_orig][:] 250 | region_neig = solution[candidate.rid_neig][:] 251 | region_orig.remove(candidate.aid) 252 | region_neig.append(candidate.aid) 253 | ssd_orig_r = sum_squares(region_orig, target_est) 254 | ssd_neig_r = sum_squares(region_neig, target_est) 255 | candidate.ssd_orig_r = ssd_orig_r 256 | candidate.ssd_neig_r = ssd_neig_r 257 | test.append(ssd_start - (candidate.ssd_orig + candidate.ssd_neig)\ 258 | + (ssd_orig_r + ssd_neig_r)) 259 | ##print '\t\t\tCandidate, CV', candidate.aid, test[-1] 260 | 261 | # identify which feasible candidate move results in lowest global SSD 262 | test_zip = zip(test, candidates) 263 | # sort largest to smallest, then pop from the end 264 | test_zip = sorted(test_zip, key=itemgetter(0), reverse=True) 265 | candidates = [i[1] for i in test_zip] 266 | test_sorted = [i[0] for i in test_zip] 267 | update_tabu = False 268 | tabu_lock = False 269 | last10_feasible = True 270 | 271 | while candidates: 272 | best_test = test_sorted.pop() 273 | best_cand = candidates.pop() 274 | ##print '\t\t', best_cand.aid, best_cand.rid_orig, best_cand.rid_neig 275 | ##print '\t\ttesting SSD', total_swaps, len(memory_solutions), best_test, ssd_global, best_test -ssd_global 276 | solution = list_copy(memory_solutions[-1]) 277 | solution[best_cand.rid_orig].remove(best_cand.aid) 278 | solution[best_cand.rid_neig].append(best_cand.aid) 279 | # check candidate feasibility here since the tests are expensive 280 | # only consider moves that meet feasibility thresholds 281 | candidate_feasible = False 282 | if local_test(solution, target_parts, target_th,\ 283 | count_est, count_th_min, count_th_max, get_cv,\ 284 | memory_solutions[-1], cv_exclude): 285 | # check if proposed move will split its region 286 | if pysal.region.check_contiguity(w,\ 287 | memory_solutions[-1][best_cand.rid_orig],\ 288 | best_cand.aid): 289 | candidate_feasible = True 290 | # only proceed if the candidate meets all requirements 291 | if candidate_feasible: 292 | ##print '\t\t', best_cand.aid, best_cand.rid_orig, best_cand.rid_neig 293 | ##print '\t\ttesting SSD', best_test, ssd_global, best_test -ssd_global 294 | ##print '\t\tSSD components', ssd_start, "- (",\ 295 | ## best_cand.ssd_orig, "+", best_cand.ssd_neig, ") + (",\ 296 | ## best_cand.ssd_orig_r, "+", best_cand.ssd_neig_r, ")" 297 | ##if best_test - ssd_global < 0 and best_test - ssd_global > ssd_test: 298 | ## print total_swaps, best_test, ssd_global, best_test - ssd_global, ssd_test 299 | if best_test - ssd_global < ssd_test: 300 | # candidate improves global SSD: reset memory 301 | # note: we ignore tabu list for feasible candidates that 302 | # improve SSD 303 | ##print '\t\t>>> STOP: Improved global SSD' 304 | ##print '\t\t', best_cand.aid, best_cand.rid_orig, best_cand.rid_neig 305 | ##print '\t\tsuccessful swap chain length', len(memory_solutions) 306 | # update tabu list 307 | update_tabu = True 308 | tabu_lock = True 309 | # reset solution chain to best move 310 | memory_solutions = [list_copy(solution)] 311 | # reset id2region chain to best move 312 | id2region[best_cand.aid] = best_cand.rid_neig 313 | memory_id2region = [id2region.copy()] 314 | # reset SSDs chain to best move 315 | ssds[best_cand.rid_orig] = best_cand.ssd_orig_r 316 | ssds[best_cand.rid_neig] = best_cand.ssd_neig_r 317 | memory_ssds = [ssds[:]] 318 | memory_global_ssds = [best_test] 319 | ssd_global = best_test 320 | ssd_start = best_test 321 | # test total change 322 | ssd_last = ssd_last10.pop(0) 323 | ssd_last10.append(ssd_global) 324 | ##print '\t\tSSD change, over last 10:', (ssd_last - ssd_global)/ssd_last 325 | if (ssd_last - ssd_global)/ssd_last < last10_threshold: 326 | last10_feasible = False 327 | total_swaps += 1 328 | break 329 | elif best_cand in tabu: 330 | # skip this candidate: it doesn't improve SSD and is in tabu list 331 | ##print '\t\t>>> SKIP: In tabu list, and does not improve SSD' 332 | pass 333 | else: 334 | # candidate does not improve global SSD and is not in tabu list: add to memory 335 | # add solution to chain of sub-optimal solutions in the hope of 336 | # eventually finding an optimal solution later 337 | ##print '\t\t>>> ADD: Does not improve global SSD' 338 | ##print '\t\t', best_cand.aid, best_cand.rid_orig, best_cand.rid_neig 339 | update_tabu = True 340 | # update solution based on best move 341 | memory_solutions.append(list_copy(solution)) 342 | # update id2region dictionary based on best move 343 | id2region[best_cand.aid] = best_cand.rid_neig 344 | memory_id2region.append(id2region.copy()) 345 | # update SSDs based on best move 346 | ssds[best_cand.rid_orig] = best_cand.ssd_orig_r 347 | ssds[best_cand.rid_neig] = best_cand.ssd_neig_r 348 | memory_ssds.append(ssds[:]) 349 | memory_global_ssds.append(best_test) 350 | ssd_start = best_test 351 | break 352 | else: 353 | # skip this candidate: it is not feasible 354 | ##print '\t\t>>> SKIP: Not feasible' 355 | #solution = list_copy(memory_solutions[-1]) 356 | pass 357 | else: 358 | # stop swapping if no viable candidate can be found 359 | # roll back solution and id2regions to best feasible solution 360 | solution = list_copy(memory_solutions[0]) 361 | id2region = memory_id2region[0].copy() 362 | keep_going = False 363 | exit = 'no viable candidates' 364 | if not last10_feasible: 365 | # the current improvement in SSD is less than __% since 10 moves ago 366 | ##print '\tlow change in SSD' 367 | keep_going = False 368 | exit = 'below threshold' 369 | if update_tabu: 370 | # add map to tabu list 371 | tabu.append(Mover(best_cand.aid, best_cand.rid_orig,\ 372 | best_cand.rid_neig, memory_ssds[-1][:],\ 373 | id2region, short, True)) 374 | ##print '\t\t\tlast tabu', tabu[-1].aid, tabu[-1].rid_orig, tabu[-1].rid_neig 375 | if len(tabu) > max_tabu: 376 | tabu.pop(0) 377 | if tabu_lock: 378 | # tabu list associated with last improving move 379 | memory_tabu = tabu[:] 380 | ##print intense_start_state, (total_swaps, len(memory_solutions), sum(memory_ssds[0])) 381 | return solution, id2region, exit 382 | 383 | 384 | 385 | ################################################################### 386 | # Four different threshold criteria for defining feasible regions # 387 | ################################################################### 388 | def local_test_cv_only(solution, target_parts, target_th,\ 389 | count_est, count_th_min, count_th_max, get_cv, last_solution, cv_exclude): 390 | ''' 391 | Need to be below CV threshold. 392 | ''' 393 | changed_regions = [] 394 | for rid in xrange(len(solution)): 395 | if solution[rid] != last_solution[rid]: 396 | changed_regions.append(rid) 397 | for rid in changed_regions: 398 | region = np.array(solution[rid], copy=False, dtype=np.int32) 399 | if np.any(get_cv(region, target_parts, cv_exclude) > target_th): 400 | ##print '\t\t\tFailed CV', get_cv(region, target_parts, cv_exclude) 401 | return False 402 | return True 403 | 404 | def local_test_count_only(solution, target_parts, target_th,\ 405 | count_est, count_th_min, count_th_max, get_cv, last_solution, cv_exclude): 406 | ''' 407 | Need to be above count threshold. 408 | ''' 409 | for region in solution: 410 | if count_est[region].sum() < count_th_min: 411 | ##print '\t\t\tFailed Count', count_est[region].sum() 412 | return False 413 | return True 414 | 415 | def local_test_min_count(solution, target_parts, target_th,\ 416 | count_est, count_th_min, count_th_max, get_cv, last_solution, cv_exclude): 417 | ''' 418 | Need to be above count threshold, and below CV threshold. 419 | ''' 420 | changed_regions = [] 421 | for rid in xrange(len(solution)): 422 | if solution[rid] != last_solution[rid]: 423 | changed_regions.append(rid) 424 | for rid in changed_regions: 425 | region = np.array(solution[rid], copy=False, dtype=np.int32) 426 | if count_est[region].sum() < count_th_min: 427 | ##print '\t\t\tFailed Count', count_est[region].sum() 428 | return False 429 | if np.any(get_cv(region, target_parts, cv_exclude) > target_th): 430 | ##print '\t\t\tFailed CV', get_cv(region, target_parts) 431 | return False 432 | return True 433 | 434 | def local_test_max_count(solution, target_parts, target_th,\ 435 | count_est, count_th_min, count_th_max, get_cv, last_solution, cv_exclude): 436 | ''' 437 | Need to be below count threshold, and below CV threshold. 438 | ''' 439 | changed_regions = [] 440 | for rid in xrange(len(solution)): 441 | if solution[rid] != last_solution[rid]: 442 | changed_regions.append(rid) 443 | for rid in changed_regions: 444 | region = np.array(solution[rid], copy=False, dtype=np.int32) 445 | # test all region sizes first since get_cv() is much slower 446 | if count_est[region].sum() > count_th_max: 447 | ##print '\t\t\tFailed Count', count_est[region].sum() 448 | return False 449 | if np.any(get_cv(region, target_parts, cv_exclude) > target_th): 450 | ##print '\t\t\tFailed CV', get_cv(region, target_parts) 451 | return False 452 | return True 453 | 454 | def local_test_min_max_count(solution, target_parts, target_th,\ 455 | count_est, count_th_min, count_th_max, get_cv, last_solution, cv_exclude): 456 | ''' 457 | Need to get above min count threshold and stay below max count threshold, 458 | and below CV threshold. 459 | ''' 460 | changed_regions = [] 461 | for rid in xrange(len(solution)): 462 | if solution[rid] != last_solution[rid]: 463 | changed_regions.append(rid) 464 | for rid in changed_regions: 465 | region = np.array(solution[rid], copy=False, dtype=np.int32) 466 | count = count_est[region].sum() 467 | if count < count_th_min: 468 | ##print '\t\t\tFailed Min Count', count 469 | return False 470 | if count > count_th_max: 471 | ##print '\t\t\tFailed Max Count', count 472 | return False 473 | if np.any(get_cv(region, target_parts, cv_exclude) > target_th): 474 | ##print '\t\t\tFailed CV', get_cv(region, target_parts, cv_exclude) 475 | return False 476 | return True 477 | 478 | 479 | 480 | 481 | -------------------------------------------------------------------------------- /code/toy_example.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": { 7 | "collapsed": false 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "%matplotlib inline\n", 12 | "import pysal\n", 13 | "import numpy as np\n", 14 | "import random\n", 15 | "import geopandas as gp\n", 16 | "import acs_regionalization as ACS" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 2, 22 | "metadata": { 23 | "collapsed": false 24 | }, 25 | "outputs": [], 26 | "source": [ 27 | "# read in estimates and standard errors\n", 28 | "ests = np.genfromtxt('example_data/99999_a225_p9_pop9999_k3_j0_est.csv', delimiter=',')\n", 29 | "sdes = np.genfromtxt('example_data/99999_a225_p9_pop9999_k3_j0_stdErr.csv', delimiter=',')\n", 30 | "# build the spatial connectivity\n", 31 | "shp = pysal.open('example_data/99999_225.shp') \n", 32 | "w = pysal.rook_from_shapefile('example_data/99999_225.shp')\n", 33 | "# convert standard error to margin of error\n", 34 | "moes = sdes * 1.645" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": 3, 40 | "metadata": { 41 | "collapsed": false 42 | }, 43 | "outputs": [ 44 | { 45 | "data": { 46 | "text/plain": [ 47 | "[]" 48 | ] 49 | }, 50 | "execution_count": 3, 51 | "metadata": {}, 52 | "output_type": "execute_result" 53 | }, 54 | { 55 | "data": { 56 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAEACAYAAABYh3hbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA0FJREFUeJzt2zFOQzEURcHjCAl2jdg1NJiCFSD0E9uZ6a8/1REp3phz\nBjy326P/AODxhAAQAkAIgIQASAiAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICICE\nAEgIgIQASAiAhACoXq56eIzbZ83Xq96H842vOb/f7vGly0LwG4H58ffdeLezO2v3n2/dh58GgBAA\nQgAkBEBCACQEQEIAJARAQgAkBEBCACQEQDXmnNc8PMY1D8MTmXOOe3znwuvDWv8qzM7uHjvXh8AG\nhAAQAkAIgIQASAiAhABICICEAEgIgIQAyNERLM3RkZ3dMTtHR8AGhAAQAkAIgIQASAiAhABICICE\nAEgIgIQASAiAXB/C0lwf2tkds3N9CGxACAAhAIQASAiAhABICICEAEgIgIQASAiAhADI9SEszfWh\nnd0xO9eHwAaEABACQAiAhABICICEAEgIgIQASAiAhABICIBcH8LSXB/a2R2zc30IbEAIACEAhABI\nCICEAEgIgIQASAiAhABICICEAMj1ISzN9aGd3TE714fABoQAEAJACICEAEgIgIQASAiAhABICICE\nAEgIgFwfwtJcH9rZHbNzfQhsQAgAIQCEAEgIgIQASAiAhABICICEAEgIgIQAyPUhLM31oZ3dMTvX\nh8AGhAAQAkAIgIQASAiAhABICICEAEgIgIQASAiAXB/C0lwf2tkds3N9CGxACAAhAIQASAiAhABI\nCICEAEgIgIQASAiAhADI9SEszfWhnd0xO9eHwAaEABACQAiAhABICICEAEgIgIQASAiAhABICIBc\nH8LSXB/a2R2zc30IbEAIACEAhABICICEAEgIgIQASAiAhABICICEAMj1ISzN9aGd3TE714fABoQA\nEAJACICEAEgIgIQASAiAhABICICEAEgIgFwfwtJcH9rZHbNzfQhsQAgAIQCEAEgIgIQASAiAhABI\nCICEAEgIgIQAyPUhLM31oZ3dMTvXh8AGhAAQAkAIgIQASAiAhABICICEAEgIgIQASAiALrw+BPbh\nPwJACAAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAqD6AZMQMwVF\nMVR7AAAAAElFTkSuQmCC\n", 57 | "text/plain": [ 58 | "" 59 | ] 60 | }, 61 | "metadata": {}, 62 | "output_type": "display_data" 63 | } 64 | ], 65 | "source": [ 66 | "# take a look at the map\n", 67 | "shp_map = gp.read_file('example_data/99999_225.shp')\n", 68 | "shp_map['constant'] = 1\n", 69 | "p = shp_map.plot('constant', alpha=0.5, colormap='winter')\n", 70 | "p.axis('off')\n", 71 | "p.plot()" 72 | ] 73 | }, 74 | { 75 | "cell_type": "code", 76 | "execution_count": 4, 77 | "metadata": { 78 | "collapsed": false 79 | }, 80 | "outputs": [ 81 | { 82 | "data": { 83 | "text/plain": [ 84 | "[]" 85 | ] 86 | }, 87 | "execution_count": 4, 88 | "metadata": {}, 89 | "output_type": "execute_result" 90 | }, 91 | { 92 | "data": { 93 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAEACAYAAABYh3hbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA+1JREFUeJzt3TGKFFEYRtHbYmImGLoBwT2YuAQTwUxlRsFMQZegoJmg\nM6iZYOISJnEPghswFMwM2zUUXTPWe56T/10dXbqCj97t9/uA/9ulf/0FgH9PCAAhAIQASAiAhABI\nCICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICIDq8nl98G638xdK\ncKD9fr+7iOecWwiqjo6OFt+cnp5Of/fh2Y3Fdw9f/5j+7v2Xa4vvHt39tfm7Q551UbwaAEIACAGQ\nEAAJAZAQAAkBkBAACQGQEAAJAZAQANVuvz+fkaD1IRzO+nDiu1HWgNaH69xZHwJDEAJACAAhABIC\nICEAEgIgIQASAiAhABICIKMj2DSjo4nvRhkBGR2tc2d0BAxBCAAhAIQASAiAhABICICEAEgIgIQA\nSAiAhADI+hA2zfpw4rtR1oDWh+vcWR8CQxACQAgAIQASAiAhABICICEAEgIgIQASAiAhALI+hE2z\nPpz4bpQ1oPXhOnfWh8AQhAAQAkAIgIQASAiAhABICICEAEgIgIQASAiArA9h06ZYH37/eGXxzc0H\nf6a/u/7p+eK7n/dfTX/3+fGdxXf33n3d/N0hz7ooXg0AIQCEAEgIgIQASAiAhABICICEAEgIgIQA\nSAiArA9h06wPJ74bZQ1ofbjOnfUhMAQhAIQAEAIgIQASAiAhABICICEAEgIgIQASAiDrQ9g068OJ\n70ZZA1ofrnNnfQgMQQgAIQCEAEgIgIQASAiAhABICICEAEgIgIQAyPoQNs36cOK7UdaA1ofr3Fkf\nAkMQAkAIACEAEgIgIQASAiAhABICICEAEgIgIQCyPoRNsz6c+G6UNaD14Tp31ofAEIQAEAJACICE\nAEgIgIQASAiAhABICICEAEgIgKwPYdOmWB+e3T5ZfHP77Hj6u2/HVxff3Tr5Pf3dmycvF989ffti\n83eHPOuieDUAhAAQAiAhABICICEAEgIgIQASAiAhABICICEAsj6ETbM+nPhulDWg9eE6d9aHwBCE\nABACQAiAhABICICEAEgIgIQASAiAhABICICsD2HTrA8nvhtlDWh9uM6d9SEwBCEAhAAQAiAhABIC\nICEAEgIgIQASAiAhABICIOtD2DTrw4nvRlkDWh+uc2d9CAxBCAAhAIQASAiAhABICICEAEgIgIQA\nSAiAhADI+hA2zfpw4rtR1oDWh+vcWR8CQxACQAgAIQASAiAhABICICEAEgIgIQASAiAhADrH9SEw\nDr8IACEAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiA6i8D6xEO\nnR2ZKQAAAABJRU5ErkJggg==\n", 94 | "text/plain": [ 95 | "" 96 | ] 97 | }, 98 | "metadata": {}, 99 | "output_type": "display_data" 100 | } 101 | ], 102 | "source": [ 103 | "# since this is a \"toy\" example, we built the data with a \"true\" map in mind\n", 104 | "# these are the regions in the true map\n", 105 | "p = shp_map.plot('region', alpha=1, colormap='Dark2')\n", 106 | "p.axis('off')\n", 107 | "p.plot()" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 6, 113 | "metadata": { 114 | "collapsed": false 115 | }, 116 | "outputs": [], 117 | "source": [ 118 | "# set some seeds to get the same solution each time\n", 119 | "start_seed = 5009\n", 120 | "random.seed(start_seed)\n", 121 | "np.random.seed(start_seed)\n", 122 | "# run the regionalization algorithm\n", 123 | "results = ACS.ACS_Regions(w=w,\n", 124 | " target_est_count=ests[:,3:],\n", 125 | " target_moe_count=moes[:,3:], \n", 126 | " target_th_all=0.15,\n", 127 | " count_est=ests[:,2],\n", 128 | " count_th_min=46000,\n", 129 | " base_solutions=100,\n", 130 | " pca=False,\n", 131 | " compactness=shp)" 132 | ] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "execution_count": 7, 137 | "metadata": { 138 | "collapsed": false 139 | }, 140 | "outputs": [ 141 | { 142 | "data": { 143 | "text/plain": [ 144 | "[]" 145 | ] 146 | }, 147 | "execution_count": 7, 148 | "metadata": {}, 149 | "output_type": "execute_result" 150 | }, 151 | { 152 | "data": { 153 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAEACAYAAABYh3hbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA+1JREFUeJzt3TGKFFEYRtHbYmImGLoBwT2YuAQTwUxlRsFMQZegoJmg\nM6iZYOISJnEPghswFMwM2zUUXTPWe56T/10dXbqCj97t9/uA/9ulf/0FgH9PCAAhAIQASAiAhABI\nCICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICIDq8nl98G638xdK\ncKD9fr+7iOecWwiqzm6fLL65fXY8/d33j1cW39188Gf6u8+P7yy+u/fu6+bvDnnWRfFqAAgBIARA\nQgAkBEBCACQEQEIAJARAQgAkBEBCAFS7/f58RoLWh3A468OJ70ZZA1ofrnNnfQgMQQgAIQCEAEgI\ngIQASAiAhABICICEAEgIgIyOYNOMjia+G2UEZHS0zp3RETAEIQCEABACICEAEgIgIQASAiAhABIC\nICEAEgIg60PYNOvDie9GWQNaH65zZ30IDEEIACEAhABICICEAEgIgIQASAiAhABICICEAMj6EDbN\n+nDiu1HWgNaH69xZHwJDEAJACAAhABICICEAEgIgIQASAiAhABICICEAsj6ETZtiffj+y7XFN4/u\n/pr+7ujoaPHd6enp9HfXPz1ffPfz/qvN3x3yrIvi1QAQAkAIgIQASAiAhABICICEAEgIgIQASAiA\nhADI+hA2zfpw4rtR1oDWh+vcWR8CQxACQAgAIQASAiAhABICICEAEgIgIQASAiAhALI+hE2zPpz4\nbpQ1oPXhOnfWh8AQhAAQAkAIgIQASAiAhABICICEAEgIgIQASAiArA9h06wPJ74bZQ1ofbjOnfUh\nMAQhAIQAEAIgIQASAiAhABICICEAEgIgIQASAiDrQ9g068OJ70ZZA1ofrnNnfQgMQQgAIQCEAEgI\ngIQASAiAhABICICEAEgIgIQAyPoQNm2K9eGbJy8X3zx9+2L6uw/Pbiy+e/j6x/R3346vLr67dfJ7\n83eHPOuieDUAhAAQAiAhABICICEAEgIgIQASAiAhABICICEAsj6ETbM+nPhulDWg9eE6d9aHwBCE\nABACQAiAhABICICEAEgIgIQASAiAhABICICsD2HTrA8nvhtlDWh9uM6d9SEwBCEAhAAQAiAhABIC\nICEAEgIgIQASAiAhABICIOtD2DTrw4nvRlkDWh+uc2d9CAxBCAAhAIQASAiAhABICICEAEgIgIQA\nSAiAhADI+hA2zfpw4rtR1oDWh+vcWR8CQxACQAgAIQASAiAhABICICEAEgIgIQASAiAhADrH9SEw\nDr8IACEAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiAhABICICEAEgIgIQASAiA6i8MRxEO\nBc/ftwAAAABJRU5ErkJggg==\n", 154 | "text/plain": [ 155 | "" 156 | ] 157 | }, 158 | "metadata": {}, 159 | "output_type": "display_data" 160 | } 161 | ], 162 | "source": [ 163 | "# we can plot the results\n", 164 | "# note that the shapes of the regions found by the algorithm match the\n", 165 | "# \"true\" regions;(the color arrangement is different simply because the\n", 166 | "# algorithm assigned region IDs randomly) \n", 167 | "shp_map['rids'] = results.region_ids\n", 168 | "p = shp_map.plot('rids', alpha=1, colormap='Dark2')\n", 169 | "p.axis('off')\n", 170 | "p.plot()" 171 | ] 172 | } 173 | ], 174 | "metadata": { 175 | "kernelspec": { 176 | "display_name": "Python 2", 177 | "language": "python", 178 | "name": "python2" 179 | }, 180 | "language_info": { 181 | "codemirror_mode": { 182 | "name": "ipython", 183 | "version": 2 184 | }, 185 | "file_extension": ".py", 186 | "mimetype": "text/x-python", 187 | "name": "python", 188 | "nbconvert_exporter": "python", 189 | "pygments_lexer": "ipython2", 190 | "version": "2.7.6" 191 | } 192 | }, 193 | "nbformat": 4, 194 | "nbformat_minor": 0 195 | } 196 | -------------------------------------------------------------------------------- /code/utils.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Functions to compute various intermediate statistics. 3 | ''' 4 | 5 | __author__ = "David C. Folch , Seth E. Spielman " 6 | 7 | 8 | import numpy as np 9 | import time 10 | import shapely.geometry 11 | import shapely.ops 12 | import bottleneck as bn 13 | 14 | 15 | # localize a bunch of functions 16 | nansum = bn.nansum 17 | nanvar = bn.nanvar 18 | ss = bn.ss 19 | np_sqrt = np.sqrt 20 | np_isfinite = np.isfinite 21 | np_bitwise_not = np.bitwise_not 22 | np_array = np.array 23 | np_square = np.square 24 | np_arange = np.arange 25 | np_any = np.any 26 | np_int32 = np.int32 27 | np_isnan = np.isnan 28 | np_isinf = np.isinf 29 | 30 | 31 | def list_copy(l): 32 | # a fast function to copy a list 33 | return [i[:] for i in l] 34 | 35 | def sde_count(sdes): 36 | ''' 37 | Standard error calculation for count data. 38 | ''' 39 | return np_sqrt((np_square(sdes)).sum()) 40 | 41 | def sum_squares(region, target_est): 42 | ''' 43 | Calculate the univariate or multivariate sum of squared differences. 44 | ''' 45 | ests = target_est.take(region, axis=0) 46 | return nansum(nanvar(ests, axis=0) * ests.shape[0], axis=None) 47 | 48 | def compactness_global(regions, shp): 49 | ''' 50 | Calculate compactness on each region. 51 | In the mathematics literature called "isoperimetric quotient" (see 52 | http://en.wikipedia.org/wiki/Isoperimetric_quotient) or in political 53 | science see Polsby and Popper (1991). 54 | ''' 55 | quotients = np.ones(len(regions)) * -999.0 56 | for index, region in enumerate(regions): 57 | shapes = [shp[area] for area in region] 58 | o = [] 59 | for shape in shapes: 60 | o.append(shapely.geometry.asShape(shape)) 61 | res = shapely.ops.unary_union(o) 62 | quotients[index] = (4 * np.pi * res.area) / (res.length**2) 63 | return quotients 64 | 65 | 66 | def get_est_sde_count(region, target_parts): 67 | reg = np_array(region, copy=False, dtype=np_int32) 68 | sdes = target_parts['target_sde_count'][reg] 69 | est = target_parts['target_est_count'][reg].sum(0) 70 | sde = np_sqrt((np_square(sdes)).sum(0)) 71 | return est, sde 72 | 73 | def get_est_sde_prop(region, target_parts): 74 | target_est = target_parts['target_est_prop'] 75 | target_sde = target_parts['target_sde_prop'] 76 | cols = target_est.shape[1] 77 | reg = np_array(region, copy=False, dtype=np_int32) 78 | num_indexes = np_arange(0, cols, 2) 79 | den_indexes = num_indexes + 1 # does not work with numba 80 | target_sde_reg = target_sde.take(reg, axis=0) 81 | sde_num = np_sqrt(ss(target_sde_reg.take(num_indexes, axis=1), axis=0)) 82 | sde_den = np_sqrt(ss(target_sde_reg.take(den_indexes, axis=1), axis=0)) 83 | target_est_reg = target_est.take(reg, axis=0) 84 | est_num = nansum(target_est_reg.take(num_indexes, axis=1), axis=0) 85 | est_den = nansum(target_est_reg.take(den_indexes, axis=1), axis=0) 86 | est = est_num / est_den 87 | inside_sqrt = sde_num**2 - ((est**2) * sde_den**2) 88 | problems = inside_sqrt <= 0 89 | if np_any(problems): 90 | # deal with the (rare) case of negatives inside the square root 91 | inside_sqrt_alt = sde_num**2 + ((est**2) * sde_den**2) 92 | inside_sqrt[problems] = inside_sqrt_alt[problems] 93 | sde = np_sqrt(inside_sqrt) / est_den 94 | return est, sde 95 | 96 | def get_est_sde_ratio(region, target_parts): 97 | target_est = target_parts['target_est_ratio'] 98 | target_sde = target_parts['target_sde_ratio'] 99 | cols = target_est.shape[1] 100 | reg = np_array(region, copy=False, dtype=np_int32) 101 | num_indexes = np_arange(0, cols, 2) 102 | den_indexes = np_arange(1, cols, 2) 103 | target_sde_reg = target_sde.take(reg, axis=0) 104 | sde_num = np_sqrt(ss(target_sde_reg.take(num_indexes, axis=1), axis=0)) 105 | sde_den = np_sqrt(ss(target_sde_reg.take(den_indexes, axis=1), axis=0)) 106 | 107 | target_est_reg = target_est.take(reg, axis=0) 108 | est_num = nansum(target_est_reg.take(num_indexes, axis=1), axis=0) 109 | est_den = nansum(target_est_reg.take(den_indexes, axis=1), axis=0) 110 | 111 | est = est_num / est_den 112 | inside_sqrt = sde_num**2 + ((est**2) * sde_den**2) 113 | 114 | sde = np_sqrt(inside_sqrt) / est_den 115 | return est, sde 116 | 117 | def get_cv(est, sde, cv_exclude_type): 118 | ''' 119 | we take a somewhat aggressive approach to problematic CV values: 120 | -if the estimate for any particular variable is very small, 121 | say less than 5% (e.g. unemployment rate of less than 5%) then we 122 | force that CV to zero, essentially guaranteeing that its magnitude 123 | will be less than any user defined threshold 124 | -if the estimate for any particular variable is NAN, then we 125 | force that CV to zero, essentially guaranteeing that its magnitude 126 | will be less than any user defined threshold, we assume this can 127 | only happen in the 0/0 case for the given input data (this may need 128 | to be revisited to increase generality) 129 | -if the CV for any particular variable is Inf (which I don't think 130 | is possible given the previous two rules), then it will be forced to 131 | 1.0, which should fail most user's criteria 132 | ''' 133 | cv = sde / est 134 | cv[est < cv_exclude_type] = 0.0 135 | cv[np_isnan(est)] = 0.0 136 | cv[np_isinf(cv)] = 1.0 137 | return cv.tolist() 138 | 139 | 140 | 141 | def get_mv_cv(region, target_parts, cv_exclude): 142 | ''' 143 | coefficient of variation for multiple data sets 144 | NOTE: need to investigate refactoring this for more speed 145 | ''' 146 | # IMPORTANT: maintain the order of count then proportion then ratio 147 | cvs = [] 148 | # compute coefficient of variation for each count variable 149 | if target_parts['target_est_count'] is not None: 150 | est, sde = get_est_sde_count(region, target_parts) 151 | cvs.extend(get_cv(est, sde, cv_exclude[0])) 152 | 153 | # compute coefficient of variation for each proportion variable 154 | if target_parts['target_est_prop'] is not None: 155 | est, sde = get_est_sde_prop(region, target_parts) 156 | cvs.extend(get_cv(est, sde, cv_exclude[1])) 157 | 158 | # compute coefficient of variation for each ratio variable 159 | if target_parts['target_est_ratio'] is not None: 160 | est, sde = get_est_sde_ratio(region, target_parts) 161 | cvs.extend(get_cv(est, sde, cv_exclude[2])) 162 | return cvs 163 | 164 | 165 | --------------------------------------------------------------------------------