Yep, basically what @Hutima said.
That kind of mess hasn’t happened in your usual places because Arc has learnt how to trust/distrust the location data at those places. But now that you’re in a completely new place that it hasn’t seen before, it doesn’t know how much trust to put in the incoming location data.
Aside: location data does come with reported accuracy levels, but these levels have become increasingly optimistic over the years, meaning that our phones are saying they’re achieving higher accuracy than they typically are, especially inside buildings.
If you go into the Individual Segments view of the hotel visits, then tap on the incorrect moving type segments and correct them to stationary, that will train Arc’s “Trust Factor” system, to recognise that location data in that area is incorrectly reporting higher accuracy than it is actually achieving, and that the reported accuracy shouldn’t be trusted.
With that newly determined Trust Factor information, newly recorded data in that place will be more stable, with significantly less drift.
In an entirely new area like you’re in now (assuming you haven’t stayed in that area of Tokyo previously), the activity type models and the Trust Factor system will be able to learn and adjust very quickly, likely showing significant improvements in one or two days, after cleanup and correction of the noisy/messy data.
Of course if you’re only staying one or two days, that’s not much comfort!
Ideally Arc’s recording engine would cope better with untrustworthy data by default, without extra training needed. So that’s something I want to improve over time. Unfortunately it’s not as simple as just setting it to distrust all reported accuracy levels, because the outdoor reported accuracy levels are generally quite sensible, with the problem being limited to only indoor data. So setting a base level of distrust would result in outdoor data being too aggressively filtered, for the benefit of indoor data. There’s no simple solution! But it is frequently on my mind, and I am hopeful to find a decent solution eventually.
In the meantime, as I mentioned above, go into Individual Segments for the visits, correct the drifting/moving segments to “stationary” type, then a day later newly recorded data in that place should be significantly more clean and tidy.