I keep my phone on for hours, even though there are Pokemon nearby they never come over my house so I can never catch them.
Firstly, the most simple solution is to employ an Incense to make Pokémon spawn. This will cause Pokémon to spawn periodically, regardless of movement.
Ultimately though, Pokémon Go is a game that requires you to walk around, obviously. Pokémon don't just spawn near you, simply because you left the app open on your desk. Pokémon spawns do follow a system.
Spawn points, often abbreviated as simply “spawns”, are points on the map that create wild Pokémon encounters. Each wild encounter is connected to a particular spawn point – if there are no spawn points in an area, there are no wild Pokémon in that area.
That said, you can technically create spawns, by way of using Niantic's other game; Ingress.
Use Ingress to Find Pokémon
Once Ingress is downloaded and open, players will want to look for concentrations of XM, or exotic matter. In Ingress, XM is an important part of the game, but it’s also helpful for Pokémon GO.
While I personally haven't experienced this in practice, I have seen unusually high concentration of Pokémon appearing in the middle of nowhere. Some appear in places of high amounts of traffic (fast food places, for example) but I have seen some that have appeared in seemingly random locations.