I am not sure about whether I should use spatial regression for the proximity analysis I am trying to do.

I’ll just describe the scenario and goal:

People claim that convenience stores lower nearby home property values. I want to actually prove this. So I want to essentially prove: is there a statistically significant relationship between the value of your house and how close you are to a convenience store?

Here are the data layers I am working with for the city of focus:

  • vector polygons of houses in 2010 (contains property values of each house)
  • vector polygons of houses in 2015 (contains property values of each house)
  • vector polygons of convenience stores in 2015

Basically I am thinking I would need to first find out how much property values have changed between 2010 and 2015, by taking the 2015 houses layer and subtracting the 2010 houses layer. From this, I would produce a layer that would show the houses in either red (negative) or green (positive) with different shades. So in this new layer, if a house were red, it would mean the house went down in value and if it were green, it would mean the house went up in value. I would imagine these being in different shades, so pink would mean just went down a little bit in value, and dark red would mean went way down in value, and similarly for green, where light green means went up a little bit in value and dark green means went way up in value. Of course, I would first need to see if there is spatial autocorrelation associated with property values.

I would now have all of these red and green houses of various shades and convenience stores. My question is, how do I show if there is a relationship between proximity to convenience stores and the property values of the houses? Normally I would think this would just require regression, but since this is dealing with proximity, wouldn’t this require spatial regression or a geographically weighted regression? Does my approach sound reasonable? I am just trying to figure out what the output of this regression would look like and how to interpret it. Which tools and methods in QGIS would I need for this?

  • 2
    You may want to look at something like a cross-K statistic. I have a LUP paper that used an inhomogenious cross-k to address the question of development being attracted to open spaces and it is a fairly clear inference. You can use a Monte Carlo to evaluate significance. Sep 21, 2020 at 2:34

1 Answer 1


Sounds like an interesting piece of work. A simple statistical solution may be to map linear regression residuals of each house, based on distance vs property value change. (There are a million other factors here, like accessibility, linear distance isn't necessarily reflective of proximity etc)

So a simple starting activity could be:

  • Introduce a new calculated field on your house vector polygons which is a calculated field based on distance to nearest convenience store
  • Introduce a new field called "Residuals". This will be the value of the residual against linear regression.

Then you can map the residuals.

Additional maps to supplement this could be

  • You could colour as per your above red/green but from the following perspectives
  • Houses that are within 500m
  • Houses greater than 500m (or whatever distance you feel is appropriate).

Alternatively - You could also make the map 'Convenience Store Centric' - that is, map the convenience store's that have X number of houses with 500m that are below average. (maybe resize the 'dot' location of the convenience store.

Something else you may want to consider, is - whether or not a house is within a selected distance of TWO convenience stores. (this could introduce some kind of weighted analysis element to your mapping).

There is a similar question asked here, which gives more detail about the tools that they used.

Calculating spatial correlation between features from two separate layers in QGIS

Calculating the residual is probably the hard part, it might be simple enough to make a non-spatial table, with the residual results, and just do a join back to your geographic data. (That way you could perform the residual linear regression outside of QGIS and then import it back in as a flat table).

  • Thank you for the great suggestions! You make a good point by considering when a house is within distance of two convenience stores, since I don't think simply being near one convenience store would tell us all we need to know. A house being 50 feet away from a convenience store may be impacted less than a house 100 feet away from 10 convenience stores. For this reason, do you think it would be a good idea to create a kernel density around the convenience stores to show both convenience store proximity and density, rather than just considering proximity to only the nearest convenience store? Sep 23, 2020 at 2:49
  • 1
    I would run simple analysis to begin with, because this can give high level insight. It may be that - as you start to introduce more variables, the instance of these occurrences are minimal are may not be worthwhile investigating. Again, analysis will help here. Start with a simple question of 'how many houses are within X distance of more than 1 convenience store' and go from there.
    – nr_aus
    Sep 23, 2020 at 3:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.