Remix.run Logo
arjie 3 hours ago

The data is open, and so we don't have to do the visual reasoning off an imperfect graph. SF Chronicle has done a pretty rare (but I think good journalistic practice) of specifying the source of the data: https://data.sfgov.org/Public-Safety/Police-Department-Incid...

First to match the graph you make sure you pick 'Larceny - From Vehicle' only (there are some others one might argue matter) and ensure you're only counting incidents once (many rows reference the same incident). That lets us recreate the original graph.

When looking at many things I like to look at seasonal effects just to see, and it doesn't look like they are significant here (but you can see the Mar 2020 drop to the next year quite easily which I like): https://wiki.roshangeorge.dev/w/images/2/2e/SFPD_Vehicle_Bre...

I also tried overlaying various line charts but that's useless for visually identifying the break.

One thing I thought would be fun is to run a changepoint algorithm blindly https://wiki.roshangeorge.dev/w/File:SFPD_Vehicle_Break-Ins_...

I like PELT because it appeals to my sensibilities (you don't say ahead of time how many changepoints you want to find - you set an energy/cost param and let it roll) and it finds that one changepoint. You can have some fun with the other algos and changing the amount of breakpoints or changing the PELT cost function. And then you can have even more fun by excluding 2020 or excluding Mar 2020 onwards or replacing it by estimates from the previous years (quite suspect considering what we're trying to do but hey we're having fun - a bunch of algos all flag Nov 2023 as some moment of truth)

Anyway, anyone curious should download the data. It's pretty straightforward to use and if I goofed up with off-by-one or whatever, you can go see for yourself.