forked from ChelseaKR/nearmiss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathriverside.metadata.json
More file actions
122 lines (122 loc) · 4.49 KB
/
Copy pathriverside.metadata.json
File metadata and controls
122 lines (122 loc) · 4.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{
"bias": {
"caveat": "Shares compare where reports land against where exposure is. They cannot, on their own, separate 'more dangerous' from 'more reported': reporter pools skew by route choice, demographics, app access, and language. Treat over-represented segments as candidates for attention and scrutiny, not as confirmed rankings.",
"over_represented": [
{
"exposure_share": 0.0394,
"report_share": 0.4,
"segment_id": "rs-3"
},
{
"exposure_share": 0.126,
"report_share": 0.2,
"segment_id": "rs-2"
},
{
"exposure_share": 0.126,
"report_share": 0.2,
"segment_id": "rs-6"
}
],
"under_represented": [
{
"exposure_share": 0.2362,
"report_share": 0.0,
"segment_id": "rs-5"
},
{
"exposure_share": 0.2362,
"report_share": 0.15,
"segment_id": "rs-1"
}
]
},
"city": "Riverside",
"corridor_dataset": "riverside.corridors.geojson",
"corridor_maup_note": "Corridor rates are a second, coarser view over the same already-published block-level segments — a MAUP-aware complement, not a replacement. Both granularities are published side by side; a corridor's count and exposure are sums of segments that individually already cleared the k-anonymity floor and the Getis-Ord significance test, so corridors never surface a block that was withheld or non-significant on its own. Aggregation choice (the boundary you draw) can itself shift a rate — the Modifiable Areal Unit Problem — which is exactly why the block-level file remains the primary published unit and this file is always secondary to it.",
"corridors_published": 0,
"data_card": "docs/DATA-CARD.md",
"dataset_note": "Synthetic demonstration data — not real reports. The hotspots are planted in the fixture, so the method finds what was put there.",
"geojson_sha256": "612f708362df424e9a62525692c28d2cec2d454b4e94715fdfb584bf094dc69d",
"license": "Apache-2.0",
"maup_rank_stability": {
"basis": "greedy nearest-neighbour re-segmentation to a coarser partition",
"coarse_units": 3,
"fine_units": 6,
"k": 5,
"top_hotspot_coarse_rank": 1,
"top_hotspot_segment": "rs-3",
"top_hotspot_still_significant": false,
"top_hotspot_survives": false,
"topk_overlap": 1.0
},
"methods": {
"confidence_z": 1.96,
"dispersion": {
"adjusted": false,
"model": "quasi-Poisson (Pearson) on the rate/offset model",
"phi": 15.2193
},
"exposure_floor": 0.0,
"exposure_stale_days": 365.0,
"fdr_alpha": 0.05,
"getis_ord_band_m": 300.0,
"getis_ord_neighbors": "street-network adjacency/distance",
"getis_ord_node_snap_m": 5.0,
"kde_bandwidth_m": 150.0,
"min_publish_n": 3,
"rate_definition": "pooled across all hazard types (union); per-type rates in rates_by_type where count >= small_n",
"rate_per": 1000.0,
"significance": "Getis-Ord Gi* on the exposure-normalized rate, Benjamini-Hochberg FDR",
"small_n": 5
},
"privacy": "Aggregated to public street segments; segments with a non-zero report count below min_publish_n are withheld (k-anonymity). No per-report coordinate, time, reporter token, note, mode, or severity is published. Small-n hazard breakdowns are suppressed.",
"report_intensity_peak_segment": "rs-3",
"schema": "schema/dataset.schema.md",
"schema_json": "schema/dataset.schema.json",
"schema_version": "1.2.0",
"segment_time_bands_dp": {
"enabled": false
},
"summary": {
"duplicates_removed": 0,
"excluded_low_confidence_fraction": 0.0,
"exposure_coverage": 1.0,
"out_of_window": 0,
"reports_in": 20,
"segments_published": 5,
"segments_total": 6,
"segments_withheld_low_count": 1,
"snapped": 20,
"unsnapped": 0
},
"temporal": {
"basis": "Report volume by time of day and day of week (city-wide aggregate). NOT an exposure-normalized rate: it reflects when people report, which tracks when they ride. Treat as a lead, not a risk ranking.",
"by_hour": {
"10": 3,
"11": 3,
"12": 3,
"13": 3,
"14": 3,
"8": 2,
"9": 3
},
"by_part_of_day": {
"am_peak": 5,
"midday": 15
},
"by_weekday": {
"Mon": 20
},
"peak_part_of_day": "midday",
"peak_weekday": "Mon",
"small_sample_caveat": false,
"suppressed_low_count": false,
"total_reports_timed": 20
},
"version": "0.1.2",
"window": {
"end": "2026-12-31",
"start": "2026-01-01"
}
}