Proporcionar latitud y longitud a un modelo de precio de la vivienda

Aug 16 2020

Soy nuevo en el aprendizaje automático y estoy tratando de tener una idea de cómo optimizar los datos para un modelo. Estoy siguiendo este tutorial oficial de Kaggle , que enseña los conceptos básicos del aprendizaje automático a través de la predicción del precio de la vivienda. Usan un árbol de decisiones, pero me pareció extraño qué características introducen en el modelo para predecir el precio de una casa:

house_price_features = ['Rooms', 'Bathroom', 'Landsize', 'Latitude', 'Longitude']

Las habitaciones, los baños y el tamaño del terreno tienen sentido para mí, pero ¿latitud y longitud? Obviamente, existe una correlación entre la ubicación y el precio, pero no seguirá una buena curva. A veces, subir una cuadra hará que los precios de la vivienda se dupliquen; a veces, no tendrá ningún efecto en absoluto. Intuitivamente, siento que todo lo que un modelo puede hacer con esas características para predecir el precio está sobreajustado. Entonces, mi pregunta es doble:

  1. ¿Tenían razón al dar a este modelo la latitud y la longitud para predecir el precio, o se trata de información superflua que solo puede dañar el modelo? ¿Por qué?
  2. Si la respuesta a lo anterior es "no", ¿hay alguna transformación de los datos de latitud y longitud (es decir, en ID de vecindario) que haría que los datos fueran más útiles?

Respuestas

9 MichaelM Aug 15 2020 at 23:56

La respuesta es , porque la ubicación suele ser el principal impulsor de los precios de la vivienda por pie cuadrado. Dejarlo caer deterioraría el rendimiento del modelo probablemente de manera dramática.

Basados ​​en lat/lon, los métodos basados ​​en árboles dividen el mapa en partes rectangulares. Cuanto más fuerte sea el efecto y más datos en un área determinada, más pequeñas serán las piezas. En regiones menos densas, las piezas no serían demasiado pequeñas.

No los agregaría como efectos lineales en una regresión lineal. Allí, tendría que considerar diferentes enfoques. Un simple sería representar lat/lon cada uno por un spline cúbico y agregar términos de interacción entre ellos.