So... I really did not like the elevators at our old building
It seemed like an eternity between the time that you called an elevator and one showed up
I felt that elevators would almost get (stuck) at the top floor(s) and would take forever if someone happened to be on the first floor, you know that uncommon floor we sometimes use
My theory was that in the mornings, everyone probably wanted to catch an elevator from the first floor on their way to work
And in evenings, the opposite would occur. Few people if anybody, would catch an elevator from the first floor, but everyone wanted to go there
I used time of day, and floor where the elevator was called as inputs
With the goal of reducing "floors missed" when a person comes to elevator
I collapsed the the exact times into 10 minute intervals to reduce noise/smooth the forecast/make the forecast usable
Turn that into time series data (with seasonally of 144)
(There are 144 ten min intervals in a day)
Then run an ARMA on that data, there is a nifty package in R that automatically (auto.arima). I did end up having to force some kind of seasonality forecast though
(I figured there was no long term trend, so no need for an ARIMA)
Finally, take the forecasted floor, and compare in a day (with all observations) to how the same elevator would normally perform
I also wanted to compare it to the theoretical situation where the elevator would go to a random floor between trips, because that sounded fun
Initially, I thought that finding some open source data set on how people used elevators would be easy
Turns out, finding actual data about what time and what floor people got on an elevators was actually very difficult
To the point where I never actually found any
Who knew that kind of data was not just "out there" ¯\_(ツ)_/¯
I ended up compromising and making two sets, one using semi-random data over the course of a day, the other over the course of five days
On the left were the results of using the forecasted floor vs. a random floor vs. the perious floor
Its kinda hard to tell, but using the forecasted floor made the elevator on avg about 50% closer to where it needed to be
And that moving randomly between pickups was just about as good as waiting
Theoretical next steps would be to get actual data to work with and try out different models to see if I could improve even more
Link to Github, where all this stuff is stored!