Hedonische waardebepaling van goederen Maxime Goossens
Promotor: prof. dr. ir. Benjamin Schrauwen Begeleiders: ir. Francis wyffels, Michiel Hermans Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: werktuigkunde-elektrotechniek
Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. Jan Van Campenhout Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2011-2012
Hedonische waardebepaling van goederen Maxime Goossens
Promotor: prof. dr. ir. Benjamin Schrauwen Begeleiders: ir. Francis wyffels, Michiel Hermans Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: werktuigkunde-elektrotechniek
Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. Jan Van Campenhout Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2011-2012
i
Voorwoord Een masterproef in het onderzoeksdomein van Artifici¨ele Intelligentie is geen evidente keuze volgend op een opleiding werktuigkunde-elektrotechniek met als afstudeerrichting mechanische constructie. Een onderwerp gerelateerd aan vastgoed is hierbij nog minder vanzelfsprekend. Door deze weg in te slagen heb ik mijzelf een zeer uitdagende opgave voorgeschoteld waarvan de realisatie met vallen en opstaan is verlopen. Desalniettemin ben ik zeker tevreden met het resulterend boek en met de vele inzichten die ik onderweg heb verworven. Daarom wil ik professor Benjamin Schrauwen bedanken om mij als promotor welkom te heten in zijn onderzoeksgroep ‘Reservoir Lab’ en mij hiermee de kans te geven om de wondere wereld van Artifici¨ele Intelligentie te mogen ontdekken. Tijdens mijn wandeling in deze nieuwe wereld zag ik af en toe het bos niet meer door de bomen. Daarom ben ik mijn begeleiders Francis wy↵els en Michiel Hermans dan ook bijzonder dankbaar om mij telkens opnieuw het rechte pad te wijzen. Jullie waren altijd beschikbaar om feedback te geven en door de kwaliteit hiervan convergeerde mijn masterproef naar een iets wat ik nooit op mijn eentje zou kunnen realiseren, waardoor ik jullie feedback enorm apprecieer. Uiteraard wil ik ook mijn medestudenten en vrienden bedanken voor het cre¨eeren van een aangename, stimulerende omgeving. De behulpzaamheid van sommigen hebben mij regelmatig vooruitgeholpen, waarvoor dank. Tenslotte wil ik mijn ouders bedanken om mij steeds te steunen, ook in moeilijkere tijden. Maxime Goossens Gent, 10 augustus 2012
ii
Toelating tot bruikleen ”De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de masterproef te kopi¨eren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef.” Gent, augustus 2012 Maxime Goossens
iii
Hedonische waardebepaling van goederen Maxime Goossens Promotor: prof. dr. ir. Benjamin Schrauwen Begeleiders: ir. Francis wy↵els en ir. Michiel Hermans Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: werktuigkunde-elektrotechniek Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. Jan Van Campenhout Faculteit Ingenieurswetenschappen en Architectuur Universiteit Gent Academiejaar 2011-2012
Overzicht Deze masterproef onderzoekt de hedonische waardebepaling van residentieel vastgoed op basis van vier regressietechnieken. Hoofdstuk 1 legt uit wat hedonische waardebepaling is en in welk kader dit onderzoek past. Hoofdstuk 2 beschrijft de verworven dataset bestaande uit appartementen in Manhattan. Hoofdstuk 3 geeft een theoretische behandeling van de vier regressietechnieken die zullen gebruikt worden om de prijs van een appartement te voorspellen op basis van verschillende karakteristieken van dit appartement. Hoofdstuk 4 bespreekt de uitwerking van deze modellen en de resultaten die hiermee worden behaald bij het voorspellen van de prijs. In hoofdstuk 5 worden tenslotte conclusies uit het onderzoek getrokken en suggesties voor toekomstig werk gegeven.
Trefwoorden Hedonische waardebepaling, Residentieel vastgoed, Ridge regressie, Gaussiaanse processen, Artifici¨ele neurale netwerken, Regressiebomen, Manhattan
Hedonic Pricing Models in Mass Real Estate Appraisal Maxime Goossens Supervisor(s): ir. Michiel Hermans, ir. Francis wyffels and prof. dr. ir. Benjamin Schrauwen Abstract— Using a data set of 959 residential properties in Manhattan, we investigate four different regression techniques on their ability to predict known market values using their respective property characteristics. Linear hedonic pricing models (LR), and models using artificial neural networks (MLP) are often used is this field of area, whereas Gaussian processes (GP) and regression trees (RT) have not yet caught much attention. This article reveals that GP outperforms the other techniques in predictive performance using five, nine or 36 property characteristics. On the other hand GP has the drawback of being computationally expensive which makes it less attractive for use with large data sets.
were selected as the most relevant ones using a certain criterium. Area and neighborhood were represented by the average property price of their apartments. The variables price, area, neighborhood and living area were transformed using their natural logarithm. All variables of the data set were subsequently normalized.
Keywords— Hedonic Pricing Models, Residential Property Market, Manhattan, Ridge Regression, Gaussian Processes, Artificial Neural Networks, Regression Trees
Regression is in essence a mapping of an input space Rnin on an output space Rnout . For hedonic pricing models, the input space consists of nin property characteristics and the output space is the one-dimensional price of the property that needs to be predicted.
I. I NTRODUCTION ASS residential real estate appraisal models are widely used by appraisers, tax assessors, investment professionals and lending institutions. The advantages over traditional appraisers are that they save time and money and objectify property valuation. Today automated valuation models (AVM’s) are used for this purpose. They usually contain three models that predict the price of a property independently and combine them into one price estimate. This article compares the performance of four regression techniques on one of the three models in AVM’s: the hedonic pricing model. This method uses property characteristics to value the residential property. Linear regression (LR), Gaussian processes (GP), artificial neural networks (MLP) and regression trees (RT) are the techniques that are covered in this article.
M
II. T HE S TUDY A REA AND D ATA We acquired a data set of 959 condominiums for sale in Manhattan in November 2011 by screen-scraping them from streeteasy.com. The data set was divided into two subsets: a training sample of 800 items and a testing sample of 159 items. Property prices ranged from $260 000 to $22M, with and average price of $2 345 910. 36 property characteristics were known for each condominium. We proposed three different sets of property characteristics. The first set consists of five primary determinants: area, neighborhood, number of bedrooms, number of bathrooms and living area. The second set was extended with 31 facilities such as elevator, parking lot available, pets allowed . . . The third set consists of the five primary determinants extended with four facilities that
III. R EGRESSION T ECHNIQUES
A. Linear Regression Linear regression predicts the output vector y using an input matrix X, with in each row an example and each column representing a feature dimension, and a weight vector w with the following equation: (1)
y = Xw.
We used ridge regression to find the optimal weight vector w⇤ by computing w⇤ = (XT X + I)
1
XT t,
(2)
where t is the desired output vector and is the regularization parameter that controls over-fitting of the data. B. Gaussian Processes Gaussian processes provide a nonparametric representation of functions [2]. A Gaussian process places a prior distribution over the latent function f that will be modeled. Its projection fx at {xi }N i=1 defines a joint Gaussian distribution f (x) ⇠ N (µ, ⌃), with µ 2 RN the mean vector and ⌃ 2 RN⇥N the covariance matrix. The mean vector is evaluated by a mean function m(x). In order to encode the prior notion of smoothness, a covariance function is set. In this research the mean function is set to be zero and the Squared Exponential kernel is used as the covariance function in combination with Automatic Relevance Determination (ARD). ARD scales each input dimension individually. These characteristic length scales are hyperparameters to be optimized. By minimizing the log marginal likelihood, the hyperparameters are optimized using the training examples.
It is clear that GP outperforms the other techniques, independent of which set of determinants was used to predict the property prices. A drawback of GPs that limits their use is the expensive computation, typically O(n3 ) in performing the necessary matrix inversions with n denoting the number of data points [1]. MLP is the second best performer as long as not all determinants were used for prediction. A founding was that MLP’s tended to decrease in predictive performance when more neurons were used. This effect got worse the more determinants were used as inputs for prediction. A possible explanation for this phenomenon is that the effectiveness of the regularization method used for MLP’s in this research was inadequate for MLP’s with more complex network topologies. A drawback of MLP’s is their demand for computational power or time to optimize and train the model. LR deserves a third place in the ranking performancewise. Due to its linear modeling restriction, LR is only able to improve its predictive performance half of the improvement GP can realize by using the extra 31 determinants. Simplicity and interpretability are the advantages of LR. The least performing technique is RT. A possible explanation lies in the fact that the predictive resolution of RT is restricted to the number of leaves in the regression tree, meaning that only a finite number of predicted prices can occur and this number equals to the number of leaves in the regression tree. By comparing the overall predictive performance between the three different sets of property characteristics, we observed that a knowledge of the 31 facilities could decrease the prediction error with 5.26% at its best.
C. Artificial Neural Networks For the application of artificial neural networks as a hedonic pricing model, the multi-layer perceptron (MLP) is the right choice. An MLP consists of an input layer, hidden layers and an output layer. In the case of a hedonic pricing model, the input layer contains an input for each property characteristic and the output layer only contains the predicted price. The hidden layers contain neurons, which are fully connected with nodes of the other layers. A weight value is assigned to each connection. In this research we restricted the MLP to only one hidden layer. Non-linear modeling is done by evaluating the weighted sum of the incoming values with a non-linear transfer function and propagating this function value to the next layer. By using an iterative gradient descent algorithm, the weights can be adapted by showing training examples so that eventually new input values can be used to predict the according output value. D. Regression Trees RT is a technique which uses recursive partitioning of the input space according to examples in the training sample. A tree is built consisting of guiding questions subjected to a certain input dimension. These questions guide the new input to a specific leave, which is a terminal node in the tree that corresponds to training examples similar to the new input. An average of the output values of the training samples in this leave will be the predicted value for the new input. Regularization is possible by restricting the complexity of the tree. In this research a minimum number of instances for each leave and a maximum tree depth is set.
V. C ONCLUSIONS As we see in table I, GP is the best performer among the four tested techniques. GP’s are worth considering as an alternative to the current techniques (LR and MLP) that are used for hedonic pricing models in mass real estate appraisal. In addition to their excellence in performance, a measure of certainty can be given for each prediction by evaluating the covariance function. Still it is worth mentioning that potential problems could arise when this technique is used with large data sets. Further research might be done in extending these models for use with incomplete data sets. Research on the use of these hedonic pricing models on other applications could be interesting, for example the valuation of second hand vehicles.
IV. R ESULTS The mean absolute percentage error (MAPE) was used for comparing the predictive performance of the different techniques: n
MAPE =
1 X |yi yˆi | , n i=1 yi
(3)
where n represents the number of predicted values in the set, yi the actual property price and yˆi the predicted value of the price. Comparison of the different models was done using the eight-fold cross-validation error on the training sample. The results for each model are presented in table I.
R EFERENCES [1] A. Banerjee, D. Dunson and S. Tokdar, Efficient Gaussian Process Regression for Large Data Sets, Department of Statistical Science, Duke University, USA, 2011. [2] Y. Qi, B. Dai and Y. Zhu, EigenGP: Gaussian processes with sparse data-dependent eigenfunctions, CoRR, vol. abs/1204.3972, 2012,
TABLE I M ODEL COMPARISON USING THE CROSS - VALIDATION ERROR
5 determinants 9 determinants 36 determinants
LR 0.243 0.239 0.238
GP 0.228 0.220 0.216
RT 0.262 0.263 0.258
MLP 0.231 0.227 0.311
v
INHOUDSOPGAVE
vi
Inhoudsopgave 1 Inleiding 1.1 Waardering van residentieel vastgoed . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Modelmatige waardebepaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Doelstelling van de masterproef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Vastgoedprijzen in Manhattan 2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Zoeken naar een geschikte dataset . . . . . . . . . . . . 2.3 Het verwerven van de dataset uit de StreetEasy website 2.3.1 De data-acquisitie . . . . . . . . . . . . . . . . . 2.3.2 Uitvoering van de data-acquisitie procedure . . . 2.3.3 Naverwerking van de dataset . . . . . . . . . . . 2.4 Determinanten van de woningen . . . . . . . . . . . . . 3 Regressiemodellen 3.1 Inleiding en methodologie . . . . . . . . . 3.1.1 Foutmaat . . . . . . . . . . . . . . 3.1.2 Generalisatie . . . . . . . . . . . . 3.2 Lineaire regressie . . . . . . . . . . . . . . 3.2.1 Model . . . . . . . . . . . . . . . . 3.2.2 Ridge regressie . . . . . . . . . . . 3.3 Gaussiaanse processen . . . . . . . . . . . 3.3.1 Model . . . . . . . . . . . . . . . . 3.3.2 Gaussiaans proces voor regressie . 3.3.3 Trainen van een Gaussiaans proces 3.4 Neurale netwerken . . . . . . . . . . . . . 3.4.1 Model . . . . . . . . . . . . . . . . 3.4.2 Trainen van een neuraal netwerk . 3.4.3 Implementatie . . . . . . . . . . . 3.5 Beslissingsbomen . . . . . . . . . . . . . . 3.5.1 Model . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . .
1 1 2 4
. . . . . . .
5 5 5 7 7 7 9 11
. . . . . . . . . . . . . . . .
16 16 16 17 19 19 20 22 22 23 25 27 27 29 32 33 33
INHOUDSOPGAVE
3.5.2
vii
Trainen van een regressieboom . . . . . . . . . . . . . . . . . . . . . . . .
4 Onderzoeksresultaten 4.1 Selectie van de determinanten . . . . . . . . . . . . 4.2 Optimalisatie van de vier technieken . . . . . . . . 4.2.1 Trainset en testset . . . . . . . . . . . . . . 4.2.2 Lineaire regressie (LR) . . . . . . . . . . . . 4.2.3 Gaussiaanse processen (GP) . . . . . . . . . 4.2.4 Neurale netwerken (MLP) . . . . . . . . . . 4.2.5 Regressiebomen (RT) . . . . . . . . . . . . 4.3 Vergelijking van de prestaties bij de vier technieken 4.3.1 Globale prestaties . . . . . . . . . . . . . . 4.3.2 In detail . . . . . . . . . . . . . . . . . . . . 4.4 Vergelijking met Zillow . . . . . . . . . . . . . . . .
36
. . . . . . . . . . .
38 38 41 41 42 44 46 51 53 53 56 65
5 Conclusies en perspectieven 5.1 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Toekomstig werk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67 67 70
A Extra figuren bij onderzoeksresultaten
72
Bibliografie
76
Bibliografie
76
Lijst van tabellen
78
Lijst van tabellen
78
Lijst van figuren
79
Lijst van figuren
79
Lijst van algoritmen
82
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
INHOUDSOPGAVE
viii
Tabel van afkortingen en symbolen ARD AVM BP CSV FF ANN GP HTML MAPE MLP MSE NYC OLS R2 RPROP RT SE SSE URL VS XML
Automatic Relevance Determination kernel Automated Valuation Model BackPropagation Comma-Separated Values Feed-Forward Artificial Neural Network Gaussian Processes HyperText Markup Language Mean Absolute Percentage Error Multi-Layer Perceptron Mean Squared Error New York City Ordinary Least Squares Regression Determinantieco¨effici¨ent Resilent backPROPagation Regression Trees Squared Exponential kernel Sum of Squares Error Uniform Resource Locator Verenigde Staten eXtensible Markup Language
INLEIDING
1
Hoofdstuk 1
Inleiding 1.1
Waardering van residentieel vastgoed
Vastgoed heeft een belangrijke functie in de economie door zijn schaarste, duurzaamheid en hoge waarde. Aangezien vastgoed noodzakelijk is voor de mens enerzijds als woonplaats en anderzijds voor bedrijfsactiviteiten of als investering, speelt de waardering van vastgoed een cruciale rol in de maatschappij. Beperken we ons tot het residentieel vastgoed dan kunnen we verschillende groepen onderscheiden die baat hebben bij een accurate waardering van een onroerend goed: • Particulieren die een woning willen kopen of verkopen. • Overheidsinstellingen die de belastingheffing op onroerende goederen willen bepalen. • Vastgoedmakelaars bij het bemiddelen van een aankoop of verkoop van een woning. • Hypotheekmaatschappijen die de waarde willen kennen van een hypothecair onderpand bij het verstrekken van een lening. Voor deze waardering kan men te rade gaan bij een schatter. Deze komt ter plaatse om de woning te observeren en levert nadien een rapport af met het resultaat van zijn waardebepaling. Er zijn drie klassieke methodes die de schatter kan gebruiken bij het waarderen van vastgoed (P. Ampe, 2006). De methode van intrinsieke waarde is een analytische schattingsmethode waarbij een decompositie gebeurt van het perceel, het gebouw en haar omgeving. Men bepaalt eerst de nieuwbouwwaarde van het gebouw op basis van haar structurele kenmerken. Deze waarde wordt vervolgens vermeerderd met de waarde van het perceel en verminderd met een factor die de ouderdom en slijt in rekening brengt. Tenslotte wordt hierop rekening houdend met de buurt en omgevingsfactoren een venaliteitspercentage toegepast. Dit venaliteitspercentage reflecteert hoe makkelijk of moeilijk de woning verkocht kan worden. Een andere schattingsmethode betreft de methode der inkomstenbenadering. Hierbij wordt de waarde van de woning bepaald op basis van het
1.2 Modelmatige waardebepaling
2
economisch rendement dat kan gehaald worden uit de verhuring ervan. De methode van de vergelijkingspunten is de derde klassieke schattingsmethode. Hierbij vergelijkt de schatter de verkoopprijzen van minstens drie vergelijkbare woningen die recent in de directe omgeving van de te waarderen woning werden verkocht. Er is geen wetenschappelijke theorie die aantoont welke methode voor de bepaling van een gegeven woning de meest geschikte is. Dit heeft als gevolg dat schatters deze methoden gewoonlijk naast elkaar gebruiken en dat hun waardering vaak op ervaring berust. Afgezien van het feit dat deze schatting in veel gevallen een goede leidraad geeft voor de waarde van de woning, zijn er toch nadelen aan deze werkwijze verbonden: • Beroep doen op een schatter komt meestal duur uit (bepaalde experts vragen tot 600 euro voor een waardebepaling uit te voeren). • Het plaatselijk bezoek maakt het een trage werkwijze. • Schatters gaan vaak subjectief te werk waardoor er variatie zit op de waardebepaling van verschillende schatters bij eenzelfde woning (Test-Aankoop, 2011).
1.2
Modelmatige waardebepaling
De opgesomde beperkingen van schatters voor belanghebbenden als hypotheekmaatschappijen en overheidsinstellingen hebben de ontwikkeling van een modelmatige waardebepaling gestimuleerd. De doelstellingen bij de ontwikkeling hiervan zijn: • Het objectiveren van de waardebepaling. • Het reduceren van de kosten. • Het versnellen van de waardebepaling. • Het bevorderen van de transparantie van de vastgoedmarkten. Lancaster (1966) en Rosen (1974) waren de pioniers in deze ontwikkeling en stelden voor residentieel vastgoed een hedonisch waardebepalingsmodel voor. Het principe is om een meervoudige lineaire regressie toe te passen met als afhankelijke variabele de prijs (of het natuurlijk logaritme ervan) en als onafhankelijke variabelen de karakteristieken van de woning. Als determinanten worden de locatie, de oppervlakte, het aantal slaapkamers . . . gebruikt. Sinds het begin van de jaren negentig kwam de ontwikkeling van geautomatiseerde waardebepalingsmodellen (automated valuation models (AVM)) in een stroomversnelling terecht in de Verenigde Staten. Een AVM bestaat typisch uit drie modellen die elk apart een waarde op de woning plakken (Khedkar, 2003). Het eerste model maakt gebruik van de geografische co¨ ordinaten
1.2 Modelmatige waardebepaling
3
van de woning in combinatie met de oppervlakte van de woning om een prijs te voorspellen. Het tweede model is een hedonische waardebepaling dat gebruik maakt van verschillende karakteristieken van de woning om de prijs te voorspellen. De determinanten zijn hier de perceelgrootte, de oppervlakte, een locatiefactor, het aantal slaapkamers en het aantal badkamers. Het derde model gaat op zoek naar woningen die vergelijkbaar zijn en waarvan recente verkoopprijzen gekend zijn. Op basis hiervan wordt een derde voorspelling van de prijs gedaan. Deze laatste methode heet de repeat sales index. Uiteindelijk worden deze drie waarderingen gecombineerd tot een finale waardering van de woning. In deze laatste stap is het mogelijk om de waardering te verfijnen door nog extra informatie toe te voegen zoals de leeftijd, de conditie, de kwaliteit, het bezitten van een zwembad en het aantal open haarden. De betrouwbaarheid van deze modellen is in de afgelopen jaren sterk toegenomen waardoor ze ge¨ıntegreerd werden bij vele hypotheekmaatschappijen en overheidsinstellingen. Deze doelgroepen halen hier voordeel uit doordat deze modellen het toelaten om snel en goedkoop grote hoeveelheden woningen te waarderen. In de eerste jaren stond hiertegenover weliswaar een inboeten aan de accuraatheid van waarderingen. Tegenwoordig is de accuraatheid van de modelmatige waarderingen zeker aanvaardbaar voor deze instellingen. Sommigen zagen hierin een zakenmodel en de website zillow.com is hier een mooi voorbeeld van. Deze website biedt gratis de mogelijkheid om een Zestimate te berekenen van een willekeurige woning in bepaalde delen van de Verenigde Staten. De website maakt gebruik van een AVM dat werkt met een uitgebreide database van meer dan tien miljoen woningen. Deze database werd verworven op basis van publiekelijk beschikbare verkoopprijzen, dewelke verplicht geregistreerd worden in de VS, en van informatie over woningkarakteristieken die in een grote database van de belastingdienst van de VS opgeslagen zijn. zillow.com speelt handig in op het feit dat vele mensen ge¨ınteresseerd zijn in de waarde van hun woning, zelfs zonder interesse in een verkoop ervan. Dit doet zillow.com door de mogelijkheid te bieden om zich als eigenaar van een woning te identificeren en informatie omtrent de woning te verbeteren of toe te voegen. Hierdoor wordt hun database en dus ook hun model steeds beter met als gevolg dat ze populairder worden en hun inkomsten kunnen halen uit reclameboodschappen op de website. In de wetenschappelijke literatuur wordt echter weinig over deze volledige AVM’s gepubliceerd. Wel is er onderzoek te vinden over het deelmodel dat gebaseerd is op een hedonische waarebepaling. Dit is dan ook het deel waarin deze masterproef gekaderd kan worden. Keskin (2008) onderzoekt de determinanten bij een lineaire hedonische waardepaling op de vastgoedmarkt van Istanbul. De conclusie was dat de determinanten in deze vastgoedmarkt de volgende zijn: de oppervlakte van de woning, het al dan niet laagbouw zijn van de woning, het al dan niet in een bewaakte zone (met zwembad en garage) zijn van de woning en de leeftijd.
1.3 Doelstelling van de masterproef
4
M. Lenk (1997) onderzoekt de toepassing van artifici¨ele neurale netwerken tegenover lineaire regressie voor hedonische prijsbepaling. Het concludeert dat neurale netwerken, in tegenstelling tot wat andere papers beweren, niet per se beter presteren dan lineaire regressie. In deze paper adviseren ze ook om uitschieters uit de dataset te verwijderen aangezien geen van beide modellen er in slaagt om hierop een goede voorspelling te doen. Een andere belangrijke conclusie is dat banken voorzichtig met deze modellen moeten omspringen en niet blind vertrouwen op de schattingen. Deze conclusie is gebaseerd op de bevinding dat, hoewel de modellen gemiddeld gezien tot op 10% nauwkeurig de prijs kunnen voorspellen, er toch altijd enkele voorspellingen zijn die bijzonder slecht zijn. Deze laatste zijn natuurlijk gevaarlijk bij banken aangezien ze tot een verkeerde investeringsbeslissing kunnen leiden.
1.3
Doelstelling van de masterproef
Hoewel lineaire regressie en neurale netwerken in de literatuur meermaals voorkomen als voorgestelde waarderingsmodellen voor residentieel vastgoed, wordt over andere technieken weinig gepubliceerd. De doelstelling van deze masterproef is om een werkend traditioneel lineair hedonisch waarderingsmodel uit te werken voor residentieel vastgoed en te onderzoeken of andere niet-lineaire technieken beter presteren bij deze toepassing. De niet-lineaire technieken die in deze masterproef zullen behandelen zijn neurale netwerken, Gaussiaanse processen en regressiebomen. Bovendien zullen we op zoek gaan naar een dataset die zo veel mogelijk informatie bevat van elke woning zodat we de invloed van verschillende determinanten op het voorspellen van de prijs kunnen onderzoeken. Een bijkomende vraag bij dit onderzoek is of deze niet-lineaire technieken er in slagen om uitschieters beter te voorspellen dan lineaire regressie.
VASTGOEDPRIJZEN IN MANHATTAN
5
Hoofdstuk 2
Vastgoedprijzen in Manhattan 2.1
Inleiding
Om een goed werkend voorspellingsmodel uit te bouwen is er nood aan een geschikte dataset waarop het model getraind en getest kan worden. Dit hoofdstuk zal beginnen met een beschrijving van de gewenste dataset. Nadien wordt de keuze van een dataset uit Manhattan verantwoord. Vervolgens zal het proces van de data-acquisitie en naverwerking van de dataset beschreven worden. In de laatste paragraaf wordt beschreven hoe de finale dataset is samengesteld.
2.2
Zoeken naar een geschikte dataset
Het doel is de prijs van een residenti¨ele woning te kunnen voorspellen op basis van zijn determinanten. Volgens Keskin (2008) wordt de prijs naast de determinanten van de woning zelf ook be¨ınvloed door socio-economische determinanten, buurtkwaliteit determinanten en locatiefactoren. De invloed van sociale indicatoren zoals werkloosheidspercentage en primaire sociale klasse per postcode werd onderzocht door Marghich (2005). Door op zoek te gaan naar een dataset bestaande uit woningen geconcentreerd rond een bepaalde locatie kunnen we deze sociale factoren elimineren aangezien ze nagenoeg gelijk zijn voor alle woningen in de dataset. Globaal economische factoren zoals de inflatie hebben ook een impact. Deze factoren evolueren in de tijd dus kan een variatie van de invloed van deze factoren op de prijs vermeden worden door een dataset op te bouwen op ´e´en moment in de tijd. Een geschikte dataset voor dit onderzoek moet bestaan uit een voldoende grote en recente verzameling woningen in een geografisch geconcentreerde omgeving waarvan zo veel mogelijk determinanten en de prijs van de woning op ´e´enzelfde tijdstip voor alle woningen gegeven zijn. Bij de determinanten wensen we minstens het type woning, de locatie en de oppervlakte van de woning te hebben. Een zoektocht naar een kwalitatieve dataset voor vastgoed in Belgi¨e bij de overheid, makelaars . . . bleef zonder succes. Makelaars geven hun database niet vrij. De overheid bezit statistische
2.2 Zoeken naar een geschikte dataset
6
informatie over vastgoed en maakt deze publiek toegankelijk via de website van het kadaster of statbel.fgov.be, maar de beschikbare gegevens zijn in feite gemiddelden per gemeente en dus niet relevant voor dit onderzoek. Notarissen moeten hun notari¨ele akten bij een verkoop van een onroerend goed aan een centrale database toevoegen maar enkel zij hebben daar toegang toe en bovendien bevat een notari¨ele akte onvoldoende informatie per woning om relevant te zijn voor dit onderzoek. Websites als immoweb.be en hebbes.be maken het invullen van gegevensvelden zoals exacte locatie en oppervlakte niet verplicht waardoor men te maken heeft met een onvolledige dataset. Als laatste poging werd contact gelegd met professor Philippe Janssens die Real Estate doceert aan de Antwerp Management School en KULeuven en oprichter is van Stadim, een van de meest gereputeerde studiebureaus in de vastgoedsector van Belgi¨e. Professor Janssens stelde dat volgens zijn weten een volledige database van onroerende goederen samen met de determinanten en de verkoopsprijs onbestaande is in Belgi¨e en gaf het advies om het onderzoek te richten op een vastgoedmarkt die meer gestructureerd is zoals New York City (NYC). In NYC is er al decennia lang een enorm bruisende wisselwerking tussen vraag en aanbod wat tot transparantie van deze markt heeft geleid. Er is enorm veel informatie online beschikbaar wat deze markt zeer interessant maakt om voor dit onderzoek te bestuderen. Websites als zillow.com, trulia.com en StreetEasy.com bieden elk een zeer ruim aanbod van vastgoed aan, voorzien van alle mogelijke informatie over de aangeboden woningen. De eerste twee websites zijn over heel de Verenigde Staten actief, terwijl de laatste website specifiek in de vastgoedmarkt van NYC gespecialiseerd is. Als gevolg hiervan biedt deze website de mogelijkheid voor makelaars om hun aangeboden woningen uitgebreid te beschrijven door eigenschappen aan te vinken waarvan vele eigen zijn aan de vastgoedmarkt van NYC. Concreet gaan deze eigenschappen van de co¨ordinaten, de oppervlakte, het aantal slaapkamers en het aantal badkamers, tot het aanvinken van specifieke faciliteiten zoals balkon, parkeerplaats, conci¨erge en tal van andere mogelijkheden. Doordat de website het invullen van al deze eigenschappen verplicht bij het te koop aanbieden van een woning, is de website StreetEasy.com rijkelijk voorzien van data die interessant is voor dit onderzoek. De eigenschappen worden op een overzichtelijke wijze weergegeven bij elke aangeboden woning. Een voorbeeld hiervan wordt in figuur 2.1 weergegeven. De website voldoet door zijn volledigheid en transparantie van informatie aan de voorwaarden om als basis te dienen bij het samenstellen van een dataset voor dit onderzoek. Enige oplettendheid is hierbij wel geboden, namelijk het feit dat de dataset vraagprijzen en geen verkoopprijzen bevat. Verkopers proberen natuurlijk een zo hoog mogelijk bedrag te krijgen voor hun pand waardoor de vraagprijs doorgaans hoger is dan het bedrag dat uiteindelijk door de koper wordt neergeteld. Een veronderstelling bij dit onderzoek is dat de procentuele afwijking tussen de vraagprijs en verkoopprijs voor alle panden gelijk is. Dit geldt in de realiteit zeker niet voor alle panden maar we gaan ervan uit dat als de vraagprijs te modelleren is op basis van bepaalde variabelen, dat dit model ook getraind kan worden op een dataset die de verkoopprijzen in plaats van de vraagprijzen bevat.
2.3 Het verwerven van de dataset uit de StreetEasy website
7
Figuur 2.1: Voorbeeld van de pagina van een pand met al zijn kenmerken op StreetEasy
2.3 2.3.1
Het verwerven van de dataset uit de StreetEasy website De data-acquisitie
StreetEasy.com biedt de mogelijkheid om een zoekopdracht uit te voeren volgens bepaalde criteria en vervolgens een XML bestand te downloaden van de 40 meest recente resultaten van de zoekopdracht. Dit XML bestand wordt vervolgens met de parser BeautifulSoup 1 in een Python programma ontleed waarbij de URL link van elk item wordt bijgehouden. De Python module urllib 2 zal vervolgens naar elke URL link surfen en de HTML broncode inlezen. Uiteindelijk wordt deze broncode door de module BeautifulSoup ontleed en wordt elke karakteristiek van elk item bijgehouden. De Python module xlwt 3 schrijft deze gegevens vervolgens weg naar een XLS bestand voor verdere naverwerking in Microsoft Excel. Hier wordt dan de finale dataset opgeslagen als een CSV bestand dat uiteindelijk door een Python programma ingelezen wordt als dataset om de voorspellingstechnieken op toe te passen. Een schematische voorstelling van de werkwijze wordt in figuur 2.2 weergegeven.
2.3.2
Uitvoering van de data-acquisitie procedure
Voor het verwerven van de dataset moet een reeks zoekopdrachten ingegeven worden waarvan telkens het XML bestand van de 40 meest recente items moet opgeslagen worden. Bij de zoek1
BeautifulSoup is een Python module die het parsen van XML en HTML bestanden mogelijk maakt. Dit pakket is te vinden op http://www.crummy.com/software/BeautifulSoup/ 2 Urllib is een Python interface dat het openen van URL’s mogelijk maakt en de HTML broncode hiervan kan inlezen. Urllib is beschikbaar op http://docs.python.org/library/urllib.html 3 De Python module xlwt maakt het mogelijk om Microsoft Excel bestanden weg te schrijven vanuit een Python programma. Het pakket is beschikbaar op http://www.python-excel.org/
2.3 Het verwerven van de dataset uit de StreetEasy website
8
Figuur 2.2: Schematische voorstelling van het verwervingsproces van de dataset
opdracht werd als eerste criterium het type woning als condominium gekozen. Dit is wat in NYC het meest overeenkomt met een appartement kopen in Belgi¨e, enkel met dat verschil dat er gebruik gemaakt kan worden van de diensten van de gemeenschap van eigenaars en dat daar ook een maandelijkse bijdrage aan vast hangt.
District Manhattan Bronx Brooklyn Queens Staten Island
# items
# buurten
# items/buurt
3809 134 1523 467 29
37 57 65 60 84
102.9 2.4 23.4 7.8 0.3
Tabel 2.1: De StreetEasy database op 1 november 2011 Het tweede ingevuld criterium was de locatie. De data-acquisitie vond op 1 november 2011 plaats en op dat moment bestond het aanbod van StreetEasy uit wat in tabel 2.1 wordt weergegeven. Rekening houdend met de beperking van StreetEasy dat enkel de 40 meest recente items in een XML bestand kunnen opgevraagd worden, werd er gekozen voor het beperken tot het district Manhattan. De geografische indeling van Manhattan is zoals een dambordpatroon met straten onderverdeeld in wijken en binnen deze wijken nog eens in verschillende buurten. Voor elke buurt van Manhattan werd een zoekopdracht ingegeven en het XML bestand opgeslagen van zodra er tien of meer zoekresultaten waren. De wijken van Manhattan worden aangeduid op figuur 2.4 terwijl de buurten in figuur 2.3 worden opgesomd. Uiteindelijk voldeed de zoekopdracht bij 30
2.3 Het verwerven van de dataset uit de StreetEasy website
9
buurten aan dit criterium waardoor een dataset met tussen 300 en 1200 items verkregen werd. De verzamelde XML bestanden werden nadien, volgens het eerder toegelicht proces, verder verwerkt. Bij de naverwerking werd uiteindelijk een dataset van 959 unieke items bekomen.
Figuur 2.3: De wijken en buurten van Manhattan
2.3.3
Naverwerking van de dataset
In Microsoft Excel wordt de dataset naverwerkt om tot een CSV bestand te komen dat enkel cijfers bevat en door het voorspellingsmodel ingelezen kan worden. Elke rij bevat een item terwijl elke kolom een eigenschap voorstelt. In tabel 2.2 staat een overzicht van alle determinanten. Hierbij stellen D en C respectievelijk discrete en continue variabelen voor. De locatie zit vervat in twee determinanten: de wijk en de buurt. Elke buurt is gelegen in een wijk. Figuur 2.3 stelt alle mogelijke wijken en buurten van Manhattan voor. Alle items waarbij de informatie van minstens ´e´en eigenschap ontbreekt worden verwijderd uit de dataset. Dubbele items worden ook verwijderd. Bovendien worden items met een vraagprijs boven 25 miljoen dollar uit de dataset ge¨elimineerd omdat deze slechts zelden voorkomen en een vertekende invloed zouden kunnen geven bij het trainen van de voorspellingsmodellen. Uiteindelijk bevat de dataset 959 unieke items. Aangezien de voorspellingsmodellen enkel cijfers zullen inlezen dienen deze discrete variabelen omgezet te worden naar cijfers. Een mogelijkheid is gebruik te maken van dummyvariabelen die 0 of 1 als waarde kunnen aannemen. Een variabele met K mogelijkheden heeft dan dlog2 (K)e
2.3 Het verwerven van de dataset uit de StreetEasy website
Nr. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Eigenschap Vraagprijs Wijk Buurt Aantal slaapkamers Aantal badkamers Oppervlakte Portier Virtuele portier Fietsenkamer Lift Huisdieren toegelaten Opbergruimte Koelruimte Fitness Logistieke service Parkeerplaats Zwembad Conci¨erge Wasserijdienst Ecologisch gebouw Recreatie faciliteiten Wasmachine en droogkast Airconditioning Bemeubeld Vaatwasmachine Loft Terras Open haard Balkon Jaccuzi Tuin Dakterras Platform Binnenkoer Penthouse Duplex Triplex
10
D/C
Transformatie
C D D D D C D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D
ln ln ln
ln 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Tabel 2.2: De determinanten van elk appartement in de dataset.
2.4 Determinanten van de woningen
11
dummyvariabelen nodig. Wij kozen voor een alternatieve aanpak waarbij de determinanten Wijk en Buurt worden voorgesteld door de gemiddelde prijs van alle appartementen in deze wijk of buurt. Hierdoor zit in de opgebouwde dataset al een globale relatieve waarde van de locatie van elk appartement vervat. Het aantal slaapkamers en badkamers zijn discrete variabelen met een minimale waarde van 1. De oppervlakte is een continue variabele die groter is dan 0. Oorspronkelijk stond de oppervlakte in de eenheid f t2 maar deze werd omgezet naar m2 om interpretatie in een Europees kader te vergemakkelijken. Er werd een natuurlijk logaritmische omzetting toegepast op de variabelen Vraagprijs, Wijk, Buurt en Oppervlakte. Dit is niet noodzakelijk maar bij het vergelijken van de prestatie met een model zonder deze omzetting blijken de resultaten beter te zijn met de omzetting. M. Lenk (1997), Keskin (2008) en Martin Hoesli (1997) merkten dit ook op bij hun onderzoek. In de volgende stap werd een normalisatie van alle waarden toegepast zodat elke eigenschap Gaussiaans verdeeld is volgens een gemiddelde van 0 en een standaardafwijking van 1. Om dit te doen wordt voor elke eigenschap j het gemiddelde µj en de standaardafwijking j berekend (genormaliseerd) over alle items van de dataset. De genormaliseerde waarde xij van eigenschap j van appartement i wordt dan bepaald op basis van de huidige waarde xij door de formule: (genormaliseerd)
xij
=
xij
µj
.
(2.1)
j
Alle items worden willekeurig geordend aangezien ze per buurt werden verzameld en het belangrijk is om een willekeurige samenstelling van de dataset te hebben bij het verder opsplitsen in een gedeelte voor het model te trainen en een gedeelte om het model te testen. De resulterende dataset wordt uiteindelijk opgeslagen als een CSV bestand dat door de voorspellingsmodellen kan worden ingelezen.
2.4
Determinanten van de woningen
Deze sectie zal aan de hand van figuren en histogrammen de samenstelling van de verworven dataset behandelen. Zoals eerder uitgelegd bestaat de dataset uitsluitend uit items van het type condominium gelegen in het district Manhattan. Manhattan bestaat uit vijf wijken. Elke wijk wordt verder opgesplitst in buurten volgens de opdeling op figuur 2.3. Figuur 2.5 geeft de relatieve hoeveelheid van de dataset weer die door elke wijk vertegenwoordigd wordt. Merk op dat meer dan 60% van de items gelegen zijn in de wijken Downtown of Midtown. In figuur 2.4 wordt de breedtegraad
2.4 Determinanten van de woningen
12
tegenover de lengtegraad uitgezet waardoor de dataset gevisualiseerd wordt in de vorm van een kaart. Het is duidelijk dat er een grotere concentratie is in de wijken Downtown en Midtown.
Upper Manhattan
Upper West
Upper East
$22,000,000
Midtown $1,566,227
Downtown
$260,000
Figuur 2.4: Visualisatie van de dataset volgens geografische co¨ordinaten. De prijs wordt met een logaritmische verdeling voorgesteld met behulp van kleuren en de oppervlakte wordt gevisualiseerd door de straal van de cirkels hiermee evenredig te maken.
2.4 Determinanten van de woningen
13
De dataset kan met behulp van figuur 2.4 goed bestudeerd worden. Deze figuur geeft niet alleen de locatie van elk item uit de dataset weer, maar stelt ook de oppervlakte voor door de grootte van de cirkels en de prijs door een inkleuring van de cirkels volgens een logaritmische schaal. Zo valt direct op dat grote cirkels zelden blauw gekleurd zijn, maar vaak lichte kleuren en rode tinten aannemen. Dit duidt op het feit dat appartementen met een grotere oppervlakte meestal duurder zijn. De oppervlakte is dus zeker een eigenschap die een impact heeft op de prijs. Vervolgens kunnen we opmerken dat gelijkaardige kleuren hier en daar gegroepeerd zijn. Zo zie je dat appartementen die verder van het centrum liggen, zie bovenaan op de figuur, een lagere prijs hebben aangezien ze blauw getint zijn. Anderzijds zijn er in het stadscentrum veel dure appartementen die bij elkaar liggen. Het is duidelijk dat de locatie van het appartement ook een grote rol speelt bij de prijsbepaling.
Figuur 2.5: Histogram van de wijken
In de rest van dit hoofdstuk wordt op basis van histogrammen en cirkeldiagrammen de verdeling van elke eigenschap in de dataset voorgesteld. Deze grafieken worden weergegeven op figuur 2.6 tot en met figuur 2.9.
Figuur 2.6: Histogram van de vraagprijs
Als we naar het histogram van de prijs kijken is het duidelijk dat appartementen boven de $10M sterk in de minderheid zijn. Appartementen in de prijsklasse tussen $500K en $1M komen het meest frequent voor. Globaal bekeken ligt de prijsdistributie van appartementen in Manhattan rond $1M gecentreerd.
2.4 Determinanten van de woningen
14
4 3
1
2 # slaapkamers
4
3
1 2
# badkamers
Figuur 2.7: Cirkeldiagrammen van het aantal slaapkamers en het aantal badkamers
De cirkeldiagrammen op figuur 2.7 van het aantal slaapkamers en badkamers geven ook enkele inzichten. Zo blijkt bijvoorbeeld dat het aantal appartementen met slechts ´e´en slaapkamer min of meer gelijk is aan het aantal appartementen met slechts ´e´en badkamer. Globaal gezien is het aantal slaapkamers en badkamers van een appartement in Manhattan ´e´en of twee. Drie of meer slaapkamers komt bij meer appartementen voor dan dat drie of meer badkamers voorkomt. De histogram van de oppervlakte op figuur 2.8 kent een gelijkaardige distributie als de prijs. Bijna alle appartementen liggen tussen 40m2 en 500m2 . De distributie is gecentreerd rond een oppervlakte van 100m2 . Bovendien is er een concentratie van appartementen in de oppervlakteklasse tussen 60m2 en 80m2 .
Figuur 2.8: Histogram van de oppervlakte
2.4 Determinanten van de woningen
15
De laatste figuur toont aan hoe frequent de bijkomstige randfaciliteiten voorkomen in de dataset. Hier blijkt dat 85% van de appartementen een portier bezit, wat waarschijnlijk te wijten is aan het feit dat alle appartementen van de dataset van het type condominium zijn en dat een condominium quasi altijd een portier heeft. Meer dan de helft van de appartementen heeft een lift, wat niet verwonderlijk is aangezien Manhattan voornamelijk bestaat uit hoogbouw. Opmerkelijk is wel dat bij het merendeel van de appartementen huisdieren toegelaten worden. Het bezit van een wasmachine en droogkast komt even frequent voor als een fitness in het gebouw. Alle andere randfaciliteiten komen in minder dan 25% van de appartementen voor. Het is zeker interessant te onderzoeken of deze determinanten een opmerkelijke meerwaarde aan het appartement geven.
Figuur 2.9: Distributie van de randfaciliteiten
REGRESSIEMODELLEN
16
Hoofdstuk 3
Regressiemodellen 3.1
Inleiding en methodologie
In dit hoofdstuk zullen verschillende technieken uit machinaal leren aan bod komen waarmee de prijs op basis van de karakteristieken van de woning voorspeld kan worden. Machinaal leren is een brede onderzoekstak binnen Artifici¨ele Intelligentie die zich bezig houdt met het ontwikkelen van algoritmes en technieken waarmee computers op basis van een reeks voorbeelden automatisch kunnen aanleren om bepaalde taken uit te voeren. Het doel is om een model automatisch complexe patronen in data te laten herkennen en intelligente beslissingen te kunnen laten nemen op basis van nieuwe invoerdata. Bij machinaal leren kent men een onderscheid tussen ongesuperviseerd leren, gesuperviseerd leren en versterkingsgebaseerd leren. Gesuperviseerd leren omvat de toepassingen waarbij het model in de leerfase voorbeelden van invoervectoren met de bijhorende doelvectoren aangeleerd wordt om vervolgens op ongeziene invoervectoren zo goed mogelijk de uitvoervectoren te kunnen voorspellen. Binnen gesuperviseerd leren maakt men nog een onderscheid tussen classificatie en regressie. Bij classificatie is de doelstelling om elke invoervector aan ´e´en van een eindig aantal discrete categori¨en toe te wijzen. Bij regressie daarentegen zal de uitvoer bestaan uit ´e´en of meer continue variabelen. In dit onderzoek zal gesuperviseerd leren toegepast worden op een regressieprobleem: het bepalen van de prijs van een woning op basis van zijn karakteristieken. In deze sectie zal een geschikte foutmaat vooropgesteld worden en vervolgens zal het probleem van het overfitten aangekaart worden gevolgd met een oplossing om dit probleem aan te pakken. In volgende secties zullen vier modellen behandeld worden die gebruikt zijn in dit onderzoek voor het voorspellen van de prijs. Als notatie schrijven we bij wat volgt drukletters (x) voor vectoren en hoofdletters voor matrices (X).
3.1.1
Foutmaat
Bij een voorspellingsmodel horen parameters die geoptimaliseerd dienen te worden om finaal tot een zo accuraat mogelijk model te komen. Hierbij is het belangrijk om een foutmaat te defini¨eren die we wensen te minimaliseren. Bij het voorspellen van de prijs is men vooral ge¨ınteresseerd in hoeveel percent de voorspelling naast de echte prijs zit en niet in de absolute
3.1 Inleiding en methodologie
17
fout. Volgens deze laatste foutmaat zou een voorspellingsfout van $1, 000 op een woning van $100, 000 gelijkwaardig beschouwd worden aan dezelfde fout op een woning van $1, 000, 000. Om deze reden werd gekozen om de mean absolute percentage error (MAPE) als primaire foutmaat te gebruiken. De MAPE wordt gedefinieerd als volgt: N 1 X |yi yˆi | MAPE = N yi
(3.1)
i=1
In de literatuur wordt de MAPE ook toegepast bij hedonische waardebepaling van vastgoed (Peterson & Flanagan, 2009). M. Lenk (1997) gebruikt bovendien het percentage van voorspelde appartementen dat een MAPE heeft die lager is dan een bepaalde drempelwaarde. zillow.com duidt de accuraatheid van haar Zestimate per stad op dezelfde wijze aan bij MAPE drempelwaarden van vijf, tien en twintig percent.
3.1.2
Generalisatie
Bij het opstellen van een voorspellingsmodel is het vooral van belang om waarden voor de modelparameters te vinden waardoor het model goed kan voorspellen op basis van nieuwe data. De eigenschap van het goed kunnen voorspellen op basis van nieuwe data heet generalisatie. Om te evalueren hoe goed het model kan voorspellen op basis van nieuwe data wordt de dataset opgesplitst in twee delen: een deel dat dient om het model te trainen op basis van voorbeelden en een deel dat dient voor het evalueren van het model op ongeziene data. De twee delen worden respectievelijk de trainset en testset genoemd en zullen in dit onderzoek bestaan uit respectievelijk 800 en 159 items. Zoals in het vorig hoofdstuk reeds aangehaald, werd de dataset in een willekeurige volgorde gerangschikt alvorens deze op te splitsen in een trainset en een testset. Bij het trainen van een model zullen bepaalde parameters de complexiteit van het model bepalen. In figuur 3.1 wordt getoond hoe bij een stijgende modelcomplexiteit het model steeds beter wordt in het voorspellen van de voorbeelddata terwijl het voorspellen met ongeziene data vanaf een bepaalde modelcomplexiteit slechter presteert. Dit fenomeen heet overfitten. Om overfitten te voorkomen zal men altijd het model gebruiken met de laagste complexiteit dat toch de data kan verklaren. Figuur 3.1 stelt dus dat de modelparameters die de complexiteit bepalen moeten gekozen worden bij een minimale voorspellingsfout op de testdata om het generaliserend vermogen van het model te kunnen optimaliseren. Aangezien er in een testset altijd onvolmaaktheden kunnen zitten die in se niet representatief zijn voor de data worden in de praktijk technieken gebruikt die de trainset telkens zal opsplitsen in een kleinere trainset en een hieraan complementaire validatieset zodat de modelparameters zullen gekozen worden daar waar het model gemiddeld gezien het best presteert op de validatiesets.
3.1 Inleiding en methodologie
18
voorspellingsfout
testfout
trainfout
modelcomplexiteit
Figuur 3.1: Het fenomeen van overfitten. Bij toenemende modelcomplexiteit daalt de testfout initieel maar stijgt na verloop van tijd terwijl de trainfout steeds blijft dalen. (Schrauwen, 2011)
1
Train
2
Validatie
3 4 5 6 7 8 Totale trainset
Testset
Totale dataset 0
100
200
300
400
500
600
700
800
959
items
Figuur 3.2: Verdeling in partities van de dataset bij kruisvalidatie
De techniek die hiervoor zal gebruikt worden is kruisvalidatie. Figuur 3.2 illustreert hoe de trainset acht keer zal onderverdeeld worden in een trainset van 700 items en een validatieset van 100 items. Het model zal dus per parameterwaarde acht verschillende keren getraind worden op een trainset en de foutmaat zal telkens berekend worden op een voorspelling met de bijhorende validatiesets. Voor deze parameter zal dan de gemiddelde validatiefout berekend worden, dewelke de testfout op figuur 3.1 vervangt. Bij deze figuur zal nu de abscis het verloop van de parameterwaarde voorstellen. Deze gemiddelde validatiefout wordt ook de kruisvalidatiefout genoemd. Uiteindelijk zal de parameterwaarde gekozen worden die een minimale kruisvalidatiefout oplevert.
3.2 Lineaire regressie
3.2
19
Lineaire regressie
De techniek lineaire regressie (LR) wordt uitgelegd aan de hand van Bishop (2006).
3.2.1
Model
Lineaire regressie is een model dat de beste lineaire relatie tussen de invoer en uitvoer tracht te bepalen. De algemene voorstelling van een D-dimensionaal lineair regressie model ziet er als volgt uit: y(x, w) = w0 + w1 x1 + w2 x2 + · · · + wD xD .
(3.2)
De constante term w0 wordt de intercept genoemd, het punt waar de y-as wordt gesneden als de invoer x nul is. Om dit model in een vectori¨ele notatie te kunnen schrijven wordt een extra component aan de invoer vector x toegevoegd. Deze is altijd gelijk aan 1: x = (1, x1 , x2 , . . . , xD )T . Vervolgens wordt aan de parameter vector w de intercept w0 toegevoegd: w = (w0 , w1 , w2 , . . . , wD )T . We merken op dat strikt genomen beide vectoren nu (D + 1)-dimensionaal zijn. Vanaf nu nemen we aan dat de uitvoer steeds ´e´endimensionaal is. We kunnen het model dan in vectori¨ele vorm schrijven als volgt: y(x, w) = wT x.
(3.3)
Dit model is natuurlijk theoretisch en in de praktijk is het meestal onmogelijk om nieuwe datapunten met een rechte lijn te benaderen. Deze tekortkoming wordt in rekening gebracht door een probabilistische interpretatie in te voeren en hierbij een extra foutterm ✏ toe te voegen aan het model. We nemen aan dat deze foutterm Gaussiaans verdeeld is met een gemiddelde 0 en 1. een standaardafwijking wordt de precisie genoemd. We krijgen: t = y + ✏ = wT x + ✏, met p(✏) = N (0, ingangsvector x.
1 ).
(3.4)
Hierbij is t de gewenste uitvoer en y de uitvoer van het model bij een
De probabilistische schrijfwijze hiervan is: p(t|x, w) = N (t|wT x,
1
).
Dit is een Gaussiaanse distributie met een gemiddelde van y = wT x en een variantie van
(3.5) 1.
3.2 Lineaire regressie
3.2.2
20
Ridge regressie
Nu we het model in een algemene vorm hebben dienen we nog een uitdrukking te vinden die de gewichten w berekent op basis van de voorbeelden uit de trainset. Hiervoor defini¨eren we eerst de ontwerpmatrix X als volgt: 0
1 0 xT1 1 x11 B TC B B x2 C B1 x12 C B X=B . B .. C = B @ . A @1 .. xTN 1 x1N
x21 x22 .. .
··· ··· .. .
x2N
···
1 xD 1 C xD 2 C .. C C, . A xD N
(3.6)
waarbij elke rij in de matrix een voorbeeldingang xi bevat, en elke kolom een andere eigenschap van het appartement voorstelt, behalve de eerste kolom dewelke werd toegevoegd om de intercept w0 in het model te verwerken. Voor een trainset van N voorbeelden met elk D eigenschappen waarmee de prijs zal voorspeld worden zal de ontwerpmatrix X een N ⇥ (D + 1)-matrix zijn. De bij X horende gewenste uitgangsvector t wordt gegeven door: 0
1 t1 B C B t2 C C t=B B .. C . @ . A
(3.7)
E(w) = ED (w) + EW (w).
(3.8)
tN
Het zoeken van een uitdrukking voor w is een extremumvraagstuk dat de kostenfunctie E(w) zal minimaliseren:
ED (w) is een data-afhankelijke term die een afwijking op de voorbeelden afstraft. De tweede term dient om de modelcomplexiteit te controleren zodat het overfitten van de voorbeelden kan worden vermeden. Dit gedeelte bevat enerzijds een regularisatieterm EW (w) en anderzijds een regularisatieco¨effici¨ent die het relatief belang van ED (w) en EW (w) regelt. Indien we als data-afhankelijke term de sum of squares error (SSE) nemen: N
ED (w) =
1X (tn 2
w T xn )2 ,
(3.9)
n=1
en als regularisatieterm de som van de kwadraten van de gewichtenvector w nemen: 1 EW (w) = wT w, 2 dan wordt de totale kostenfunctie gegeven door
(3.10)
N
E(w) =
1X (tn 2 n=1
w T xn )2 +
2
kwk2 .
(3.11)
3.2 Lineaire regressie
21
Deze specifieke keuze van de regularisatieterm is in de literatuur van het machinaal leren gekend als weight decay omdat ze bij sequenti¨ele leeralgoritmes de gewichten steeds naar nul tracht te brengen, tenzij de data dit tegenwerkt met de eerste term van de kostenfunctie. Deze totale kostenfunctie heeft het voordeel van een kwadratische functie van w te zijn waardoor het extremumvraagstuk in gesloten vorm kan worden opgelost. Het gelijkstellen van de gradi¨ent van formule 3.11 aan nul en oplossen naar w levert de optimale gewichtenvector w⇤ op: w⇤ = (X T X + I)
1
X T t.
(3.12)
Lineaire regressie waarbij de gewichten worden bepaald door deze formule heet ridge regressie en komt soms ook voor onder de naam regularized least squares regression (Bishop, 2006). In dit onderzoek wordt als lineair model deze techniek toegepast. Indien de kostenfunctie geen regularisatieterm bevat dan bekomt men formule 3.12 met = 0. Dit wordt ordinary least squares regression genoemd. Een matrixrepresentatie van het model waarvan de vectori¨ele representatie in formule 3.3 werd gegeven, wordt nu gegeven door y = Xw⇤ .
(3.13)
Bij het trainen van het model resteert nu enkel nog de regularisatieco¨effici¨ent zo goed mogelijk te bepalen zodat overfitten wordt vermeden. Een goede keuze van de regularisatieco¨effici¨ent laat toe om een complex model te trainen op een beperkte dataset zonder ernstig overfitten door de e↵ectieve modelcomplexiteit te beperken. Voor het bepalen van de beste -waarde zal kruisvalidatie toegepast worden, zoals in sectie 3.1.2 werd aangehaald. Concreet wordt de kruisvalidatiefout op basis van de MAPE bepaald over acht folds en dit voor elk van de waarden van de reeks {10 13 , 10 12 , . . . , 103 , 104 }. Hierbij werden de formules 3.12, 3.13 en 3.1 gebruikt, met een aan de invoer aangepaste X-matrix. Nadien wordt de gekozen die de laagste kruisvalidatiefout geeft. Deze wordt dan gebruikt om het model te trainen op de totale trainset om uiteindelijk op de ongeziene data van de testset de prijs te voorspellen.
3.3 Gaussiaanse processen
3.3
22
Gaussiaanse processen
Dit onderdeel werd grotendeels geschreven aan de hand van Rasmussen (2004) en Rasmussen & Williams (2006). Archambeau (2008) en Bishop (2006) droegen ook bij tot dit deel.
3.3.1
Model
Gaussiaanse processen (GP) bieden een krachtige modelleringstechniek aan die gebruikt wordt bij zowel regressie-, interpolatie- als classificatietoepassingen. In tegenstelling tot lineaire regressie kunnen Gaussiaanse processen ook niet-lineaire verbanden tussen invoer en uitvoer modelleren. De aandacht zal voornamelijk liggen op de relevante aspecten voor de toepassing van regressie. Een multivariate Gaussiaanse distributie definieert een kansdichtheidsfunctie (gebaseerd op correlaties) over D willekeurige variabelen. Deze distributie is volledig bepaald door een gemiddeldenvector µ 2 RD en een covariantiematrix ⌃ 2 RD⇥D : y = (y1 , . . . , yD )T ⇠ N (µ, ⌃).
(3.14)
Een Gaussiaans proces kan als generalisatie van een multivariate Gaussiaanse distributie gezien worden tot oneindig veel variabelen. Dit kan intu¨ıtief verklaard worden door een functie te bekijken als een oneindig lange vector van functiewaarden. Een Gaussiaans proces is een kansdistributie over functies y(x) zodanig dat de reeks functiewaarden y(x1 ), . . . , y(xN ) ge¨evalueerd in de arbitraire punten x1 , . . . , xN een multivariate Gaussiaanse distributie hebben. Een Gaussiaans proces is dus een distributie over functies, terwijl een Gaussiaanse distributie er een is over vectoren. Een Gaussiaans proces wordt volledig bepaald door zijn gemiddeldenfunctie en covariantiefunctie. We defini¨eren de gemiddeldenfunctie m(x) en de de covariantiefunctie k(x, x0 ) van een proces f (x) als m(x) = E[f (x)], k(x, x0 ) = E[(f (x)
m(x))(f (x0 )
m(x0 ))],
(3.15)
en zullen een Gaussiaans proces schrijven als f (x) ⇠ GP(m(x), k(x, x0 )),
(3.16)
wat betekent: “de functie f (x) is verdeeld als een Gaussiaans proces met gemiddeldenfunctie m(x) en covariantiefunctie k(x, x0 )”. Om te beginnen moet er een gemiddeldenfunctie en een covariantiefunctie gekozen worden. Als gemiddeldenfunctie wordt in de praktijk vaak m(x) = 0 gekozen. Door alle waarden van
3.3 Gaussiaanse processen
23
de dataset te normaliseren naar een Gaussiaans verdeelde verzameling met gemiddelde 0 en standaardafwijking 1 kan deze keuze verantwoord worden. Het proces wordt nu volledig bepaald door de covariantie van f (x) ge¨evalueerd in elk paar punten x en x0 , wat wordt gegeven door een kernel functie: k(x, x0 ) = E[f (x)f (x0 )].
(3.17)
Laten we als voorbeeld de veelgebruikte squared exponential kernel (SE) als vooropstellen: k(x, x0 ) = exp
⇢
kx
x0 k2
2l2
,
(3.18)
waarbij de hyperparameter l > 0 de karakteristieke lengteschaal van de kernel voorstelt. Bij een keuze van waarde voor deze hyperparameter kunnen we samples van de functie f (x) plotten. Hiervoor dienen we te werken in een eindige dimensie, dit doen we door slechts de functiewaarde van f in een eindig aantal punten te vragen. Hierdoor verkrijgen we een Gaussiaanse distributie met een gemiddeldenvector µ 2 RN en een covariantiematrix ⌃ 2 RN ⇥N horende bij de punten {xn }N n=1 . Om van een kernel naar een covariantiematrix te gaan vullen we de punten xn in. De kernel die hier gebruikt wordt leidt tot een positief semi-definiete Gram matrix ⌃ 2 RN ⇥N . We krijgen dus een vector van functiewaarden f (x) die een Gaussiaanse distributie volgen: f (x) = (f (x1 ), . . . , f (xN ))T ⇠ N (µ, ⌃),
(3.19)
waarbij de gemiddeldenvector en covariantiematrix gegeven worden door µi = m(xi ) = 0 ⌃ij = k(xi , xj ) = exp
⇢
i = 1, . . . , N kxi xj 2l2
k2
i, j = 1, . . . , N
(3.20)
We kunnen nu een random vector van functiewaarden genereren op basis van een reeks punten. In figuur 3.3 staan enkele random sample functies f weergegeven. Hierbij werd als karakteristieke lengteschaal l = 0.5 gekozen. De invoerpunten xn werden ´e´endimensionaal genomen tussen 1 en 1.
3.3.2
Gaussiaans proces voor regressie
In de vorige sectie zagen we hoe een distributie over functies gedefinieerd kan worden door een Gaussiaans proces. Dit Gaussiaans proces zal nu gebruikt worden als prior voor Bayesiaanse interferentie. De prior hangt niet af van de trainingsdata, maar stelt enkele eigenschappen voor de functies voorop. Hieronder zal beschreven worden hoe men deze prior kan updaten aan de hand van trainingsdata. In dit leerproces wordt de prior omgevormd tot een posterior, waarin informatie van de trainingsdata vervat zit. Een van de voornaamste doelen bij het bepalen van de posterior is dat het kan gebruikt worden om de functiewaarden te voorspellen van ongeziene testdata. Laten we f de vector van
3.3 Gaussiaanse processen
24
Figuur 3.3: Drie willekeurige functies gegenereerd uit een GP voor een ´e´endimensionale invoer met m(x) = 0 en een SE covariantiefunctie met hyperparameter l = 0.5
gekende functiewaarden uit de trainset noemen, en f⇤ de vector van functiewaarden horende bij de testinvoer X⇤ . We schrijven de Gaussiaanse distributie uit van alles waarin we ge¨ınteresseerd zijn: " # f ⇠N f⇤
"
# " µ ⌃ , T µ⇤ ⌃⇤
⌃⇤ ⌃⇤ ⇤
#!
,
(3.21)
waarbij we de volgende notaties in rekening brengen: µ = m(xi ), i = 1, . . . , n voor de training gemiddelden en analoog voor de test gemiddelden µ⇤ . Voor de covariantiematrices noteren we ⌃ voor de training covarianties, ⌃⇤ voor de training-testset covarianties en ⌃⇤⇤ voor de testset covarianties. Aangezien we kennis hebben van de functiewaarden van de trainset f zijn we ge¨ınteresseerd in de geconditioneerde distributie van f⇤ , gegeven f : f⇤ |f ⇠ N (µ⇤ + ⌃T⇤ ⌃
1
(f
µ), ⌃⇤⇤
⌃T⇤ ⌃
1
⌃⇤ ).
(3.22)
Dit is de posterior distributie voor een specifieke testset met een voorkennis van de trainingsdata D. Het corresponderend Gaussiaans proces wordt: f |D ⇠ GP(mD , kD ) ,met mD (x) = m(x) + ⌃(X, x)T ⌃ 1 (f kD (x, x0 ) = k(x, x0 ) ⌃ 1 ⌃(X, x0 ),
m)
(3.23)
waarbij ⌃(X, x) een vector van covarianties tussen elk trainingspunt en punt x is. Hiermee zijn de basisvergelijkingen opgesteld voor voorspelling met een Gaussiaans proces. We merken op dat de posterior variantie kD (x, x) gelijk is aan de prior variantie k(x, x) verminderd met een positieve term die afhangt van de trainingsdata. De posterior variantie is dus altijd kleiner dan de prior variantie aangezien de trainingsdata ons bijkomende informatie gaf.
3.3 Gaussiaanse processen
25
Figuur 3.4: Drie random gegenereerde functies van het prior GP (links) en van het posterior GP (rechts). Een trainingsobservatie is aangeduid door een +, de gemiddeldenfuncties m(x) en mD (x) door een stippellijn. Bovendien duidt een grijze zone een strook van 3 keer de standaardafwijking aan. Er werd een SE covariantiefunctie gebruikt met een karakteristieke lengteschaal l = 0.5.
Op figuur 3.4 is goed te zien hoe het aanleren van trainingsdata het model slimmer maakt in het voorspellen van de functiewaarde in nieuwe punten. Zo werd de gemiddeldenfunctie aangepast zodat deze door de gegeven functiewaarden van de trainingsdata gaat terwijl de grijze variantiestrook op deze punten vernauwt. De breedte van deze band geeft de onzekerheid aan bij het nemen van de waarde van de gemiddeldenfunctie als actuele waarde. De posterior zal dus bij het voorspellen van de functiewaarde van een ongezien punt, zekerder zijn van zijn voorspelling als de trainingsdata al informatie gaf over de directe omgeving van dit punt. Analoog aan formule 3.4 uit sectie 3.2.1 kan een Gaussiaans proces ook uitgebreid worden zodat ruis bij de observaties ook in rekening gebracht worden. Dit gebeurt door de aanname van een 1: additieve Gaussiaanse ruis met gemiddelde 0 en standaardafwijking t(x) = f (x) + ✏, ✏ ⇠ N (0, 1 ), f ⇠ GP(m, k), t ⇠ GP(m, k + waarbij
3.3.3
ij
1
ij ),
(3.24)
= 1 als i = j de Kronecker delta voorstelt.
Trainen van een Gaussiaans proces
Zoals eerder aangehaald moeten we bij gebruik van een Gaussiaans proces om te voorspellen, een gemiddeldenfunctie m(x) en een covariantiefunctie k(x, x0 ) als prior kiezen alvorens het model te trainen op de trainset. In dit onderzoek werd zoals eerder aangehaald, een normalisatie op de dataset toegepast zodat elke dimensie van de data normaal verdeeld is volgens gemiddelde 0 en variantie 1. Met dit in het achterhoofd wordt een gemiddeldenfunctie m(x) = 0 vooropgesteld.
3.3 Gaussiaanse processen
26
Bij de keuze van de covariantiefunctie k(x, x0 ) kiezen we voor het gebruik van automatic relevance determination (ARD). Hierbij wordt een SE kernel gebruikt waarbij automatisch de variantie voor elke ingangsruimte apart geschaald wordt (Rasmussen & Williams, 2006): 0
k(x, x ) = exp
⇢
D
1 X (xd x0d )2 , 2 ld2
(3.25)
d=1
waarbij {ld }D d=1 verschillend mogen zijn. De karakteristieke lengteschaal ld geeft een maat voor hoever je moet bewegen over de xd -as van de ingangsruimte vooraleer de functiewaarden ongecorreleerd worden. Hoe groter ld is, hoe minder invloed de parameter xd heeft op de functiewaarde en dus hoe minder relevant deze ingangsdimensie is. Door deze hyperparameters bij het leren van een trainset aan te passen door bijvoorbeeld de log marginal likelihood te gebruiken, wordt het mogelijk om invoervariabelen te vinden die weinig of geen bijdrage leveren bij het voorspellen van functiewaarden aangezien hun karakteristieke lengteschaal enorm groot is. Nu de gemiddeldenfunctie en de covariantiefunctie van het prior Gaussiaans proces vooropgesteld werden, wensen we de hyperparameters ✓ = {l1 , . . . , lD } aan te passen op basis van de trainingsdata. Om dit te bereiken kunnen we de marginalisatie over de waarden maximaliseren, gegeven de waarden van de hyperparameters. Onder de veronderstelling dat de distributie van de data Gaussiaans is, schrijven we de log marginal likelihood als: 1 n 1 log |⌃| (f µ)T ⌃ 1 (f µ) log(2⇡). (3.26) 2 2 2 Door de parti¨ele afgeleiden van formule 3.26 te berekenen naar de hyperparameters kan hiermee een numerieke optimalisatiemethode toegepast worden om geschikte waarden voor de hyperparameters te vinden1 . Voor dit onderzoek zal de Gaussian Processes for Machine Learning (GPML) Toolbox 2 voor Matlab gebruikt worden. Hierbij zal de log marginal likelihood geminimaliseerd worden door de gradi¨ent-gebaseerde optimiser conjugate gradients om de optimale waarden voor de hyperparameters te bepalen (Rasmussen & Nickisch, 2010). Bij nadere inspectie van de log marginal likelihood kunnen we drie termen onderscheiden. De eerste term 12 log |⌃| is een term die de complexiteit van het model meet en afstraft. De tweede term is een negatieve kwadratische term, en zorgt voor het fitten van de trainingsdata. Dit is trouwens de enige term die afhangt van de functiewaarden f van de trainingsdata. De derde term is een log normalisatie term, onafhankelijk van de data. Er dient vooral opgemerkt te worden dat de afweging tussen het afstra↵en van overcomplexiteit en het bevorderen van data-fit bij Gaussiaanse processen automatisch gebeurt. In contrast met bijvoorbeeld ridge regressie is er geen regularisatieco¨effici¨ent die met een externe methode als kruisvalidatie moet geoptimaliseerd worden. L = log p(f |x, ✓) =
1
Er dient opgemerkt te worden dat het negatieve log-marginale oppervlak niet-convex is waardoor moet worden opgepast voor lokale minima. Bovendien is de rekencomplexiteit hiervan O(n3 ), met n het aantal datapunten. 2 GPML is een uitgebreide toolbox voor Gaussiaanse processen in Matlab te gebruiken. De toolbox is te vinden op de website: http://www.gaussianprocess.org/gpml/code/matlab/doc/
3.4 Neurale netwerken
3.4 3.4.1
27
Neurale netwerken Model
Artifici¨ele neurale netwerken bieden een niet-lineair regressiemodel dat uitgangen in functie van ingangen modelleert, maar kunnen ook voor toepassingen als classificatie gebruikt worden. Bij de toepassing van regressie worden de uitgangen in functie van de ingangen gemodelleerd. Er bestaan feedforward artifici¨ele neurale netwerken (FF ANN) en recurrente neurale netwerken. Een neuraal netwerk van het eerste type wordt ook wel een multi-layer perceptron (MLP) genoemd. Bij dit type wordt de informatie van de ingangen doorgepropageerd naar de uitgang terwijl bij het tweede type er een dynamische terugkoppeling bestaat, wat het aspect geheugen mogelijk maakt. Voor dit onderzoek is een MLP de geschikte keuze. Hierna volgt een beschrijving van de werking van een MLP, waarbij ons beperken tot ´e´en uitgang.
Ingangslaag
x1
Tussenlaag #2
Tussenlaag #1 W1
Neuronen
Uitgangslaag
Neuronen W2 W3
Neuron
x2 f(x) x3 x4
Biasingangen
1
1
1
Figuur 3.5: Schematische voorstelling van een MLP met vier ingangen, twee tussenlagen met elk drie neuronen, biasingangen en ´e´en uitgang.
Een MLP bestaat uit een interactie tussen de ingangslaag, waarvan de elementen bestaan uit de ingangen van het model, de tussenlagen, bestaande uit berekeningselementen genaamd neuronen en de uitgangslaag, bestaande uit ´e´en of meer neuronen. Alle elementen in verschillende lagen zijn met elkaar verbonden. Elke verbinding heeft een gewicht w waarmee de doorgestuurde data wordt vermenigvuldigd. Laten we de gewichtenverzameling ✓ defini¨eren als: 0
1 W1 B C B W2 C C ✓=B B .. C , @ . A Wk
(3.27)
3.4 Neurale netwerken
28
met Wi zijnde de matrix die de gewichten van de verbindingen tussen elk element van laag i en laag i + 1 bevat3 , voor een MLP dat bestaat uit k 1 tussenlagen. De gegevensstroom gaat van de ingangen links naar de uitgang(en) rechts, vandaar de benaming feedforward. Een voorbeeld wordt in figuur 3.5 weergegeven. De gegevens worden door de neuronen verwerkt in twee stappen: 1. Alle toekomende data wordt vermenigvuldigd met het gewicht van de verbinding en nadien worden de resulterende waarden opgeteld bij elkaar. 2. De resulterende waarde wordt ge¨evalueerd door een activatiefunctie en geeft het neuron deze functiewaarde door aan de volgende laag.
x1
w1
x2
w2
x3
w3 w4
x0=1 w0 n
som= wixi i=0
u=f(som)
u
x4 Figuur 3.6: Activatie van de inkomende data door een neuron. Beschouw een neuron van de eerste tussenlaag, waarbij de gewichten 2 W1 voor de ingangen x0 (biasingang), x1 , x2 , x3 en x4 naar dit neuron gegeven worden door w0 , w1 , w2 , w3 en w4 ; u stelt de informatie voor die naar de volgende laag wordt doorgegeven.
Het activatieproces zorgt voor het niet-lineair karakter van het model. Zonder dit aspect zou het model herleid worden tot een lineair regressiemodel. Er zijn verschillende activatiefuncties mogelijk zoals de tangens hyperbolicus, de softmaxfunctie en de sigmoidefunctie. In dit werk wordt de sigmoidefunctie4 als activatiefunctie gebruikt: 1 . (3.28) 1+e x In de volgende sectie zal worden uitgelegd hoe bij de leerfase van het model de gewichten zullen worden aangepast om bij de voorbeelden van de trainset de gewenste uitgang te verkrijgen. Het aanpassen van de gewichten zal in principe als gevolg hebben dat de activatiefuncties voor elke datastroom worden vervormd zodat een gewenste uitgang wordt verkregen bij gegeven ingangsdata. Zo zal bijvoorbeeld bij het vergroten van een gewicht, het verloop van de sigmoidefunctie f (x) =
3
Hierbij werd aangenomen dat de nummering begint bij 1 voor de ingangslaag. Ter controle werden de experimenten ook met een tangens hyperbolicus als activatiefunctie uitgevoerd maar dit gaf geen significante verbetering. 4
3.4 Neurale netwerken
29
f(x)
1
0.5
-0.5
0
0.5
x
Figuur 3.7: De sigmoidefunctie
(figuur 3.7) met een steilere overgang van 0 naar 1 laten gebeuren. Wat echter niet kan gebeuren, enkel en alleen door het schalen van de gewichten, is het verschuiven van de activatiefunctie over de x-as. Deze mogelijkheid kan van kritisch belang zijn voor bepaalde leertaken. Gelukkig is dit exact wat gebeurt bij het toevoegen van een biasingang 1 voor elke laag, zoals in figuur 3.5 reeds aangeduid werd. Het aanpassen van het gewicht van de verbindingen met de bias ingangen kan het niet-lineair karakter van het model dus aanpassen.
3.4.2
Trainen van een neuraal netwerk
Een MLP met een vast gekozen structuur met nin ingangen en nuit uitgangen definieert een di↵erentieerbare functie f (·; w) : Rnin ! Rnuit die de ingang-uitgang relatie beschrijft (Christian Igel & Weishui, 2005). In principe kan elke continue functie goed benaderd worden, waarbij de bovengrens van de benaderingsfout afhankelijk is van de structuur van het netwerk (K. Hornik & White, 1989). De functie f is geparameteriseerd door de gewichtenverzameling ✓. Bijvoorbeeld voor nin = 3 en nuit = 1 is y = f (x; ✓) de uitvoer horende bij een gegeven invoer x = (x1 , x2 , x3 )T en gewichtverzameling ✓. Het regressieprobleem bij een gekozen MLP structuur wordt herleid tot het aanpassen van de gewichten van het netwerk in de leerfase, gegeven een trainset. Hiervoor kunnen verschillende optimalisatiemethoden toegepast worden zoals evolutionaire algoritmen (bijvoorbeeld di↵erential evolution toegepast op MLP’s door Ilonen et al. (2003)) en iteratieve gradient descent algoritmen. De meest gebruikte en over het algemeen best presterende algoritmen om bij een MLP de parameters te optimaliseren zijn gradi¨ent-gebaseerde algoritmen. Hierbij wordt een vooropgestelde kostenfunctie E(✓) geminimaliseerd op basis van een trainset {(x1 , y1 ), . . . , (xP , yP )} 2 (Rnin ⇥ Rnuit )P van P voorbeelden. Aangezien de mean squared error (MSE) di↵erentieerbaar is, wordt deze meestal gebruikt als kostenfunctie. Ook in dit onderzoek zullen we hiervan gebruik maken. De MSE wordt gedefinieerd als: P 1 X kf (xp ; ✓) E(✓) = P p=1
yp k2 .
(3.29)
In wat volgt zullen twee technieken worden behandeld die volgens een iteratief gradient descent principe E(✓) minimaliseren. Een schema van dit principe wordt op figuur 3.8 voorgesteld. De stappen van het back propagation algoritme worden:
3.4 Neurale netwerken
start
30
uitgang nee gewichten aanpassen goed?
bereken uitgang
ja stop
Figuur 3.8: Algemeen schema van een iteratief gradient descent algoritme.
1. Initialiseer de gewichten in ✓ op willekeurige waarden. 2. Lees de ingang x en de gewenste uitgang y. 3. Bereken de uitgang door de waarden van de ingang door de volgende lagen te sturen. 4. Bereken de fout. 5. Verander de gewichten in ✓ volgens de regels van backpropagation of resilient backpropagation, zoals hieronder verder wordt beschreven. Backpropagation De eerste en bij MLP’s breed toegepaste aanpassingstechniek heet backpropagation (BP), ook wel ordinary gradient descent genoemd. Hierbij worden de gewichten aangepast proportioneel met de partieel afgeleide van de kostenfunctiefunctie E(✓) naar de parameters ✓. De aanpassingsregel voor BP luidt (Riedmiller & Braun, 1993): ✓ (t+1) := ✓ (t) + ✓ (t) :=
✏ @E @✓
(t)
✓ (t) ,
(3.30)
waarbij superscripts duiden op de iteratie en ✏ een hyperparameter is die de leersnelheid bepaalt. Merk op dat de keuze van de leersnelheid ✏, die de afgeleide schaalt, een belangrijk e↵ect heeft op de nodige tijd om convergentie te bereiken. Als ze te klein genomen wordt zijn er te veel leerstappen nodig om een aanvaardbare leertijd te bekomen. Anderzijds zal een te grote ✏ leiden tot oscillatie, wat kan voorkomen dat het minimum wordt bereikt. Om bovenstaand probleem op te lossen wordt een momentum-term ge¨ıntroduceerd: @E (t) + µ ✓ (t 1) , (3.31) @✓ waarbij het momentum µ een hyperparameter is die de invloed van de vorige stap op de huidige bepaalt. Deze term zou een stabieler leerproces opleveren maar uit de praktijk blijkt dat de optimale waarde van deze parameter even probleemafhankelijk is als de leersnelheid ✏ en dat in veel gevallen geen algemene verbetering bereikt kan worden (Riedmiller & Braun, 1993). Het vinden van goede hyperparameterwaarden is dus een probleem bij het BP algoritme. In dit ✓ (t) :=
✏
3.4 Neurale netwerken
31
onderzoek zal een variant van het ordinary gradient descent algoritme gebruikt worden, dewelke hieronder wordt uitgelegd. Resilient backpropagation De inherente problemen worden aangepakt door verscheidene varianten van het ordinary gradient descent algoritme, meer gekend onder de groepsnaam adaptive gradient descent. Een van de meest succesvolle varianten is het resilient backpropagation (Rprop) algoritme voorgesteld door Riedmiller & Braun (1993). Het idee is om bij elke te optimaliseren parameter een individuele aanpassing te doen. Deze aanpassing is niet meer proportioneel met de parti¨ele afgeleiden maar enkel met het teken ervan. Het Rprop algoritme maakt een erg snel en accuraat leerproces mogelijk dat enorm robuust is. In tegenstelling tot ordinary gradient descent, waar de hyperparameters leersnelheid en momentum moeten gekozen worden, is het hier niet nodig om hyperparameters te kiezen. De variant Rprop+ implementeert bovendien nog het principe van weight-backtracking, waarbij op een heuristische wijze ongewenste vorige stappen gedeeltelijk ingetrokken worden. Voor dit onderzoek zal het algoritme zonder weight-backtracking gebruikt worden. Dit algoritme schuilt onder de naam Rprop en wordt hieronder uitgelegd. De pseudocode wordt door algoritme 1 voorgesteld (Igel & H¨ usken, 2000). for each ✓ do if
@E (t 1) @E (t) · @✓ @✓ (t) ✓ := min
else end
(t 1) @E (t) if @E · @✓ < 0 then @✓ (t) ✓ := max ✓ (t 1) · ⌘ ,
✓ (t+1) := ✓ (t) end
> 0 then ✓ (t 1) · ⌘ + ,
sign
⇣
@E (t) @✓
⌘
·
✓max ✓min ✓ (t)
Algorithm 1: Rprop algoritme Een iteratiestap van het Rprop algoritme kan in twee delen opgesplitst worden. In het eerste deel wordt een individuele aanpassingswaarde ✓ voor elk gewicht in ✓ bepaald. Wanneer @E @✓ hetzelfde teken heeft als de vorige iteratiestap dan zal de aanpassingswaarde vergroot worden, anderzijds wordt de aanpassingswaarde verkleind bij een verschillend teken. De verminderingsfactor ⌘ en de vermeerderingsfactor ⌘ + worden gekozen volgens 0 < ⌘ < 1 < ⌘ + . In de praktijk worden ⌘ = 0.5 en ⌘ + = 1.2 als standaard genomen5 . In het begin worden alle aanpassingswaarden ✓ op een initi¨ele waarde ✓0 gezet. Deze waarde bepaalt de grootte van de eerste aanpassing en is dus bij voorkeur gekozen in een redelijke proportie tegenover de waarde van de initi¨ele gewichten. Een standaard waarde is ✓0 = 0.1 (Riedmiller & Braun, 1993). Om 5
Riedmiller & Braun (1993) raden deze empirisch bepaalde waarden aan bij gebruik van het door hen voorgestelde RROP algoritme. Andere papers die gaan over RP ROP gebruiken deze waarden ook (Igel & H¨ usken, 2000).
3.4 Neurale netwerken
32
overflow en underflow problemen van floating point variabelen te vermijden worden de aanpassingswaarden beperkt tot een onderlimiet ✓min = 1 ⇥ 10 7 en een bovenlimiet6 ✓max = 5.0. In het tweede deel van het algoritme worden de gewichten aangepast en wordt het proces van figuur 3.8 verder gezet.
3.4.3
Implementatie
Voor de implementatie van een MLP in dit onderzoek wordt de Python module PyBrain 7 gebruikt. Het aantal ingangen komt overeen met het aantal determinanten waarmee de prijs voorspeld zal worden. Er zullen MLP’s getraind en getest worden voor vijf, negen en zesendertig ingangen. In het volgend hoofdstuk wordt dit verder toegelicht. Er werd gekozen om slechts ´e´en tussenlaag te gebruiken. Deze keuze is gebaseerd op Rossini (1997). De uitgangslaag bezit ´e´en uitgangsneuron namelijk de prijs die we trachten te bepalen. Als optimalisatiemethode voor de gewichten te trainen wordt het Rprop algoritme toegepast met de hyperparameters ⌘ = 0.5, ⌘ + = 1.2, ✓0 = 0.1, ✓min = 1 ⇥ 10 7 en ✓max = 5.0. Er rest enkel nog het aantal neuronen in de tussenlaag te kiezen. Voor alle configuraties moet experimenteel bepaald worden hoeveel iteraties het optimalisatieproces nodig heeft om te convergeren. Analoog aan ridge regressie zal hier ook kruisvalidatie toegepast worden om het overfitten van de trainset te vermijden. Het aantal iteraties zal dus gezocht worden in functie van een minimalisatie van de kruisvalidatiefout, en dit voor elke configuratie. In de onderstaande figuur worden als voorbeeld de kruisvalidatiefout en de trainfout weergegeven voor een MLP, analoog aan figuur 3.1 maar met de modelcomplexiteit voorgesteld door het aantal iteraties. Uit figuur 3.9 volgt dat driehonderd het optimaal aantal iteraties is. MLP - 1 tussenlaag met 50 neuronen - zonder bias 0.280 0.260 0.240
MAPE
0.220 0.200 trainfout crossvalidatiefout
0.180 0.160 0.140 0.120 0.100 100
200
300
400
500
600
700
800
900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 # epochs
Figuur 3.9: De kruisvalidatiefout en trainfout bij achtvoudige kruisvalidatie voor een MLP met negen ingangen, ´e´en tussenlaag met vijftig neuronen en zonder biasingangen. 6
In de documentatie van de gebruikte toolbox PyBrain staan deze waarden als standaard ingesteld. PyBrain is een modulaire Machine Learning Library voor Python. De module is te vinden op de website http://pybrain.org/ 7
3.5 Beslissingsbomen
3.5
33
Beslissingsbomen
De beschrijving van het model in deze sectie werd ge¨ınspireerd door David Hand & Smyth (2001) en Shalizi (2009).
3.5.1
Model
Beslissingsbomen vormen een niet-lineair voorspellingsmodel en hebben twee varianten: regressiebomen en classificatiebomen. Wegens de aard van de onderzoekstoepassing beperken we ons in wat volgt tot “regressiebomen of regression trees (RT)”. Het basisidee is eenvoudig. We willen een afhankelijke veranderlijke y voorspellen op basis van de ingangen x1 , . . . , xk . Dit wordt gedaan door een binaire boom op te bouwen. Beginnende bij de stam van de boom, voeren we een test uit op ´e´en van de ingangen, bijvoorbeeld xi . Afhankelijk van het antwoord op de testvraag volgen we een bepaalde tak, waarvan er telkens twee mogelijk zijn, naar de volgende knoop. Deze knoop stelt opnieuw een ja-nee vraag over ´e´en van de ingangsvariabelen en stuurt ons afhankelijk van het antwoord naar de volgende knoop. Uiteindelijk komen we toe op een bladknoop, waar we een voorspelling maken van de uitgang horende bij de ingang. De voorspelling die wordt gegeven is niet meer dan het gemiddelde van de y-waarden van alle voorbeelden uit de trainset die aan dezelfde bladknoop toekwamen. Een voorbeeld hiervan wordt op figuur 3.10 voorgesteld.
Figuur 3.10: Een voorbeeld van een regressieboom. Bij elke knoop wordt de tak naar rechtsboven gevolgd als de waarde van de ingangsvariabele groter is dan de knoopwaarde, en naar rechtsonder in het andere geval.
3.5 Beslissingsbomen
34
Modellen zoals lineaire regressie en neurale netwerken trachten op basis van een reeks voorbeelden uit een trainset, een globaal model op te stellen aan de hand van goed gekozen parameterwaarden dat de uitgang voor een willekeurige ingang geeft. Wanneer echter de data bestaat uit vele ingangsvariabelen welke op complexe, niet-lineaire wijze met elkaar interageren dan kan het heel moeilijk worden om ´e´en globaal model op te stellen, en hopeloos ingewikkeld worden als je er toch in slaagt. Sommige modellen trachten hiervoor een oplossing te bieden door lokaal de data te modelleren en deze lokale modellen aan elkaar te plakken, maar deze kunnen uiteindelijk ook moeilijk interpreteerbaar worden. Een andere aanpak om een niet-lineaire regressie uit te voeren bestaat uit het opsplitsen van de ingangsruimte in kleinere delen die makkelijker te modelleren zijn. Deze deelruimtes worden steeds opnieuw opgesplitst tot we eenvoudig de uitgang kunnen modelleren. Deze aanpak heet recursief partitioneren en wordt bij regressiebomen gebruikt. Het voorspellingsmodel van regressiebomen bestaat dus uit twee delen: het recursief partitioneren van de ingangsruimte en het eenvoudig modelleren van elke cel van de partitie. Terugkijkend naar de introductie en figuur 3.10 wordt het duidelijk dat regressiebomen gebruik maken van een boom om het recursief partitioneren van de ingangsruimte voor te stellen. Elke bladknoop komt overeen met een cel van de partitie en heeft hieraan gekoppeld een eenvoudig model dat enkel voor deze cel toepasselijk is. Een punt x hoort bij een cel als dit punt bij het doorlopen van de boom hier terecht komt. Opmerkelijk is dat de ingangsruimte zowel continue als discrete variabelen mag bevatten. Categori¨en kunnen ook als ingang gebruikt worden door een knoopvraag te formuleren als bijvoorbeeld “Is wijk == Downtown? ”. Het tweede gedeelte van het voorspellingsmodel bestaat uit de eenvoudige modellen van elke cel van de partitie. In het klassiek model wordt voor elke cel gewoon een constante8 benadering van y genomen. Stel dat de voorbeelden (xi , yi ), (x2 , y2 ), . . . , (xp , yp ) van de trainset horen bij de bladknoop l, dan wordt het model voor deze cel gegeven als p
1X f (x) = yi , p
(3.32)
i=1
het gemiddelde van de uitgangen van de voorbeelden horende bij deze cel. Regressiebomen geven dus een stuksgewijs-constant model, voor een 1-dimensionale ingang ge¨ıllustreerd op figuur 3.11. Hierbij horen enkele voordelen: Het voorspellen gebeurt snel want complexe berekeningen zijn niet nodig, enkel de juiste constante in de boom opzoeken Door de grafische voorstelling van het model is het eenvoudig om te verstaan welke variabelen belangrijk zijn in het voorspellen van de uitgang 8
We zouden in principe ook een lineaire regressie kunnen uitvoeren, waarvan het model bepaald werd door de voorbeelddata van deze tak, wat een stuksgewijs-lineair model zou geven in plaats van een stuksgewijs-constant model (Shalizi, 2009). Als we het model echter goed bouwen dan zouden alle punten in elke bladknoop sterk gelijkaardig zijn waardoor het regressie-oppervlak toch quasi constant zou worden.
3.5 Beslissingsbomen
35
Indien niet alle ingangsvariabelen gekend zijn kunnen we misschien niet in gans de boom afzakken, maar we kunnen nog steeds een voorspelling maken door het gemiddelde te nemen van alle bladknopen die onder de verst gehaalde knoop liggen Het model geeft een gekarteld antwoord, waardoor het ook werkt wanneer het echte regressieoppervlak niet glad is. Wanneer het wel glad is, geeft het stuksgewijs-constant oppervlak met genoeg bladknopen in de boom toch een redelijke benadering Er bestaan snelle, betrouwbare algoritmen om deze bomen te trainen
ln(Vraagprijs)
Van zodra de regressieboom bepaald is op basis van de trainset, zijn ook de lokale voorspellingsmodellen volledig bepaald en eenvoudig te vinden door een gemiddelde te berekenen. Alle inspanning moet dus gaan naar het vinden van een goede boom die een bevredigende partitionering van de data geeft. Dit wordt besproken in de volgende sectie.
ln(Oppervlakte) Figuur 3.11: De uitvoer van een ´e´endimensionale regressieboom voorgesteld door een stuksgewijs-constant model dat de natuurlijk logaritme van de genormaliseerde oppervlakte mapt op de natuurlijk logaritme van de genormaliseerde prijs. Het partitioneren van de ingangsruimte (hier 1D) gebeurt door het volgen van de pijlen, dewelke traditioneel met takken van de boom weergegeven worden maar hier met pijlen. De laatste pijl die bij het doorlopen van de takken wordt bereikt, duidt de voorspelling van de uitgang aan.
3.5 Beslissingsbomen
3.5.2
36
Trainen van een regressieboom
Om nu bij het trainen van het model de partitionering van de trainset te verwezenlijken, wordt een kostenfunctie E vooropgesteld voor boom T . In dit onderzoek zal hiervoor de MSE gebruikt worden: E=
1 P
X
X
(yi
mc )2 ,
(3.33)
c2bladknopen(T ) i2c
waarbij P het aantal items in de trainset voorstelt en mc de voorspelling horende bij bladknoop c is, gegeven door mc =
1 X yi . nc
(3.34)
i2c
De partitionering van de trainset zal stapsgewijs gebeuren door telkens de kostenfunctie E te minimaliseren. Het verloop van dit proces wordt door algoritme 2 voorgesteld. 1 2
3
Start met een enkele knoop die alle punten bevat. Bereken mc en E. if 8 xi , xj in de knoop : xi = xj , i 6= j then stop else Zoek over alle mogelijke binaire opsplitsingen van alle ingangsvariabelen naar diegene die de grootste reductie in E oplevert. if een stopconditie bepaald door de hyperparameters is bereikt then stop else Voer de splitsing door, maak twee nieuwe knopen aan. end Ga naar 1 voor elke nieuwe knoop. Algorithm 2: Partitionering van de ingangsruimte bij regressiebomen Elk recursief algoritme heeft een stopcriterium nodig. In deze context betekent dit een conditie waarbij we stoppen met knopen verder op te splitsen. Uiteraard zal het algoritme automatisch stoppen als elke knoop slechts ´e´en datapunt meer bevat, maar door elk voorbeeld een eigen bladknoop te geven leer je de trainset van buiten en zal het onwaarschijnlijk zijn dat het model goed generaliserend werkt voor nieuwe data. Dit kan opgelost worden door de complexiteit van het model te beperken door stopcriteria in te stellen aan de hand van hyperparameters. Er zijn verschillende stopcriteria mogelijk in de vorm van hyperparameters. Shalizi (2009) maakt gebruik van een eerste stopcriterium waarbij het algoritme stop met opsplitsen van knopen als de vermindering van E kleiner is dan een bepaalde , en een tweede stopcriterium die een minimaal aantal punten per bladknoop oplegt. In dit onderzoek zal dit laatste stopcriterium gebruikt worden in combinatie met een stopcriterium dat een maximale boomdiepte oplegt voor de regressieboom.
3.5 Beslissingsbomen
37
Om voor deze hyperparameters een goede waarde te vinden die een generaliserende regressieboom zal geven passen we opnieuw kruisvalidatie toe volgens figuur 3.2. De parameterwaarden worden gekozen bij de combinatie die een minimale kruisvalidatiefout op basis van de MAPE geeft. Tenslotte trainen we het model op de totale trainset met deze parameterwaarden en testen we op de testset. Voor dit onderzoek gebruiken we de SimpleTreeLearner implementatie uit de Python module Orange 9 . Deze implementatie traint de regressieboom op basis van de MSE en geeft de mogelijkheid om de twee vooropgestelde hyperparameters in te stellen.
9
De Orange module voor Python is te vinden op de website: http://orange.biolab.si/doc/
ONDERZOEKSRESULTATEN
38
Hoofdstuk 4
Onderzoeksresultaten In dit hoofdstuk worden de vier besproken technieken met elkaar vergeleken op basis van hun resultaten bij het voorspellen van vastgoedprijzen in Manhattan. Eerst onderzoeken we de invloed van de verschillende determinanten. Op basis van onze bevindingen stellen we drie reeksen van determinanten samen. Vervolgens optimaliseren we elke techniek. Deze modellen vergelijken we dan met elkaar op hun globale prestatie en vervolgens op hun prestatie bij specifieke deelgroepen van de dataset. Tenslotte vergelijken we de prestaties van de modellen uit deze masterproef met de marktleider in modelmatige waardebepaling te New York.
4.1
Selectie van de determinanten
In hoofdstuk 2 werd de bekomen dataset uiteengezet. In tabel 2.2 is te zien dat de beschikbare determinanten uit de dataset bestaan uit vijf primaire determinanten (“wijk”, “buurt”, “aantal slaapkamers”, “aantal badkamers” en “oppervlakte”) en 31 randfaciliteiten (“lift”, “portier”, “parkeerplaats”, “huisdieren toegelaten”, . . . ). Intu¨ıtief voelen we aan dat deze primaire determinanten meer invloed1 op de prijs zullen hebben dan de randfaciliteiten. We kiezen ervoor om hierop gebaseerd twee reeksen van determinanten te kiezen. De ene bestaat uit de vijf primaire determinanten2 terwijl de andere alle 36 determinanten bevat. Een derde reeks determinanten wordt samengesteld uit de vijf primaire determinanten aangevuld met de meest relevante determinanten van de 31 randfaciliteiten. Om de relevante determinanten te vinden worden twee mogelijke pistes beschouwd. Als eerste mogelijkheid kan de selectie gebeuren op basis van de technieken lineaire regressie (LR) en Gaussiaanse processen (GP). Dit is mogelijk door de gewichtenvector w⇤ bij LR te beschouwen en te kijken naar het gewicht bij elke determinant (wat overeenkomt met een di1
Dit zal bevestigd worden door resultaten verder in dit hoofdstuk. Om deze keuze te gronden werd een reeks experimenten uitgevoerd waarbij werd gekeken naar de invloed van ´e´en van de vijf determinanten op de prestatie. Hiervoor werd telkens ´e´en van de vijf determinanten weggelaten en de prestatie vergeleken met de prestatie bij alle vijf de determinanten. Alle vijf determinanten bleken een verbetering van de prestatie te geven. 2
4.1 Selectie van de determinanten
39
mensie van de ingang x). Een groter gewicht bij een bepaalde ingangsdimensie betekent meer invloed van deze determinant op de prijsvoorspelling. Merk op dat als we de relevantie van de verschillende determinanten willen vergelijken met elkaar, de grootte van de invoer van elke determinant genormaliseerd moet worden. Indien we dit niet doen zou bijvoorbeeld de oppervlakte in een andere grootteorde in het model toekomen dan het aantal badkamers. Stel nu dat beide determinanten een even groot belang zouden hebben bij de prijsbepaling, dan zou het lineair model toch een groter gewicht toekennen aan het aantal badkamers om de grootteorde van deze ingangsdimensie te compenseren tegenover deze van de oppervlakte. Bij GP kan op een gelijkaardige wijze de relevantie van elke ingangsdimensie achterhaald worden. Dit is mogelijk door gebruik te maken van ARD. Hierbij wordt aan elke ingangsdimensie xd een karakteristieke lengteschaal ld toegekend als hyperparameter. Deze lengteschalen worden automatisch aan de voorbeelden aangepast door het model. De relevantie van een ingangsdimensie kan gevonden worden door deze lengteschaal te bekijken. Hoe kleiner de lengteschaal van een ingangsdimensie, hoe relevanter de ingangsdimensie is bij het voorspellen. Figuur 4.1 geeft conform bovenstaande uitleg voor beide technieken de relevantie van elke determinant bij een voorspelling van de prijs op basis van alle determinanten. Bij GP wordt 1/ld voorgesteld als maat voor relevantie van elke determinant. Bij LR wordt de relevantie voorgesteld door de absolute waarde van het gewicht wd 2 w⇤ voor determinant xd . Meteen valt op dat de eerste vijf determinanten volgens beide modellen een niet te verwaarlozen relevantie hebben, terwijl de meeste randfaciliteiten onbelangrijk zijn. Bij zowel LR als GP komen de locatie, het aantal badkamers en oppervlakte van de appartementen er uit als belangrijkste determinanten. Relevantie van de determinanten volgens GP en LR 0.8 0.7 Relevantie
0.6 0.5
GP LR
0.4 0.3 0.2
Duplex
Triplex
Penthouse
Platform
Binnenkoer
Tuin
Dakplatform
Balkon
Jaccuzi
Open haard
Loft
Terras
Bemeubeld
Vaatwasmachine
Airconditioning
Recreatie faciliteiten
Wasmachine en droogkast
Wasserijdienst
Ecologisch gebouw
Zwembad
Conci rge
Parkeerplaats
Fitness
Logistieke service
Koelruimte
Opbergruimte
Lift
Huisdieren toegelaten
Fietsenkamer
Portier
Virtuele portier
Oppervlakte
Aantal badkamers
Aantal slaapkamers
Wijk
0
Buurt
0.1
Determinanten
Figuur 4.1: De relevantie van elke determinant volgens ARD bij Gaussiaanse processen en volgens de gewichten bij lineaire regressie.
4.1 Selectie van de determinanten
40
Aangezien GP en LR volgens figuur 4.1 het niet volledig eens zijn over het belang van alle determinanten zal de selectie van de belangrijkste randfaciliteiten op een alternatieve wijze gebeuren, namelijk op basis van een reeks experimenten. De vijf eerste determinanten worden gebruikt, in combinatie met ´e´en extra determinant van de 31 randfaciliteiten om de prijs te voorspellen. We selecteren uiteindelijk deze determinanten die een verbetering van minstens 1% geven op de prijsvoorspelling door LR ofwel door GP. Er blijken vier determinanten te voldoen aan dit selectiecriterium zodat de derde reeks determinanten bestaat uit de eerste vijf determinanten samen met deze vier meest relevante randfaciliteiten: “portier”, “virtuele portier”, “wasmachine en droogkast” en “parkeerplaats”. Het is wel zo dat het selectiecriterium een verbetering van 1% bij minstens ´e´en techniek vereiste, waardoor het in de praktijk voorkwam dat bijvoorbeeld een bij GP geselecteerde determinant geen verbetering gaf bij LR. Hierdoor zal deze nieuwe reeks determinanten geen garantie bieden voor een betere prestatie dan bijvoorbeeld de reeks met enkel de eerste vijf determinanten. In wat volgt zullen de modellen steeds voor deze drie reeksen van determinanten uitgewerkt en vergeleken worden. We zullen verwijzen naar de reeksen door het aantal determinanten dat de reeks bevat. Zo wordt naar de laatst gekozen reeks verwezen als de reeks met negen determinanten.
4.2 Optimalisatie van de vier technieken
4.2 4.2.1
41
Optimalisatie van de vier technieken Trainset en testset
In sectie 3.1.2 werd besproken waarom en hoe de techniek van kruisvalidatie zal toegepast worden om de modelparameters te optimaliseren. De bedoeling hiervan is om het model zo generaliserend mogelijk te maken zodat het overfitten van de trainset wordt vermeden en het model zo goed mogelijk werkt bij ongeziene data. Om dit mogelijk te maken wordt een achtvoudige kruisvalidatie toegepast volgens figuur 4.2 waarbij de modelparameters gekozen worden bij een minimale kruisvalidatiefout. Bij het berekenen van de kruisvalidatiefout zal telkens de MAPE (zie sectie 3.1.1) als foutmaat gebruikt worden. De trainset en de testset bestaan uit respectievelijk achthonderd en 159 appartementen. 1
Train
2
Validatie
3 4 5 6 7 8 Totale trainset
Testset
Totale dataset 0
100
200
300
400
500
600
700
800
959
items
Figuur 4.2: Verdeling in partities van de dataset bij kruisvalidatie.
Van zodra elke techniek geoptimaliseerd is worden de beste parameters gebruikt om het model te trainen op de volledige trainset om vervolgens te testen op de testset die compleet ongeziene data bevat. Om de technieken onderling te vergelijken baseren we ons op de kruisvalidatiefout. De testfout is hiervoor minder geschikt aangezien deze per toeval een bepaalde techniek beter kan liggen dan de andere technieken. De testfout geeft echter wel een goede indicatie van de robuustheid van het model aangezien ze de prestatie reflecteert op het voorspellen van compleet ongeziene data. Hierdoor zullen we de testfout steeds beschouwen als een maat voor de betrouwbaarheid van het model. Bij elk model zal telkens de kruisvalidatiefout, de testfout en de totale trainfout voorgesteld worden in staafdiagrammen. De totale trainfout geeft de fout van het finaal bekomen model bij het voorspellen van de volledige trainset. Deze fout zal gebruikt worden als een indicatie voor het al dan niet overfitten van de data. In het geval dat de totale trainfout veel kleiner is de kruisvalidatiefout en de testfout dan is er sprake van overfitten.
4.2 Optimalisatie van de vier technieken
4.2.2
42
Lineaire regressie (LR)
Het eerste en eenvoudigste model dat we zullen behandelen is lineaire regressie. Concreet wordt ridge regressie toegepast volgens sectie 3.2.2. Bij ridge regressie wordt de optimale gewichtenvector w⇤ bepaald door de kostenfunctie E(w) (formule 3.8) te minimaliseren voor een gegeven trainset met voorbeelden. Deze kostenfunctie E(w) bevat een parameter , de regularisatieco¨effici¨ent, die de complexiteit van het model regelt en dus overfitten kan beperken bij een goede keuze van deze parameter. Regularisatieparameter
optimaliseren
Om een gepaste waarde voor te vinden stellen we een voldoend uitgebreide reeks -waarden voorop en passen we een achtvoudige kruisvalidatie toe voor elk van deze waarden. De -waarde die de laagste kruisvalidatiefout geeft kiezen we om het finaal model mee te trainen. Voor de reeks {10 13 , 10 12 , . . . , 103 , 104 } wordt de beste kruisvalidatie voor elke reeks van determinanten bekomen bij = 10. Prestatie van LR op de drie reeksen van determinanten Aangezien voor elke reeks van determinanten dezelfde optimale parameterwaarde = 10 werd bekomen door middel van kruisvalidatie op de trainset, wordt nu de totale trainset met deze regularisatieco¨effici¨ent getraind. De totale trainfout, de beste kruisvalidatiefout en de testfout worden voor elke reeks van determinanten voorgesteld in figuur 4.3.
LR - prestaties per reeks van determinanten 0.250 0.240 0.230
0.243
0.239
0.238
0.238
0.234
0.220 MAPE
0.210
0.223 0.213
0.214 0.210
0.200
totale trainfout kruisvalidatiefout testfout
0.190 0.180 0.170 0.160 0.150 5 determinanten
9 determinanten Reeks van determinanten
36 determinanten
Figuur 4.3: De prestaties van het best bekomen LR per reeks van determinanten. drie reeksen van determinanten.
= 10 bij de
In figuur 4.3 is te zien dat de kruisvalidatiefout van elke reeks rond een MAPE van 24% ligt en minimaal is bij de reeks van 36 determinanten. Theoretisch zou men dan kunnen conclu-
4.2 Optimalisatie van de vier technieken
43
deren dat men met ridge regressie beter de prijs kan voorspellen op basis van de reeks met 36 determinanten, al is dit hier niet direct het beste antwoord. Zowel de kruisvalidatiefout als de testfout neemt nagenoeg dezelfde waarde aan bij alle reeksen van determinanten en bovendien is de kruisvalidatiefout dan wel de kleinste bij de reeks met 36 determinanten terwijl de testfout hier tegelijkertijd de grootste is. Vergelijken we nu de prestaties van de reeksen met vijf en negen determinanten, dan kunnen we opmerken dat de geselecteerde verzameling van relevante randfaciliteiten wel degelijk tot een betere voorspelling leidt. Een verbetering van 0.004 op de kruisvalidatiefout en 0.003 op de testfout wordt verwezenlijkt door deze vier additionele randfaciliteiten. Beschouwen we nu de reeks met 36 determinanten dan zien we dat het model tegenover de reeks met negen determinanten er maar in slaagt om de kruisvalidatiefout met 0.001 te reduceren terwijl het op de testset zelfs 0.004 slechter scoort. We zien dus dat LR geen significante verbetering in de voorspelling kan verwezenlijken op basis van de 27 overige randfaciliteiten. Ook interessant om op te merken is het feit dat de testfout systematisch lager blijkt te zijn dan de kruisvalidatiefout. Een mogelijke verklaring hiervoor is het feit dat de kruisvalidatiefout een fout is die gemiddeld gezien berekend wordt op het testen van een validatieset van honderd items waarbij het model steeds wordt getraind op een trainset van zevenhonderd items, terwijl de testfout een fout is bij het voorspellen van 159 items in de testset met een model dat getraind is op de totale trainset van achthonderd items. Het model heeft dus meer voorbeelden gezien en kan hierdoor beter presteren. We besluiten dat LR geen waardevolle informatie kan halen uit de 27 randfaciliteiten die bijkomstig zijn bij de derde reeks, en deze informatie dus overbodig is voor het model. De vier geselecteerde randfaciliteiten bieden wel een meerwaarde tegenover het model bij de reeks van vijf determinanten, maar deze meerwaarde is redelijk beperkt.
4.2 Optimalisatie van de vier technieken
4.2.3
44
Gaussiaanse processen (GP)
Het tweede model dat we behandelen is Gaussiaanse processen. Dit is een veelbelovende techniek die ook niet-lineaire verbanden kan modelleren en de zekerheid kan geven waarmee het voorspellingen doet. In hoofdstuk 3 werd de techniek theoretisch uiteengezet en bovendien werden er al details van het optimalisatieproces behandeld. Voor de toepassing van Gaussiaanse processen maken we gebruik van de Gaussian Processes for Machine Learning (GPML) Toolbox voor Matlab. Keuze van m(x) en k(x, x0 ) Om een Gaussiaans proces op te stellen moeten we eerst een gemiddeldenfunctie m(x) en een covariantiefunctie k(x, x0 ) als prior kiezen. In sectie 3.3.3 hebben we deze keuze reeds besproken. De gemiddeldenfunctie werd als m(x) = 0 gekozen en bovendien kozen we voor ARD waarbij als covariantiefunctie de volgende SE kernel gebruikt wordt: k(x, x0 ) = exp
⇢
D
1 X (xd x0d )2 . 2 ld2
(4.1)
d=1
Deze kernel bevat voor elke ingangsdimensie d een hyperparameter ld welke we de karakteristieke lengteschaal noemen. De GPML toolbox zal bij een manueel instelbare initialisatie van ld -waarden deze waarden beter afstellen in functie van een minimalisatie van de log marginal likelihood door middel van de conjugate gradients optimiser. Als aantal iteraties stellen we steeds 200 in. Empirisch bleek dit aantal iteraties ruimschoots voldoende te zijn om tot convergentie te komen. Aangezien het log-marginale oppervlak niet-convex is moeten we opletten dat we niet terecht komen in een lokaal minimum. Om te verifi¨eren of we een globaal minimum bereikt hebben zullen we verschillende ld waarden initialiseren en telkens de kruisvalidatiefout berekenen. We initialiseren uiteindelijk de ld waarden die de laagste kruisvalidatiefout geven. De resultaten hiervan staan in tabel 4.1 vermeld. Bij de reeksen met vijf, negen en zesendertig determinanten initialiseren we ld respectievelijk op “1”,“20” en “10”. Na deze initialisatie zal de conjugate gradients optimiser alle ld -waarden automatisch verfijnen voor elke dimensie van de ingangsruimte. ld 0.1 1 10 20 100
5 determinanten
9 determinanten
36 determinanten
0.241 0.228 0.233 0.233 0.233
0.256 0.223 0.225 0.220 0.223
0.595 0.255 0.216 0.216 0.219
Tabel 4.1: De kruisvalidatiefouten (MAPE) voor een verschillende keuze van de hyperparameters ld bij de covariantiefunctie, en dit voor elke reeks van determinanten.
4.2 Optimalisatie van de vier technieken
45
Prestatie van GP op de drie reeksen van determinanten Bij elke reeks worden nu de beste hyperparameterwaarden ingesteld om de volledige trainset te trainen en de proef op de som te nemen met de testset. De resultaten hiervan worden in figuur 4.4 voorgesteld. GP - prestaties per reeks van determinanten 0.250 0.240 0.230 0.228 0.220
0.220
0.216
MAPE
0.210 0.200
0.206 0.200
0.190 0.180
0.198
0.198 0.187
totale trainfout kruisvalidatiefout testfout
0.170 0.160
0.155
0.150 5 determinanten
9 determinanten Reeks van determinanten
36 determinanten
Figuur 4.4: De prestaties van het best bekomen GP per reeks van determinanten. De hyperparameters ld werden voor de reeksen ge¨ınitialiseerd op respectievelijk “1”,“20” en “10”.
We zien op de figuur dat de kruisvalidatiefout rond een MAPE van 22% ligt over alledrie de reeksen. Het toevoegen van de vier geselecteerde randfaciliteiten bij de primaire determinanten geeft verbetering van 0.008 op de kruisvalidatiefout. Als hierbij nog de overige 27 randfaciliteiten als determinanten worden toegevoegd kan de kruisvalidatiefout nog met 0.004 verbeterd worden tot een MAPE van 21.6%. Door het toevoegen van deze 27 overige randfaciliteiten wordt niet alleen de kruisvalidatiefout verbeterd, maar bovendien ook de testfout met 0.008. We concluderen dat GP voordeel kan halen uit de randfaciliteiten om een betere voorspelling van de prijs te verwezenlijken.
4.2 Optimalisatie van de vier technieken
4.2.4
46
Neurale netwerken (MLP)
Als derde model zullen we neurale netwerken toepassen. Er wordt een MLP opgesteld met ´e´en tussenlaag waarvan we moeten onderzoeken welk aantal neuronen het beste resultaat geeft. Concreet zullen we een optimalisatie uitvoeren voor het aantal neuronen in de tussenlaag uit de reeks {5, 10, 20, 50, 100, 250, 500}, en dit voor elke reeks van determinanten. Voor elke configuratie wordt het aantal iteraties bepaald dat de kleinste kruisvalidatiefout geeft. Deze instelling geeft dan de optimale complexiteit die het probleem van overfitten kan vermijden (zie figuur 3.1 en sectie 3.4.3). Bovendien zullen we het model zowel met bias- als zonder biasingangen3 uitvoeren om te kijken wat de invloed hiervan is en welke keuze we hieromtrent best maken. Het aantal iteraties Regularisatie doen we hier door experimenteel het aantal iteraties te bepalen waarbij een minimale kruisvalidatiefout wordt bekomen en vervolgens het iteratief optimalisatieproces dat de gewichten aanpast te be¨eindigen na dit aantal iteraties. Figuur 4.5 geeft het verloop van de kruisvalidatiefouten per neuronenconfiguratie in functie van het aantal iteraties bij de reeks met vijf determinanten weer. Het verloop bij de andere twee reeksen van determinanten staat op figuur A.1 voorgesteld. De kruisvalidatiefout bij de reeks met negen determinanten bleek ongewoon hoog te zijn voor meer dan honderd neuronen in de tussenlaag. Ten voordele van de duidelijkheid van de andere configuraties werden deze curven niet voorgesteld op de figuur. MLP - 1 tussenlaag - zonder bias - 5 determinanten 0.270 0.265
kruisvalidatiefout
0.260 0.255
5 neuronen 10 neuronen 20 neuronen 50 neuronen 100 neuronen 250 neuronen 500 neuronen
0.250 0.245 0.240 0.235 0.230 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 # iteraties
Figuur 4.5: De kruisvalidatiefout voor elke MLP configuratie van het aantal neuronen in de tussenlaag in functie van het aantal iteraties gebruikt voor training, en dit voor de reeks van vijf determinanten. 3
Er worden biasingangen gebruikt enkel indien dit expliciet vermeld wordt. De invloed van deze biasingangen wordt namelijk in een sectie besproken en deze sectie komt tot de conclusie dat we geen biasingangen zullen gebruiken voor de rest van de modellen.
4.2 Optimalisatie van de vier technieken
47
Op figuur 4.5 zien we dat zo goed als alle neuronenconfiguraties een minimale kruisvalidatie behalen in minder dan duizend iteraties. De configuraties met tien en twintig neuronen behalen dit minimum dan nog niet, maar we merken op dat deze curven niet de indruk geven dat ze nog sterk gaan dalen. Op deze figuur zien we dat de configuratie met vijftig neuronen in de tussenlaag de beste kruisvalidatiefout geeft bij een relatief beperkt aantal iteraties. Het aantal neuronen in de tussenlaag In figuur 4.6 worden voor elke reeks van determinanten de prestaties weergegeven voor alle neuronenconfiguraties bij het desbetre↵end optimaal aantal iteraties. Sommige neuronenconfiguraties presteren erg slecht en voor de duidelijkheid gebruiken we toch een redelijke schaling waarbij we de normale resultaten van de rest toch goed kunnen observeren. De staven van de slechtpresterende waarden worden afgebroken en de bijhorende waarde wordt dan boven de grafiek vermeld. Laten we beginnen bij de reeks met vijf determinanten. We zien dat de beste resultaten worden bekomen bij de configuratie met vijftig neuronen, zowel op basis van de kruisvalidatiefout als de testfout. Deze configuratie behouden we dus voor de reeks met vijf determinanten. Over het algemeen liggen de prestaties van alle neuronenconfiguraties dicht bij elkaar. We zien ook dat de trainfout daalt naarmate de complexiteit van het model toeneemt, wat hier overeenkomt met een toenemend aantal neuronen in de tussenlaag. Beschouwen we nu de reeks met negen determinanten, dan zien we dat de beste prestatie behaald wordt bij tien neuronen in de tussenlaag. Bij de reeks met zesendertig determinanten geeft de configuratie met vijf neuronen in de tussenlaag de laagste kruisvalidatiefout. We merken bij deze twee reeksen op dat de prestatie slechter wordt naarmate er meer neuronen in de tussenlaag gebruikt worden. Dit fenomeen komt bovendien meer uitgesproken voor bij de reeks met zesendertig determinanten. Bij vijfhonderd neuronen bekomen we zelfs een extreme MAPE van 88200%. We kunnen dit fenomeen verklaren als volgt. De regularisatiemethode die we in deze masterproef gebruiken voor MLP’s bestaat uit het tijdig stoppen met trainen van de data. Hierbij gaan we ervan uit dat het model onderweg een generaliserende oplossing passeert. Uit deze resultaten blijkt dat dit niet het geval is bij een groot aantal neuronen. We zien bovendien dat de trainfout zeer klein is in deze gevallen. Hieruit concluderen we dat het model direct begint met het van buiten leren van de voorbeelden. Dit e↵ect is het meest uitgesproken bij een groot aantal neuronen en wordt nog versterkt bij het vergroten van de ingangsdimensies. Dit komt doordat het model bij deze topologie¨en meer capaciteit heeft om de voorbeelden van buiten te leren en nooit een generaliserende oplossing moet bedenken. Voor MLP’s met een groot aantal neuronen en een groot aantal ingangsdimensies is de gebruikte regularisatiemethode dus niet geschikt.
4.2 Optimalisatie van de vier technieken
48
MLP - 1 tussenlaag - zonder bias - 5 determinanten 0.252
0.248
0.250 0.237
0.230
0.229
0.236
0.232
0.232
0.231
0.228
MAPE
0.213
0.208
0.207
0.210
0.220
0.216
0.213 0.202
0.200
totale trainfout kruisvalidatiefout testfout
0.197 0.193
0.193
0.190
0.190
0.170
0.150 5
10
20 50 100 Aantal neuronen in tussenlaag
250
500
MLP - 1 tussenlaag - zonder bias - 9 determinanten
0.889
0.500 0.450 0.400
0.400
MAPE
0.361
0.348
0.350 0.300 0.238
0.250 0.208
0.227 0.202
0.200
0.236 0.218
0.192
0.222
0.181
totale trainfout kruisvalidatiefout testfout
0.259
0.247
0.239 0.219 0.194
0.179
0.150
0.170 0.124
0.100 5
10
20 50 100 Aantal neuronen in tussenlaag
250
500
MLP - 1 tussenlaag - zonder bias - 36 determinanten
882
40
196
37.1
30 20 10.4
MAPE
10 1.46 2.94
0.82 0.60
0
0.37 0.32 0.32
0.31 0.30
0.34
0.3 0.19
totale trainfout kruisvalidatiefout testfout
0.2
0.16 0.10 0.06
0.05
0.1
0.04
0.01
0.0 5
10
20
50 100 Aantal neuronen in tussenlaag
250
500
Figuur 4.6: De prestaties per reeks van determinanten voor een MLP met een bepaald aantal neuronen in de tussenlaag en zonder biasingangen.
4.2 Optimalisatie van de vier technieken
49
Bias of geen bias ingang Om de invloed van het toevoegen van biasingangen te onderzoeken wordt voor de reeks met negen determinanten een MLP geoptimaliseerd dat biasingangen bevat. Figuur 4.7 geeft de prestatie van dit model samen met de prestatie zonder biasingangen op dezelfde dataset weer. MLP - 1 tussenlaag - met bias - 9 determinanten 0.393
0.400
0.350 0.323
0.323
MAPE
0.300 0.275 0.260
0.250
0.233 0.212
0.233 0.233
0.232 0.208
0.229
0.216 0.200
totale trainfout kruisvalidatiefout testfout
0.243 0.211
0.199
0.200
0.172
0.165 0.139
0.150
0.125
0.100 5
10
20 50 100 Aantal neuronen in tussenlaag
250
500
MLP - 1 tussenlaag - zonder bias - 9 determinanten
0.889
0.500 0.450 0.400
0.400
MAPE
0.361
0.348
0.350 0.300 0.238
0.250 0.208
0.227 0.202
0.200
0.192
0.236 0.218 0.181
0.150
0.222
totale trainfout kruisvalidatiefout testfout
0.259
0.247
0.239 0.219 0.194
0.179
0.170 0.124
0.100 5
10
20 50 100 Aantal neuronen in tussenlaag
250
500
Figuur 4.7: De prestaties op de reeks met negen determinanten voor een MLP met een bepaald aantal neuronen in de tussenlaag, voor het geval met en zonder biasingangen.
We zien dat een MLP met biasingangen op de reeks met negen determinanten er beter in slaagt om een generaliserend resultaat te behalen bij een goot aantal neuronen. Het presteert dan wel beter bij deze grote complexiteit maar deze prestatie is nog steeds minder goed dan wat bij een kleiner aantal neuronen wordt bekomen. De beste prestatie wordt zowel voor de configuratie met als zonder biasingangen bekomen bij tien neuronen in de tussenlaag. De configuratie zonder biasingangen geeft een beter resultaat dan deze met biasingangen dus wordt er gekozen om de rest van de modellen zonder biasingangen te trainen. Voor verder onderzoek zou het interessant om telkens ook de resultaten met biasingangen te onderzoeken. Deze masterproef liet deze testen echter achterwege omwille van de rekentijd die hiervoor nodig is.
4.2 Optimalisatie van de vier technieken
50
Prestatie van MLP op de drie reeksen van determinanten Bij elke reeks van determinanten werd een geschikt aantal neuronen voor de tussenlaag gekozen. Figuur 4.8 geeft een overzicht van de behaalde prestaties bij elke reeks. De configuratie met biasingangen wordt ter vergelijking ook weergegeven op deze figuur. MLP - prestaties per reeks van determinanten 0.330
5 neuronen 200 iteraties
0.310 0.311 0.290 0.280
MAPE
0.270 0.250
50 neuronen 300 iteraties
10 neuronen 600 iteraties
0.231
0.227
0.230 0.210 0.190
0.202 0.193
10 neuronen 400 iteraties
totale trainfout kruisvalidatiefout testfout
0.232 0.218
0.216 0.200
0.192
0.198
0.170 0.150 5 determinanten
9 determinanten 9 determinanten met bias Reeks van determinanten
36 determinanten
Figuur 4.8: De prestaties van het best bekomen MLP per reeks van determinanten.
Het beste resultaat krijgen we bij de reeks met negen determinanten. Deze is 0.004 beter op basis van de kruisvalidatiefout dan de reeks met vijf determinanten. Dit wijst erop dat MLP voordeel kan halen uit de vier randfaciliteiten die werden toegevoegd bij de primaire determinanten. Anderzijds slaagt het MLP er niet in om deze prestatie te evenaren met alle zesendertig determinanten als ingang. Hierbij wordt slechts een kruisvalidatiefout behaald van 31.1%. Een verklaring hiervoor is dat het MLP hier meer ingangen heeft en dus meer parameters kan instellen. Dit zorgt ervoor dat het MLP beter data van buiten kan leren en door het groot aantal mogelijke ingangscombinaties heeft het geen nood om een generaliserende oplossing te bedenken maar leert het de data direct van buiten. Dit verklaart waarom de regularisatie onvoldoende werkt en de kruisvalidatiefout en testfout bij deze reeks hoger ligt dan bij de andere reeksen.
4.2 Optimalisatie van de vier technieken
4.2.5
51
Regressiebomen (RT)
Als vierde en laatste model behandelen we beslissingsbomen, meer bepaald regressiebomen. Ook hier dienen we de complexiteit van het model te controleren met behulp van parameters om zo het overfitten van de trainset te voorkomen. Om regressiebomen toe te passen maken we gebruik van de SimpleTreeLearner implementatie uit de Python module Orange. Optimale parameters bepalen Bij SimpleTreeLearner kunnen we twee parameters instellen die de complexiteit van het model controleren. Deze parameters defini¨eren de stopconditie van het proces waarin de invoerruimte wordt gepartitioneerd in gelijkaardige delen. Een volledige opsplitsing waarbij elk voorbeeld van de trainset een eigen bladknoop wordt toegekend is onwenselijk aangezien het model de trainset dan compleet van buiten geleerd heeft en slecht zal presteren op nieuwe ongeziene data. Een eerste parameter die we kunnen instellen om dit fenomeen te voorkomen is het opleggen van een minimum aantal items van de trainset dat elke bladknoop moet bevatten. De tweede parameter die we zullen gebruiken om de complexiteit van het model te beperken is de maximale boomdiepte. De boomdiepte wordt gedefini¨eerd als het maximum aantal knopen dat een voorbeeld bij het evalueren van een boom kan passeren alvorens in een bladknoop toe te komen. Optimalisatie van de regressieboom parameters - 5 determinanten
0.35 0.34
Kruisvalidatiefout
0.33 0.32 0.31 0.30 0.29 0.28 0.27 0.26 1
2
0.26-0.27
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Minimum instanties per bladknoop 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 16
0.27-0.28
0.28-0.29
0.29-0.30
0.30-0.31
0.31-0.32
0.32-0.33
0.33-0.34
1 4 7 10 13
Maximale boomdiepte
0.34-0.35
Figuur 4.9: Optimalisatie van de regressieboom bij de reeks van vijf determinanten. De figuur geeft de kruisvalidatiefout weer voor elke combinatie van de optimalisatieparameters. De ene as geeft het minimum aantal instanties per bladknoop terwijl de andere as de maximale boomdiepte geeft.
4.2 Optimalisatie van de vier technieken
52
We stellen nu een reeks mogelijke waarden voor elk van deze twee parameters voorop en doorlopen alle combinaties met kruisvalidatie om zo tot een te minimaliseren oppervlak te komen van kruisvalidatiefouten. Figuren 4.9 en A.2 geven dit te optimaliseren oppervlak voor elke reeks van determinanten. Elk van deze oppervlakken blijkt een globaal minimum te vertonen en de parameters die dit globaal minimum van de kruisvalidatiefout geven worden vervolgens gekozen om het model te trainen op de totale trainset en te testen op de testset. Prestatie van RT op de drie reeksen van determinanten De finale prestaties van de beste regressiebomen voor elke reeks van determinanten worden naast elkaar voorgesteld op figuur 4.10. RT - prestaties per reeks van determinanten 0.290 0.270
minimum instanties: 7 maximum diepte: 6
minimum instanties: 1 maximum diepte: 6
0.262
0.263
MAPE
0.250
minimum instanties: 5 maximum diepte: 7 0.258
0.230
0.231 0.218
0.210
0.211
0.206
totale trainfout kruisvalidatiefout testfout
0.190 0.185
0.188
0.170 0.150 5 determinanten
9 determinanten Reeks van determinanten
36 determinanten
Figuur 4.10: De prestaties van het best bekomen RT per reeks van determinanten.
We zien dat de kruisvalidatiefouten voor elke reeks van determinanten erg dicht bij elkaar liggen en dat de kleinste fout behaald wordt bij de reeks met zesendertig determinanten. Het blijkt ook dat de vier additionele randfaciliteiten bij RT zelfs tot een mindere prestatie leiden. Het is opmerkelijk dat de testfouten systematisch lager zijn dan de kruisvalidatiefouten. Dit is ook het geval bij het merendeel van de andere technieken dat we onderzochten maar hier is dit verschil substantieel groter. Dit kan er op wijzen dat het model mogelijk beter zou presteren indien we een grotere dataset gebruiken. De resultaten van de testset zijn immers gebaseerd op het trainen van achthonderd voorbeelden terwijl dit aantal bij de kruisvalidatiefout gemiddeld slechts zevenhonderd items bedraagt.
4.3 Vergelijking van de prestaties bij de vier technieken
4.3
53
Vergelijking van de prestaties bij de vier technieken
Nu de vier technieken op punt staan, kunnen we hun prestaties vergelijken per reeks van determinanten. Dit gebeurt in de eerstvolgende sectie. Vervolgens zullen we onderzoeken hoe elk model presteert op verschillende deelgroepen van de dataset. Om het hoofdstuk af te sluiten wordt de accuraatheid van de modellen op een andere manier ge¨evalueerd en tenslotte vergeleken met de referentie van modelmatige waardebepaling in de VS.
4.3.1
Globale prestaties
We zullen de prestatie van de verschillende technieken hieronder vergelijken op basis van de kruisvalidatiefout. De testfout beschouwen we als maat voor robuustheid van de modellen. Reeks met vijf determinanten Laten we als eerste geval de reeks met vijf determinanten beschouwen. Figuur 4.11 geeft voor elk model de beste prestatie bij deze reeks. Vergelijking van de modellen bij voorspelling op basis van 5 determinanten 0.270 0.262 0.250 0.243 0.230
0.238 0.231
MAPE
0.228 0.218
0.210
0.213 0.206 0.200
0.203
0.199
0.190
totale trainfout kruisvalidatiefout testfout
0.187 0.170
0.150 LR
GP
RT
MLP
Figuur 4.11: LR met = 10. GP met ld = 1. RT met minimum zeven instanties in elke bladknoop en een maximale boomdiepte zes. MLP met ´e´en tussenlaag met vijftig neuronen, zonder bias en getraind met driehonderd iteraties.
Op basis van zowel kruisvalidatiefout als de testfout kunnen we voor de reeks met de vijf primaire determinanten besluiten dat het bestpresterende model GP is, gevolgd door MLP en op de derde en vierde plaats respectievelijk LR en RT. De betere prestatie van GP en MLP ten opzichte van LR kunnen we mogelijk verklaren doordat deze modellen in staat zijn om niet-lineaire verbanden te modelleren terwijl LR per definitie lineair is. Het minder presteren van RT ten opzichte van de andere modellen kan liggen aan het feit dat het aantal mogelijke voorspellingswaarden gelijk is aan het aantal bladknopen, en aangezien we door parameters dit aantal beperkten om overfitten
4.3 Vergelijking van de prestaties bij de vier technieken
54
tegen te gaan is de resolutie van het voorspellen dus beperkt. Bij de andere drie modellen kan in functie van de ingangsruimte de uitgang volgens een continu verloop voorspeld worden. Reeks met negen determinanten Beschouwen we nu de reeks met negen determinanten, waarvoor de resultaten van elke techniek in figuur 4.12 samengevat wordt, dan merken we op dat de rangschikking van bestpresterende modellen niet verandert. We zien wel dat de kruisvalidatiefout voor alle technieken iets kleiner wordt. Alle technieken zijn het er dus mee eens dat de vier geselecteerde randfaciliteiten wel degelijk toelaten om een betere voorspelling te doen. Dit mag niet overroepen worden want de grootste verbetering op de kruisvalidatiefout die behaald wordt is slechts 0.008 door GP. Vergelijking van de modellen bij voorspelling op basis van 9 determinanten 0.270 0.263 0.250
0.230
0.239 0.234
MAPE
0.227 0.220 0.210
0.210
0.211
0.206
0.210
totale trainfout kruisvalidatiefout testfout
0.198
0.190
0.192 0.185
0.170
0.150 LR
GP
RT
MLP
Figuur 4.12: LR met = 10. GP met ld = 20. RT met minimum ´e´en instantie in elke bladknoop en een maximale boomdiepte zes. MLP met ´e´en tussenlaag met tien neuronen, zonder bias en getraind met zeshonderd iteraties.
Reeks met zesendertig determinanten Als laatste wordt de reeks met zesendertig determinanten beschouwd op figuur 4.13. We zien dat ook hier GP de beste kruisvalidatiefout behaalt, gevolgd door LR. De derde beste prestatie wordt door RT behaald zodat MLP het minst goed presteert. Het is zelfs zo dat elke techniek er in slaagt een betere prestatie te halen bij deze reeks ten opzichte van de andere reeksen, behalve MLP die het een stuk slechter doet. Hiervoor werd reeds een verklaring gegeven in sectie 4.2.4, namelijk doordat de regularisatiemethode niet goed werkt hier waardoor het MLP de voorbeelden direct van buiten leert.
4.3 Vergelijking van de prestaties bij de vier technieken
55
Vergelijking van de modellen bij voorspelling op basis van 36 determinanten 0.310
0.311
0.290 0.280
MAPE
0.270 0.258
0.250
0.210
totale trainfout kruisvalidatiefout testfout
0.238
0.230
0.231 0.223
0.216
0.214
0.198
0.198
0.190
0.188 0.170 0.155 0.150 LR
GP
RT
MLP
Figuur 4.13: LR met = 10. GP met ld = 10. RT met minimum vijf instanties in elke bladknoop en een maximale boomdiepte zeven. MLP met ´e´en tussenlaag met vijf neuronen, zonder bias en getraind met tweehonderd iteraties.
Bespreking Voor alle drie de reeksen van determinanten geeft GP op basis van de kruisvalidatiefout het beste resultaat. GP presteert bovendien het best bij de reeks met zesendertig determinanten, met een kruisvalidatiefout van 21.6%. MLP geeft voor de de reeksen van vijf en negen determinanten een validatiefout die van de andere modellen het dichtst in de buurt komt bij de prestatie van GP. De beste kruisvalidatiefout wordt bekomen bij de reeks met negen determinanten en bedraagt 22.7%. Voor de reeks met zesendertig determinanten zijn de resultaten voor MLP echter veel slechter. Dit is vermoedelijk te wijten aan een verkeerde keuze van regularisatiemethode. MLP kan wellicht beter presteren dan in dit onderzoek behaald werd. Als derde beste techniek komt LR aan bod. Deze techniek haalt zijn beste kruisvalidatiefout met 23.8% bij de reeks met zesendertig eigenschappen. De prestatieverbetering op de kruisvalidatiefout tegenover de reeks met vijf determinanten bedraagt bij LR slechts 0.005 tegenover 0.012 bij GP. De minst presterende techniek is RT, met een beste resultaat van 25.8% op de kruisvalidatiefout behaald bij de reeks met zesendertig determinanten. Dit is 0.052 minder goed op de kruisvalidatiefout dan GP kan verwezenlijken. Een mogelijke verklaring voor de mindere prestatie van RT is de beperkte resolutie van de voorspelling. Tegenover alle andere technieken kan de voorspelde prijs hier slechts een beperkt aantal waarden aannemen. Dit aantal komt overeen met het aantal bladknopen in de regressieboom. Globaal bekeken kunnen we dus stellen dat de niet-lineaire modellen GP en MLP betere resultaten bekomen in dit onderzoek dan lineaire regressie. Het is nuttig om hierbij ook de keerzijde
4.3 Vergelijking van de prestaties bij de vier technieken
56
van de medailles te bespreken. Tegenover de eenvoud en makkelijke interpreteerbaarheid van LR zijn GP en MLP complexere modellen waarbij expertise vereist is om goede resultaten te bekomen. Bovendien is het optimaliseren van deze modellen een erg rekenintensief probleem. Bij GP moet steeds de covariantiematrix met een dimensie zo groot als de trainset berekend worden en hiervan de inverse genomen worden. Bij MLP’s moet de optimale iteratiehoeveelheid experimenteel bepaald worden, in functie van het aantal neuronen. Deze experimenten bevatten een iteratieve gradi¨ent-methode waardoor het behoorlijk wat rekenkracht vergt vooraleer de eerste voorspellingen kunnen gemaakt worden. Dit is heel wat werk om een verbetering van slechts 0.022 op de kruisvalidatiefout door GP tegenover LR te bekomen. Als we nu de invloed van de keuze van determinanten evalueren dan zien we dat, tegenover de vijf primaire determinanten, het toevoegen van de randfaciliteiten tot een verbetering van de prestatie leidt. Deze relatieve verbetering bij GP bedraagt 5.26%. Het is interessant hier toch een opmerking over te maken. Deze verbetering is zeker niet slecht, maar we mogen niet uit het oog verliezen dat hiervoor kennis van 31 determinanten nodig is voor elk appartement uit de dataset. Gezien het feit dat niet voor alle appartementen op de markt deze randfaciliteiten gekend zijn is het een kwestie van afwegen of we een iets betere prestatie op een kleiner aantal in aanmerking komende appartementen wensen, of liever een iets mindere prestatie bekomen maar dan wel van toepassing op een veel breder gamma van appartementen. Het is bovendien goed mogelijk dat de prestatie verbetert als er een groter aantal appartementen wordt gebruikt om het model te trainen.
4.3.2
In detail
In deze sectie zal onderzocht worden hoe de voorspellingsfout afhangt van verschillende specifieke deelgroepen waarin een appartement zich kan bevinden. Hiervoor beperken we ons tot de dataset met de negen meest relevante determinanten. De verschillende deelgroepen die worden onderzocht zijn de verschillende oppervlakteklassen, prijsklassen en wijken waartoe een appartement kan behoren. Ook het aantal badkamers wordt onderzocht. Een kritische opmerking moet hierbij gemaakt worden, namelijk dat het gevaarlijk is om veralgemeende besluiten te trekken uit observaties aangezien niet alle klassen evenveel vertegenwoordigd worden in de dataset. Als een model slechts enkele voorbeelden kreeg uit een bepaalde klasse, dan mogen we niet zomaar besluiten dat het niet goed is in het voorspellen van appartementen die in deze klasse horen als het model slecht presteert voor deze klasse. Om hierover duidelijkheid te scheppen geven we bij elke figuur met prestaties telkens ook de distributie weer van de klassen zodat we zien over welke klassen we een gegronde conclusie mogen trekken en bij welke klassen we niet zomaar mogen concluderen.
4.3 Vergelijking van de prestaties bij de vier technieken
57
Prestaties bij verschillende oppervlakteklassen Als eerste opdeling van de dataset zullen we het criterium oppervlakte gebruiken. We verdelen het totaal bereik van oppervlakte in de dataset op in elf klassen waarvan de eerste tien telkens een bereik van 50m2 omspannen en de laatste klasse de breder genomen werd omdat er weinig appartementen zo grote oppervlaktes hebben. Vergelijking van de trainfout bij verschillende oppervlakteklassen 0.500 0.450 0.400
MAPE
0.350 0.300
LR GP RT MLP
0.250 0.200 0.150 0.100 0.050 0.000 [0,50[
[50,100[
[100,150[ [150,200[ [200,250[ [250,300[ [300,350[ [350,400[ [400,450[ [450,500[ [500,700[
Oppervlakteklasse [m2] Cirkeldiagram het aantal appartementen in de trainset bij elke oppervlakteklasse
[150,200[, 125 [200,250[, 56 [450,500[, 7
[250,300[, 36 [300,350[, 22 [100,150[, 222
[500,700[, 3 Other, 24
[400,450[, 5 [0,50[, 7
[350,400[, 9
[50,100[, 308
Figuur 4.14: Vergelijking van de voorspellingsfout van de modellen op de trainset voor verschillende oppervlakteklassen samen met de distributie van de klassen.
Om te beginnen onderzoeken we de trainset, waarvan de distributie op de tweede afbeelding van figuur 4.14 wordt weergegeven. Het observeren van de trainfout leert ons hoe goed de technieken er in slagen om de voorbeelddata te modelleren4 . We zien dat het grootste deel van de appartementen in de trainset een oppervlakte hebben tussen 50m2 en 350m2 . Dit wordt ook gereflecteerd door de grafiek die de trainfout weergeeft in functie van de oppervlakteklassen 4
We houden hierbij in het achterhoofd dat de modellen geoptimaliseerd werden zodanig dat overfitten wordt vermeden zodat op nieuwe data toch goed wordt gepresteerd. Als het doel is om enkel de trainset te modelleren dan zouden we natuurlijk een andere figuur krijgen.
4.3 Vergelijking van de prestaties bij de vier technieken
58
doordat we over de klassen in dit bereik een redelijk constant verloop zien van de trainfout. Als we specifiek LR observeren dan houdt de grafiek steek: de trainfout bij het grootste deel van de voorbeelden, tussen 50m2 en 300m2 , is redelijk constant aangezien de lineaire benadering van de data hoofdzakelijk door deze datapunten werd bepaald. De volgende drie klassen geven een steeds grotere trainfout omdat ze gemiddeld meer afwijken van de lineaire benadering. De laatste twee klassen doen het dan weer beter omdat de gekwadrateerde fout tussen de voorspelde en echte prijs bij grotere prijsklassen meer impact had bij het optimalisatieproces van het lineair model. We laten voor de rest van de bespreking van de trainfout LR buiten beschouwing. Als we de eerste klasse beschouwen, waarbij de oppervlakte kleiner dan 50m2 is, zien we dat alle modellen een heel lage fout geven bij de voorspelling van de prijs. Dit kan verklaard worden door het feit dat het absolute minimum van de oppervlakte over gans de trainset in realiteit 41m2 bedraagt waardoor de zeven voorbeelden in deze klasse slechts over een bereik van 9m2 gespreid zijn. Deze voorbeelden liggen dus allemaal dicht bij elkaar waardoor mogelijk de prijs ook dicht bij elkaar ligt en een fout op de voorspelling hiervan dus nooit groot wordt. Bij de klassen die het bereik tot 400m2 omvatten zien we globaal gezien bij de modellen onderling telkens een gelijkaardige verhouding van de trainfout. Bij de klasse [400m2 , 450m2 ] zien we een opmerkelijk verschil in trainfout tussen de modellen onderling. We zien dat LR, GP en RT een erg grote fout bij de voorspelling maken in deze klasse, terwijl MLP het opmerkelijk veel beter doet. Na de appartementen uit deze klasse te inspecteren blijkt dat er een enorme spreiding van de prijs is voor deze oppervlakteklasse. De prijs voor deze vijf voorbeelden varieert tussen $4.8M en $22M. Ter referentie zijn de prijzen bij de volgende klasse [450m2 , 500m2 ] gelegen tussen $4M en $14.5M. Het is dus begrijpelijk dat drie van de vier modellen een grote trainfout bij deze klasse geven aangezien de klasse uitschieters bevat. Het voorbeeld van $22M heeft hoogstwaarschijnlijk zijn hoge prijs te danken aan meer dan alleen zijn grote oppervlakte waardoor het zelfs niet interessant zou zijn voor de modellen om te leren van dit voorbeeld bij het bepalen van een verband tussen de oppervlakte en de prijs. Beschouwen we als laatste de twee oppervlakteklassen die de appartementen met de grootste oppervlaktes bevat, dan zien we dat LR hier veel minder goed de prijs kan voorspellen dan de rest. Dit valt te verklaren door het feit dat de andere drie modellen niet-lineaire modellen zijn en dus dit niet-lineair verband tussen de oppervlakte en de prijs kan modelleren. GP doet dit door de gemiddeldenfunctie in de regio van deze klassen aan te passen ten voordele van de trainvoorbeelden uit deze klassen. MLP doet dit door de gewichten tussen de neuronen aan te passen in functie van de niet-lineaire overdrachtsfunctie om zo dit niet-lineair gedrag te capteren. RT doet dit door zijn boomstructuur zodanig in te stellen dat de voorbeelden uit deze specifieke klasse bij een bepaalde bladknoop terechtkomen. Merk op dat bij de reeks van negen determinanten, dewelke we hier beschouwen, het RT model als parameter minimum ´e´en instantie als optimale parameterwaarde heeft gekozen. Dit maakt het in principe mogelijk om
4.3 Vergelijking van de prestaties bij de vier technieken
59
voor elk van de tien voorbeelden uit de laatste twee klassen een eigen bladknoop te voorzien. Dit werd in de praktijk echter waarschijnlijk niet gedaan want de voorspellingsfout is niet nul en de prijs hangt natuurlijk nog van andere determinanten af. Vergelijking van de testfout bij verschillende oppervlakteklassen 0.8 0.7 0.6
MAPE
0.5
LR GP RT MLP
0.4 0.3 0.2 0.1 0 [0,50[
[50,100[
[100,150[
[150,200[
[200,250[
[250,300[
[300,350[
[350,400[
[400,450[
[450,500[
[500,700[
Oppervlakteklasse [m2] Cirkeldiagram het aantal appartementen in de testset bij elke oppervlakteklasse
[150,200[, 24 [200,250[, 10 [250,300[, 5
[350,400[, 3
[100,150[, 50 [400,450[, 1 Other, 7
[300,350[, 3 [50,100[, 63
Figuur 4.15: Vergelijking van de voorspellingsfout van de modellen op de testset voor verschillende oppervlakteklassen samen met de distributie van de klassen.
Als tweede luik in deze bespreking behandelen we de testfout bij elke oppervlakteklasse. Figuur 4.15 geeft hierbij de prestaties en de distributie van de testset. De testset bevat tegenover de trainset slechts 159 items in plaats van achthonderd items. Dit zorgt er meteen voor dat de oppervlakteklassen die voorkomen een kleiner bereik omspannen. Het bereik is hier tussen 50m2 en 450m2 . Bij oppervlaktes tot 300m2 slagen alle modellen er in om vrij goed de prijs te kunnen voorspellen. Vanaf 300m2 begint de voorspelling slechter te gaan. Dit ligt waarschijnlijk aan het feit dat er gewoonweg minder voorbeelden beschikbaar zijn om in deze klassen het model te trainen. Bovendien zijn er bij deze klassen nog minder appartementen beschikbaar in de testset waardoor de kans groot is dat de gemiddelde testfout bij deze klassen deels bepaald werd door een uitschieter in de testset die anders is dan de voorbeelden uit de trainset.
4.3 Vergelijking van de prestaties bij de vier technieken
60
We merken op dat bij appartementen met een oppervlakte boven 300m2 , waarvan er slechts weinig zijn, LR relatief minder goed presteerde dan de niet-lineaire modellen maar dat bij de testfouten wel even goed en soms beter presteert als de niet-lineaire modellen. Dit kan verklaard worden door het beperkt aantal voorbeelden in deze klassen, waarbij de niet-lineaire modellen trachten deze niet-lineariteiten te modelleren maar om echt representatief te zijn voor deze klassen zouden ze meer voorbeelden beschikbaar moeten hebben. LR daarentegen past zijn model minder aan hiervoor waardoor het ook niet abnormaal zal reageren bij een nieuwe invoer van deze klassen. Prestaties bij verschillende prijsklassen Deze sectie zal een bespreking doen van de prestatie van de modellen bij verschillende prijsklassen. De bespreking wordt gedaan op basis van figuren 4.16 en 4.17. De dataset werd opgedeeld in prijsklassen per $1M met uitzondering van de laatste twee klassen die een groter bereik in prijs omvatten zodat er een zeker minimum aan appartementen bij elke klasse hoort. Vergelijking van de trainfout bij verschillende prijsklassen 0.450 0.400 0.350
MAPE
0.300 0.250
LR GP RT MLP
0.200 0.150 0.100 0.050 0.000 [0,$1M[
[$1M,$2M[
[$2M,$3M[
[$3M,$4M[
[$4M,$5M[
[$5M,$6M[
[$6M,$7M[ [$7M,$10M[ [$10M,$25M[
Prijsklasse [miljoen $] Cirkeldiagram het aantal appartementen in de trainset bij elke prijsklasse [$3M,$4M[, 70 [$4M,$5M[, 38
[$2M,$3M[, 104
[$5M,$6M[, 22 [$6M,$7M[, 17
[$1M,$2M[, 226
[$10M,$25M[, 21
Other, 37
[$7M,$10M[, 16 [0,$1M[, 286
Figuur 4.16: Vergelijking van de voorspellingsfout van de modellen op de trainset voor verschillende prijsklassen samen met de distributie van de klassen.
4.3 Vergelijking van de prestaties bij de vier technieken
61
Om te beginnen herinneren we ons aan het feit dat de foutmaat verhoudingsgewijs werd gedefinieerd in sectie 3.1.1. Dit werd ingevoerd omdat we er van uitgaan dat een fout van $10M op de voorspelling van de prijs van een appartement dat in werkelijkheid $100K kost, evenwaardig5 is als een fout van $1M op een appartement van $10M. Hierdoor kunnen we de fout op een voorspelling bij verschillende prijsklassen op een betekenisvolle manier vergelijken met elkaar op basis van deze foutmaat. Laten we opnieuw beginnen met de trainfout te bestuderen. De niet-lineaire modellen slagen er in om voor elke prijsklasse behalve de laatste een trainfout te behalen onder de 24% en voor de laatste klasse onder de 31%. Deze drie modellen kunnen elke prijsklasse dus vrij goed modelleren. Anderzijds heeft LR wel problemen bij bepaalde klassen. De laatste klasse kan LR bijvoorbeeld niet goed trainen. Dit heeft alweer te maken met het feit dat hier minder voorbeelden van beschikbaar zijn bij het trainen waardoor het lineair model zich voornamelijk aanpast aan de klassen die het merendeel van de voordelen bevat. Bij MLP speelt dit veel minder rol want we zien dat de trainfout bij de laatste klasse ongeveer het gemiddelde van de trainfouten over alle klassen is. Beschouwen we nu de testset (figuur 4.17) dan zien we een ongelijkmatiger verloop van de voorspellingsfout over de klassen. De onregelmatigheid is groter bij hogere prijsklassen wat alweer komt door het beperkt aantal appartementen in de trainset en testset bij deze klassen. Bij prijsklasse [$6M,$7M] bijvoorbeeld zien we een buitengewone prestatie voor alle modellen. Als we dit geval echter beter bekijken zien we direct dat deze buitengewone prestatie komt doordat deze klasse slechts ´e´en appartement bevat in de testset waardoor het een kwestie van goed geluk was dat dit appartement toevallig goed overeenstemt met de voorbeelden van de trainset waarop de modellen getraind werden.
5
Indien we bijvoorbeeld als foutmaat de MSE zouden vooropstellen, dan zou het model echter voor het tweede appartement als veel slechter beoordeeld worden omdat de absolute fout gekwadrateerd wordt bij de MSE.
4.3 Vergelijking van de prestaties bij de vier technieken
62
Vergelijking van de testfout bij verschillende prijsklassen 0.450 0.400 0.350
MAPE
0.300 0.250
LR GP RT MLP
0.200 0.150 0.100 0.050 0.000 [0,$1M[
[$1M,$2M[
[$2M,$3M[
[$3M,$4M[
[$4M,$5M[
[$5M,$6M[
[$6M,$7M[ [$7M,$10M[ [$10M,$25M[
Prijsklasse [miljoen $] Cirkeldiagram het aantal appartementen in de testset bij elke prijsklasse
[$4M,$5M[, 9
[$3M,$4M[, 11
[$5M,$6M[, 4
[$2M,$3M[, 26 [$10M,$25M[, 4 Other, 7 [$6M,$7M[, 1 [$7M,$10M[, 2 [$1M,$2M[, 43
Figuur 4.17: Vergelijking van de voorspellingsfout van de modellen op de testset voor verschillende prijsklassen samen met de distributie van de klassen.
Prestaties per wijk Als derde bespreking spitsen we ons toe op de verschillende wijken van Manhattan. Tegenover de vorige twee gevallen, waarin een continue variabele werd onderverdeeld in klassen, is hier de variabele de klasse zelf. Figuur 4.18 geeft de trainfout, testfout en de distributie van de klassen voor de trainset en de testset. Opnieuw zien we dat bepaalde klassen minder vertegenwoordigd zijn in de dataset dan andere klassen. Downtown bevat als wijk de meeste appartementen in de dataset terwijl Upper West weinig voorkomt. Bij het onderzoeken van de trainfout bij de verschillende wijken merken we op dat de wijken die het grootste deel vertegenwoordigen van de trainset goed kunnen gemodelleerd worden door alle technieken terwijl de wijken met minder voorbeelden door LR veel minder goed gemodelleerd kunnen worden dan de andere technieken. Concreet gaat het over de wijken Upper Manhattan en Upper West. Analoog aan de bespreking van de verschillende oppervlakteklassen kunnen we dit fenomeen verklaren door het feit dat LR een lineaire benadering over alle wijken opstelt terwijl
4.3 Vergelijking van de prestaties bij de vier technieken
63
Vergelijking van de trainfout per wijk 0.400 0.350 0.300
MAPE
0.250
LR GP RT MLP
0.200 0.150 0.100 0.050 0.000 Downtown
Midtown
Upper East
Upper Manhattan
Upper West
Wijk Aantal appartementen per wijk (testset)
Aantal appartementen per wijk (trainset)
Upper West, 9
Upper West, 9
Upper Manhattan, 17
Upper Manhattan, 95 Downtown, 311
Downtown, 62
Upper East, 125 Upper East, 35
Midtown, 31
Midtown, 199
Vergelijking van de testfout per wijk 0.400 0.350 0.300
MAPE
0.250
LR GP RT MLP
0.200 0.150 0.100 0.050 0.000 Downtown
Midtown
Upper East
Upper Manhattan
Upper West
Wijk
Figuur 4.18: Vergelijking van de voorspellingsfout van de modellen op de trainset (bovenaan) en testset (onderaan) per wijk. Telkens wordt ook de distributie van de wijken getoond.
4.3 Vergelijking van de prestaties bij de vier technieken
64
de andere drie technieken niet-lineaire verbanden kunnen modelleren. Wel moet opgemerkt worden dat deze niet-lineaire modellering consistenter wordt naarmate er meer voorbeelden zijn. Vergelijken we de trainfout bij elke wijk tussen de drie niet-lineaire modellen dan zien we dat er weinig verschil is op te merken. Bekijken we vervolgens de testfout dan is zijn er meer verschillen tussen de prestaties van de modellen in een wijk. Zo zien we bijvoorbeeld dat de nietlineaire modellen er dan wel in slaagden om de voorbeelden uit de trainset goed te modelleren, maar dat ze op de testset allen de mist in gaan. Dit ligt wellicht aan het gebrek aan voldoende voorbeelden. Prestaties op klassen per aantal badkamers Een analoge bespreking kan gedaan worden voor de voorspelling gesorteerd op het aantal badkamers, aangezien het aantal badkamers een belangrijke invloedsfactor bij prijsbepaling is (zie figuur 4.1). Figuur A.3 geeft de prestaties bij elke klasse voor de trainset en de testset. Bij de trainset merken we alweer op dat de niet-lineaire modellen een lagere trainfout hebben dan LR bij de klassen die minder voorbeelden bevatten. Dit wil echter niet zeggen dat deze modellen beter presteren op testdata, integendeel. De testfout van LR bij de klasse die vijf of meer badkamers voorstelt is lager dan gelijk welk niet-lineair model.
4.4 Vergelijking met Zillow
4.4
65
Vergelijking met Zillow
In de inleiding werd de website zillow.com al aangehaald als een website voor vastgoed in de Verenigde Staten die ook de mogelijkheid geeft om een modelmatige waardebepaling uit te voeren met een muisklik op de website. Deze speler op de markt is uitgegroeid tot de referentie in deze branche en is dan ook uitvoerig bezig met het optimaliseren van hun waardebepalingsmodel. Zij gebruiken een AVM waarvan het tweede model een MLP is. Voor elke grootstad in de VS waar ze de mogelijkheid bieden om online een Zestimate te bepalen, geven ze de accuraatheid van hun model aan op de website. Ze geven het aantal woningen vrij waarvan ze gebruik maken in deze stad om hun model op te trainen. Als maat voor accuraatheid geven ze de mediaan van de MAPE en vervolgens het percentage van de woningen waarbij een procentuele fout op de voorspelling met hun model lager is dan 5%, 10% en 20%. Zillow beweert een mediaan op de MAPE te halen van 8.7% op basis van een dataset van 213000 appartementen uit NY. De accuraatheid wordt op figuur 4.19 getoond samen met de accuraatheid van de modellen uit dit onderzoek gebaseerd op het voorspellen van de testset. Zillow geeft geen informatie vrij over hoe ze tot deze waarden zijn gekomen waardoor we strikt genomen deze waarden niet mogen vergelijken met de onze. Bovendien wordt de accuraatheid van de modellen uit dit onderzoek weergegeven op basis van de testset en niet op basis van voorspellingen volgens kruisvalidatie waardoor we ook geen besluiten mogen trekken uit verschillen tussen deze modellen. Deze sectie is enkel bedoeld om op basis van de grootteorde te illustreren dat de modellen uit dit onderzoek in de buurt komen van wat de referentie kan halen in dezelfde vastgoedmarkt. Als we figuur 4.19 beschouwen dan zien we om te beginnen dat Zillow overal beter presteert. Toch merken we op dat GP in de eerste reeks aardig in de buurt komt. GP slaagt er in om voor een kwart van de appartementen in de testset de prijs te voorspellen binnen vijf percent van de actuele prijs. Het is ook opmerkelijk dat GP deze prestatie behaalt met slechts vijf determinanten. De betere prestatie van Zillow kan aan veel factoren liggen. Een eerste reden kan zijn dat de gepubliceerde informatie mogelijk slaat op voorspellingen van de trainset. Een tweede reden kan de veel grotere dataset zijn. Het bevatten van extra informatie zoals de leeftijd en staat van de woning kan een derde reden zijn. Een vierde reden kan het feit zijn dat ze gebruik maken van AVM, wat in feite een combinatie is van een model dat enkel op basis van eigenschappen (zoals we in dit onderzoek doen) de prijs bepaalt, en een model dat gebaseerd is op het identificeren van gelijkaardige woningen waarvan de verkoopprijs bij recente transacties gekend zijn. Ondanks het gebrek aan al deze zaken presteren de voorgestelde modellen in deze masterproef relatief goed tegenover de marktleider.
4.4 Vergelijking met Zillow
66
Vergelijking met Zillow van de prestaties met 5 determinanten op de testset 80.0
79.0 % appartementen van de testset
70.0 60.0
56.4
50.0
59.7
62.3
61.0 56.0 LR GP RT MLP Zillow
40.0 30.0
32.2
36.5 31.4
31.4
25.2
20.0 10.0
33.3
13.8
11.3
17.0
0.0 MAPE lager dan 5%
MAPE lager dan 10%
MAPE lager dan 20%
Vergelijking met Zillow van de prestaties met 9 determinanten op de testset 80.0
79.0 % appartementen van de testset
70.0 60.0
62.9 56.4
50.0
58.5
60.4
63.5
LR GP RT MLP Zillow
40.0
39.6
38.4 30.0
32.2
20.0
18.9 10.0
19.5
33.3
30.8
22.0
15.1
0.0 MAPE lager dan 5%
MAPE lager dan 10%
MAPE lager dan 20%
Vergelijking met Zillow van de prestaties met 36 determinanten op de testset 80.0
79.0 % appartementen van de testset
70.0
63.5
60.0
56.4
50.0
56.0 52.2
53.5
40.0
37.1 30.0 20.0 10.0
32.2 21.4
33.3
30.2
LR GP RT MLP Zillow
23.9
20.8 15.1 10.7
0.0 MAPE lager dan 5%
MAPE lager dan 10%
MAPE lager dan 20%
Figuur 4.19: Vergelijking van de accuraatheid van de modellen op basis van de testset ten opzichte van Zillow.
CONCLUSIES EN PERSPECTIEVEN
67
Hoofdstuk 5
Conclusies en perspectieven 5.1
Besluit
Deze masterproef heeft aangetoond dat het toepassen van Gaussiaanse processen een meerwaarde biedt bij modelmatige waardebepaling van residentieel vastgoed. Modelmatige waardebepaling van residentieel vastgoed wordt gebruikt bij hypotheekmaatschappijen, overheidsinstellingen (belastingdienst), investeringsbanken, vastgoedmakelaars . . . De voordelen die hieraan verbonden zijn gaan van het objectiveren en versnellen van de waardebepaling tot het reduceren van kosten die hieraan verbonden zijn. Er is sinds begin jaren negentig veel onderzoek verricht naar modelmatige waarderingstechnieken. In het begin was enkel sprake van een lineaire hedonische waardebepaling waarbij de prijs van een woning wordt voorspeld op basis van haar karakteristieken. In een volgende fase werden neurale netwerken voorgesteld als beloftevolle vervanger van lineaire regressie. Deze modellen waren enkel van toepassing op lokale vastgoedmarkten. Later werden AVM’s ge¨ıntroduceerd die ontworpen werden om op grotere gebieden toegepast te worden. Een AVM bestaat typisch uit drie waarderingsmethodes waarvan hedonische waardebepaling er ´e´en is. Deze masterproef ontfermt zich over het hedonisch waardebepalingsmodel van AVM’s. Er werden vier technieken uitgewerkt die de prijs van residentieel vastgoed kunnen voorspellen op basis van karakteristieken van het vastgoed. De technieken lineaire regressie (LR), Gaussiaanse processen (GP), neurale netwerken (MLP) en regressiebomen (RT) werden behandeld. Om te beginnen zijn we op zoek gegaan naar een dataset waarop de modellen getraind en getest konden worden. Er werd een dataset verworven van appartementen in Manhattan waarvan er achthonderd dienst deden om de modellen op te trainen en 159 om te testen. Van elk appartement beschikken we over de gegevens van zesendertig karakteristieken. Alle modellen werden geoptimaliseerd voor drie verschillende reeksen van determinanten. De eerste reeks bevat vijf
5.1 Besluit
68
primaire determinanten van de woning: wijk, buurt, aantal slaapkamers, aantal badkamers en oppervlakte. De tweede reeks bevat bovenop de vijf primaire determinanten nog 31 randfaciliteiten (“lift”, “portier”, “parkeerplaats”, “huisdieren toegelaten”, . . . ). Als derde reeks werden de vijf primaire determinanten aangevuld met vier randfaciliteiten die geselecteerd werden als meest relevante randfaciliteiten volgens een bepaald criterium. Nadien hebben we de vier technieken geoptimaliseerd om het beste resultaat te bekomen voor elke reeks van determinanten. Om generaliserende modellen te bekomen hebben we regularisatie toegepast zodat de modellen goed kunnen voorspellen op ongeziene data. Door een achtvoudige kruisvalidatie uit te voeren konden we de modelparameters kiezen voor een generaliserende werking van de modellen. Als foutmaat werd de gemiddelde procentuele afwijking (MAPE) op de voorspelling gebruikt. Eens de modelparameters op punt stonden, werden deze gebruikt om het model op de totale trainset te trainen en vervolgens met de ongeziene data in de testset de proef op de som te nemen. Deze testset kon bepaalde modellen toevallig beter liggen dan andere waardoor de testfout puur als maat voor robuustheid van het model werd gebruikt. De verschillende technieken werden telkens vergeleken op basis van de kruisvalidatiefout. Tabel 5.1 geeft de kruisvalidatiefouten voor elke techniek en reeks van determinanten.
5 determinanten 9 determinanten 36 determinanten
LR
GP
RT
MLP
0.243 0.239 0.238
0.228 0.220 0.216
0.262 0.263 0.258
0.231 0.227 0.311
Tabel 5.1: De kruisvalidatiefouten voor elke techniek bij de drie reeksen van determinanten. Voor alle drie de reeksen van determinanten gaf GP het beste resultaat. GP haalde bovendien het beste resultaat bij de reeks met zesendertig determinanten, waarmee een gemiddelde voorspellingsfout van 21.6% bekomen werd. MLP gaf voor de de reeksen van vijf en negen determinanten een validatiefout die van de andere modellen het dichtst in de buurt kwam bij de prestatie van GP. De beste kruisvalidatiefout werd bekomen bij de reeks met negen determinanten en bedroeg 22.7%. Voor de reeks met zesendertig determinanten waren de resultaten voor MLP echter veel slechter. Dit was vermoedelijk te wijten aan een verkeerde keuze van regularisatiemethode. MLP kan wellicht beter presteren dan in dit onderzoek behaald werd. Als derde beste techniek kwam LR aan bod. Deze techniek haalde zijn beste kruisvalidatiefout met 23.8% bij de reeks met zesendertig eigenschappen. LR kon door de extra 31 randfaciliteiten de kruisvalidatiefout met 0.005 verbeteren, tegenover 0.012 bij GP. Gaussiaanse processen slaagden er dus in om de randfaciliteiten beter te benutten. De minst presterende techniek was RT, met een beste resultaat van 25.8% op de kruisvalidatiefout behaald bij de reeks met zesendertig determinanten. Dit was 0.052 minder goed op de kruisvalidatiefout dan GP kon verwezenlijken. Een mogelijke verklaring voor de mindere prestatie van RT is de beperkte resolutie van de voor-
5.1 Besluit
69
spelling. Tegenover alle andere technieken kan de voorspelde prijs hier slechts een beperkt aantal waarden aannemen. Dit aantal komt overeen met het aantal bladknopen in de regressieboom. Bij de vergelijking van de prestaties van de verschillende modellen bekwamen we als resultaat dat de niet-lineaire modellen GP en MLP betere resultaten gaven in dit onderzoek dan lineaire regressie. Het is nuttig om hierbij ook de keerzijde van de medailles te bespreken. Tegenover de eenvoud en makkelijke interpreteerbaarheid van LR zijn GP en MLP complexere modellen waarbij expertise vereist is om goede resultaten te bekomen. Bovendien is het optimaliseren van deze modellen erg rekenintensief. Bij GP moet steeds de covariantiematrix met een dimensie zo groot als de trainset berekend worden en ge¨ınverteerd worden. Bij MLP’s moet het optimale aantal iteraties experimenteel bepaald worden, in functie van het aantal neuronen. Deze experimenten bevatten een iteratieve gradi¨ent-methode waardoor het behoorlijk wat rekenkracht vergt vooraleer de eerste voorspellingen kunnen gemaakt worden. Als we met deze keerzijde rekening houden kunnen we ons afvragen of we deze complexiteit er wel voor over hebben gezien het feit dat de beste verbetering op de kruisvalidatiefout van de niet-lineaire modellen tegenover LR slechts 0.022 bedraagt. Het antwoord hierop hangt af van de kost die hoort bij een mindere accuraatheid voor een gegeven toepassing. Bij een investeringsbank die zijn vastgoedportefeuille onderzoekt kan een verkeerde inschatting uiteraard veel geld kosten. De invloed van de determinanten die gebruikt worden om de prijs te voorspellen werd ook onderzocht. Bij deze evaluatie zagen we dat, tegenover de vijf primaire determinanten, het toevoegen van de randfaciliteiten tot een verbetering van de prestatie leidde. Deze relatieve verbetering bij GP bedroeg 5.26%. Het is interessant hier toch een opmerking over te maken. Deze verbetering is zeker niet slecht, maar we mogen niet uit het oog verliezen dat hiervoor kennis van 31 determinanten nodig is voor elk appartement uit de dataset. Gezien het feit dat niet voor alle appartementen op de markt deze randfaciliteiten gekend zijn is het een kwestie van afwegen of we een iets betere prestatie op een kleiner aantal in aanmerking komende appartementen wensen, of liever een iets mindere prestatie bekomen maar dan wel van toepassing op een veel breder gamma van appartementen. Het is bovendien goed mogelijk dat de prestatie ook verbetert als er een groter aantal appartementen wordt gebruikt om het model te trainen. In een volgend luik van het onderzoek werd onderzocht hoe de voorspellingsfout afhing van verschillende specifieke deelgroepen waarin een appartement zich kon bevinden. De verschillende deelgroepen die werden onderzocht zijn de verschillende oppervlakteklassen, prijsklassen en wijken waartoe een appartement kon behoren. Ook het aantal badkamers werd onderzocht. De conclusie bij deze detailstudie was dat de niet-lineaire modellen tegenover het lineaire model capabel zijn om bepaalde uitschieters in de dataset te onthouden, maar zij slaagden er niet in om ongeziene uitschieters beter te voorspellen dan lineaire regressie.
5.2 Toekomstig werk
70
Tenslotte werd gekeken naar de praktische waarde van de modellen die in dit onderzoek werden uitgewerkt. Hierbij zagen we dat onze modellen, ondanks de beperkte grootte van de dataset en de onvolledigheid in de determinanten tegenover de marktleider, toch een relatief goede prestatie konden neerpoten. Het Gaussiaans proces slaagde er bijna in om de marktleider te evenaren op basis van het aantal appartementen van de testset dat het kon voorspellen binnen de 5% van de echte prijs. Uit dit onderzoek kunnen we concluderen dat Gaussiaanse processen een techniek is die veelbelovend is voor deze toepassing. GP presteerde beter dan elke andere techniek die onderzocht werd, ongeacht de reeks van determinanten die gebruikt werd om de prijs te voorspellen. Als praktische uitbreiding kan een waarderingsmodel met GP een maat van zekerheid geven bij elke voorspelling. Dit werd niet expliciet verder onderzocht in dit onderzoek omdat het de bedoeling was om de verschillende technieken te vergelijken met elkaar op basis van hun prestatie, maar deze uitbreiding is inherent in de techniek aanwezig en kan makkelijk bekomen worden door de covariantiefunctie bij elke voorspelling te evalueren. Ondanks deze beloftevolle kwaliteiten van GP mogen we de keerzijde niet uit het oog verliezen: de extensieve rekencomplexiteit, typisch O(n3 ) met n het aantal datapunten. In dit onderzoek was n maximaal achthonderd waardoor het programma maximaal enkele uren nodig had om de berekeningen uit te voeren bij het optimaliseren en trainen van het model. In de realiteit gebruikt men voor modelmatige waardebepaling echter duizenden tot miljoenen datapunten waardoor de berekeningsduur al snel kan oplopen tot meerdere dagen. Zillow, een gekende speler in de branche van modelmatige waardebepaling van residentieel vastgoed in de VS, bezit een database van meer dan tien miljoen woningen en berekent drie keer per week voor alle woningen de waarde. Deze berekening gebeurt waarschijnlijk per regio maar met de wetenschap dat voor NY alleen al meer dan 200 000 datapunten gebruikt worden kan het al kritisch worden voor GP om de berekeningen tijdig te voltooien.
5.2
Toekomstig werk
Als toekomstig werk kan volgend onderzoek nog verricht worden: • GP uitbreiden zodat de zekerheid van de voorspelling gegeven wordt. • De modellen (RT in het bijzonder) uitbreiden voor gebruik bij onvolledige data. • Een grotere dataset verwerven. • Verkoopprijzen in plaats van vraagprijzen gebruiken. • Meerdere lagen bij MLP testen.
5.2 Toekomstig werk
71
• Vergroten en verfijnen van het geteste parameterbereik. Bij GP bijvoorbeeld kunnen mogelijk op deze manier nog andere, betere minima van de kruisvalidatiefout gevonden worden. • Vergelijkingsmodel integreren zoals bij AVM wordt gedaan. • Andere determinanten in rekening brengen zoals leeftijd, staat van de woning . . . • De modellen evalueren op hun prestatie wanneer de uitschieters uit de dataset verwijderd worden door een z-test uit te voeren en alle waarden te verwijderen die een grotere z-waarde dan twee geven. • De modellen toepassen op een ander domein zoals bijvoorbeeld hedonische waardebepaling van auto’s op de tweedehandsmarkt.
EXTRA FIGUREN BIJ ONDERZOEKSRESULTATEN
Bijlage A
Extra figuren bij onderzoeksresultaten
72
EXTRA FIGUREN BIJ ONDERZOEKSRESULTATEN
73
MLP - 1 tussenlaag - zonder bias - 9 determinanten 0.290 0.280
kruisvalidatiefout
0.270 0.260
5 neuronen 10 neuronen 20 neuronen 50 neuronen 100 neuronen
0.250 0.240 0.230 0.220 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 # iteraties
MLP - 1 tussenlaag - zonder bias - 36 determinanten 0.87
kruisvalidatiefout
0.85 0.83 5 neuronen 10 neuronen 20 neuronen 50 neuronen
0.40
0.35
0.30 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 # iteraties
Figuur A.1: De kruisvalidatiefout voor elke MLP configuratie van het aantal neuronen in de tussenlaag in functie van het aantal iteraties gebruikt voor training, en dit voor de reeks met negen en de reeks met zesendertig determinanten.
EXTRA FIGUREN BIJ ONDERZOEKSRESULTATEN
74
Optimalisatie van de regressieboom parameters - 9 determinanten
0.35 0.34
Kruisvalidatiefout
0.33 0.32 0.31 0.30 0.29 0.28 1
0.27
4 0.26
7 1
0.26-0.27
2
3
4
5
6
7
8
0.27-0.28
Maximale boomdiepte
10 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 13 25 26 27 28 29 30 31 32 33 34 35 36 Minimum instanties per bladknoop 37 38 39 40
0.28-0.29
0.29-0.30
0.30-0.31
0.31-0.32
0.32-0.33
0.33-0.34
0.34-0.35
Optimalisatie van de regressieboom parameters - 36 determinanten
0.35 0.34
Kruisvalidatiefout
0.33 0.32 0.31 0.30 0.29 0.28 0.27 1 0.26 1 2 3 4 5 6 7
0.26-0.27
0.27-0.28
4 8
7 9 10 11 12 13 14 15 16 17 10 18 19 20 Maximale 21 22 23 24 25 26 27 28 29 13 boomdiepte Minimum instanties per bladknoop 30 31 32 33 34 35 36 37 16 38 39 40 41 0.28-0.29 0.29-0.30 0.30-0.31 0.31-0.32 0.32-0.33 0.33-0.34 0.34-0.35
Figuur A.2: Optimalisatie van de regressieboom bij de reeksen van negen en zesendertig determinanten. De figuur geeft de kruisvalidatiefout weer voor elke combinatie van de optimalisatieparameters. De ene as geeft het minimum aantal instanties per bladknoop terwijl de andere as de maximale boomdiepte geeft.
EXTRA FIGUREN BIJ ONDERZOEKSRESULTATEN
75
Vergelijking van de trainfout in functie van het aantal badkamers 0.450 0.400 0.350
MAPE
0.300 0.250
LR GP RT MLP
0.200 0.150 0.100 0.050 0.000 1 badkamer
2 badkamers
3 badkamers
4 badkamers
5 badkamers
Aantal badkamers Verdeling van het aantal badkamers (trainset)
5 badkamers, 18
2 badkamers, 328 3 badkamers, 112 Other, 54 4 badkamers, 36
1 badkamer, 306
Vergelijking van de testfout in functie van het aantal badkamers 0.450 0.400 0.350
MAPE
0.300 0.250
LR GP RT MLP
0.200 0.150 0.100 0.050 0.000 1 badkamer
2 badkamers
3 badkamers
4 badkamers
5 badkamers
Aantal badamers Verdeling van het aantal badkamers (testset)
2 badkamers, 64
5 badkamers, 18
3 badkamers, 27
Other, 10 4 badkamers, 7
1 badkamer, 58
Figuur A.3: Vergelijking van de voorspellingsfout van de modellen op de trainset (bovenaan) en testset (onderaan) voor een verschillend aantal badkamers.
BIBLIOGRAFIE
76
Bibliografie C. Archambeau (2008). Gaussian processes for regression. Lecture notes from course: Advanced Topics in Machine Learning (MSc in Intelligent Systems); Centre for Computational Statistics and Machine Learning, Department of Computer Science, University College London. C. M. Bishop (2006). Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag New York, Inc., Secaucus, NJ, USA. ISBN 0387310738. M. T. Christian Igel & W. Weishui (2005). Rprop using the natural gradient. International Series of Numerical Mathematics. H. M. David Hand & P. Smyth (2001). Principles of Data Mining. The MIT Press. C. Igel & M. H¨ usken (2000). Improving the rprop learning algorithm. J. Ilonen, J.-K. Kamarainen & J. Lampinen (2003). Di↵erential evolution training algorithm for feed-forward neural networks. Neural Process. Lett., 17(1):93–105. ISSN 1370-4621. URL http://dx.doi.org/10.1023/A:1022995128597. M. S. K. Hornik & H. White (1989). Multilayer feedforward networks are universal approximators. Neural Networks, 2:359–366. B. Keskin (2008). Hedonic analysis of price in the istanbul housing market. International Journal of Strategic Property Management, 12:125138. Khedkar (2003). Methods and systems for automated property valuation. K. Lancaster (1966). A new approach to consumer theory. Journal of Political Economy, 74:132–57. A. S. M. Lenk, M. Worzala (1997). High-tech valuation: should artificial neural networks bypass the human valuer? Journal of Property Valuation and Investment, 15:8–26. S. Marghich (2005). Modelmatige Waardebepaling Vastgoed: Taxatie woningwaarde met sociale indicatoren. Master’s thesis, Vrije Universiteit Amsterdam. P. F. Martin Hoesli, Carmelo Giaccotto (1997). Three new real estate price indices for geneva, switzerland. Journal of Real Estate Finance and Economics, 15:93–109.
BIBLIOGRAFIE
77
J. D. C. P. Ampe, A. De Wulf (2006). De rol van gis bij de hedonische waardebepaling van vastgoed. S. Peterson & A. B. Flanagan (2009). Neural network hedonic pricing models in mass real estate appraisal. Journal of Real Estate Research, 31(2):147–164. URL http://EconPapers.repec.org/RePEc:jre:issued:v:31:n:2:2009:p:147-164. C. Rasmussen (2004). Gaussian processes in machine learning. In O. Bousquet, U. von Luxburg & G. Rtsch, editors, Advanced Lectures on Machine Learning, volume 3176 of Lecture Notes in Computer Science, pp. 63–71. Springer Berlin / Heidelberg. ISBN 978-3-540-23122-6. URL http://dx.doi.org/10.1007/978-3-540-28650-94 . 10.1007/978 3 540 28650 94 . C. E. Rasmussen & H. Nickisch (2010). Gaussian processes for machine learning (gpml) toolbox. J. Mach. Learn. Res., 11:3011–3015. ISSN 1532-4435. URL http://dl.acm.org/citation.cfm?id=1756006.1953029. C. E. Rasmussen & C. K. I. Williams (2006). Gaussian Processes for Machine Learning. The MIT Press. M. Riedmiller & H. Braun (1993). A direct adaptive method for faster backpropagation learning: The rprop algorithm. In IEEE INTERNATIONAL CONFERENCE ON NEURAL NETWORKS, pp. 586–591. S. Rosen (1974). Hedonic prices and implicit markets: product di↵erentiation in pure competition. Journal of Political Economy, 82:34–55. P. Rossini (1997). Artificial neural networks versus multiple regression in the valuation of residential property. Australian Land Economics Review, 3(1). S. D. B. Schrauwen (2011). Lecture notes: machine learning: linear regression. C. Shalizi (2009). Lecture notes: course ”data mining” at the cmu.
Test-Aankoop (2011). Schatting van vastgoed: een schatter is geen profeet. Budget & Recht. URL http://www.test-aankoop.be/woning/schatting-van-vastgoed-een-schatter-is-geen-pro
LIJST VAN TABELLEN
78
Lijst van tabellen 2.1 2.2
De StreetEasy database op 1 november 2011 . . . . . . . . . . . . . . . . . . . . . De determinanten van elk appartement in de dataset. . . . . . . . . . . . . . . .
8 10
4.1
De kruisvalidatiefouten (MAPE) voor een verschillende keuze van de hyperparameters ld bij de covariantiefunctie, en dit voor elke reeks van determinanten. . . .
44
De kruisvalidatiefouten voor elke techniek bij de drie reeksen van determinanten.
68
5.1
LIJST VAN FIGUREN
79
Lijst van figuren 2.1 2.2 2.3 2.4
2.5 2.6 2.7 2.8 2.9 3.1
3.2 3.3 3.4
3.5 3.6
3.7 3.8
Voorbeeld van de pagina van een pand met al zijn kenmerken op StreetEasy . . . Schematische voorstelling van het verwervingsproces van de dataset . . . . . . . De wijken en buurten van Manhattan . . . . . . . . . . . . . . . . . . . . . . . . Visualisatie van de dataset volgens geografische co¨ordinaten. De prijs wordt met een logaritmische verdeling voorgesteld met behulp van kleuren en de oppervlakte wordt gevisualiseerd door de straal van de cirkels hiermee evenredig te maken. . Histogram van de wijken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Histogram van de vraagprijs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cirkeldiagrammen van het aantal slaapkamers en het aantal badkamers . . . . . Histogram van de oppervlakte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Distributie van de randfaciliteiten . . . . . . . . . . . . . . . . . . . . . . . . . . . Het fenomeen van overfitten. Bij toenemende modelcomplexiteit daalt de testfout initieel maar stijgt na verloop van tijd terwijl de trainfout steeds blijft dalen. (Schrauwen, 2011) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verdeling in partities van de dataset bij kruisvalidatie . . . . . . . . . . . . . . . Drie willekeurige functies gegenereerd uit een GP voor een ´e´endimensionale invoer met m(x) = 0 en een SE covariantiefunctie met hyperparameter l = 0.5 . . . . . Drie random gegenereerde functies van het prior GP (links) en van het posterior GP (rechts). Een trainingsobservatie is aangeduid door een +, de gemiddeldenfuncties m(x) en mD (x) door een stippellijn. Bovendien duidt een grijze zone een strook van 3 keer de standaardafwijking aan. Er werd een SE covariantiefunctie gebruikt met een karakteristieke lengteschaal l = 0.5. . . . . . . . . . . . . . . . . Schematische voorstelling van een MLP met vier ingangen, twee tussenlagen met elk drie neuronen, biasingangen en ´e´en uitgang. . . . . . . . . . . . . . . . . . . . Activatie van de inkomende data door een neuron. Beschouw een neuron van de eerste tussenlaag, waarbij de gewichten 2 W1 voor de ingangen x0 (biasingang), x1 , x2 , x3 en x4 naar dit neuron gegeven worden door w0 , w1 , w2 , w3 en w4 ; u stelt de informatie voor die naar de volgende laag wordt doorgegeven. . . . . . . . . . De sigmoidefunctie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algemeen schema van een iteratief gradient descent algoritme. . . . . . . . . . . .
7 8 9
12 13 13 14 14 15
18 18 24
25 27
28 29 30
LIJST VAN FIGUREN
80
3.9
De kruisvalidatiefout en trainfout bij achtvoudige kruisvalidatie voor een MLP met negen ingangen, ´e´en tussenlaag met vijftig neuronen en zonder biasingangen. 32 3.10 Een voorbeeld van een regressieboom. Bij elke knoop wordt de tak naar rechtsboven gevolgd als de waarde van de ingangsvariabele groter is dan de knoopwaarde, en naar rechtsonder in het andere geval. . . . . . . . . . . . . . . . . . . . . . . . 33 3.11 De uitvoer van een ´e´endimensionale regressieboom voorgesteld door een stuksgewijsconstant model dat de natuurlijk logaritme van de genormaliseerde oppervlakte mapt op de natuurlijk logaritme van de genormaliseerde prijs. Het partitioneren van de ingangsruimte (hier 1D) gebeurt door het volgen van de pijlen, dewelke traditioneel met takken van de boom weergegeven worden maar hier met pijlen. De laatste pijl die bij het doorlopen van de takken wordt bereikt, duidt de voorspelling van de uitgang aan. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1
De relevantie van elke determinant volgens ARD bij Gaussiaanse processen en volgens de gewichten bij lineaire regressie. . . . . . . . . . . . . . . . . . . . . . . 4.2 Verdeling in partities van de dataset bij kruisvalidatie. . . . . . . . . . . . . . . . 4.3 De prestaties van het best bekomen LR per reeks van determinanten. = 10 bij de drie reeksen van determinanten. . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 De prestaties van het best bekomen GP per reeks van determinanten. De hyperparameters ld werden voor de reeksen ge¨ınitialiseerd op respectievelijk “1”,“20” en “10”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 De kruisvalidatiefout voor elke MLP configuratie van het aantal neuronen in de tussenlaag in functie van het aantal iteraties gebruikt voor training, en dit voor de reeks van vijf determinanten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 De prestaties per reeks van determinanten voor een MLP met een bepaald aantal neuronen in de tussenlaag en zonder biasingangen. . . . . . . . . . . . . . . . . . 4.7 De prestaties op de reeks met negen determinanten voor een MLP met een bepaald aantal neuronen in de tussenlaag, voor het geval met en zonder biasingangen. . . 4.8 De prestaties van het best bekomen MLP per reeks van determinanten. . . . . . 4.9 Optimalisatie van de regressieboom bij de reeks van vijf determinanten. De figuur geeft de kruisvalidatiefout weer voor elke combinatie van de optimalisatieparameters. De ene as geeft het minimum aantal instanties per bladknoop terwijl de andere as de maximale boomdiepte geeft. . . . . . . . . . . . . . . . . . . . . . . 4.10 De prestaties van het best bekomen RT per reeks van determinanten. . . . . . . 4.11 LR met = 10. GP met ld = 1. RT met minimum zeven instanties in elke bladknoop en een maximale boomdiepte zes. MLP met ´e´en tussenlaag met vijftig neuronen, zonder bias en getraind met driehonderd iteraties. . . . . . . . . . . . . 4.12 LR met = 10. GP met ld = 20. RT met minimum ´e´en instantie in elke bladknoop en een maximale boomdiepte zes. MLP met ´e´en tussenlaag met tien neuronen, zonder bias en getraind met zeshonderd iteraties. . . . . . . . . . . . .
39 41 42
45
46 48 49 50
51 52
53
54
LIJST VAN FIGUREN
4.13 LR met = 10. GP met ld = 10. RT met minimum vijf instanties in elke bladknoop en een maximale boomdiepte zeven. MLP met ´e´en tussenlaag met vijf neuronen, zonder bias en getraind met tweehonderd iteraties. . . . . . . . . . . . 4.14 Vergelijking van de voorspellingsfout van de modellen op de trainset voor verschillende oppervlakteklassen samen met de distributie van de klassen. . . . . . 4.15 Vergelijking van de voorspellingsfout van de modellen op de testset voor verschillende oppervlakteklassen samen met de distributie van de klassen. . . . . . . . . 4.16 Vergelijking van de voorspellingsfout van de modellen op de trainset voor verschillende prijsklassen samen met de distributie van de klassen. . . . . . . . . . 4.17 Vergelijking van de voorspellingsfout van de modellen op de testset voor verschillende prijsklassen samen met de distributie van de klassen. . . . . . . . . . . . . 4.18 Vergelijking van de voorspellingsfout van de modellen op de trainset (bovenaan) en testset (onderaan) per wijk. Telkens wordt ook de distributie van de wijken getoond. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.19 Vergelijking van de accuraatheid van de modellen op basis van de testset ten opzichte van Zillow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1 De kruisvalidatiefout voor elke MLP configuratie van het aantal neuronen in de tussenlaag in functie van het aantal iteraties gebruikt voor training, en dit voor de reeks met negen en de reeks met zesendertig determinanten. . . . . . . . . . . A.2 Optimalisatie van de regressieboom bij de reeksen van negen en zesendertig determinanten. De figuur geeft de kruisvalidatiefout weer voor elke combinatie van de optimalisatieparameters. De ene as geeft het minimum aantal instanties per bladknoop terwijl de andere as de maximale boomdiepte geeft. . . . . . . . . . . A.3 Vergelijking van de voorspellingsfout van de modellen op de trainset (bovenaan) en testset (onderaan) voor een verschillend aantal badkamers. . . . . . . . . . . .
81
55 57 59 60 62
63 66
73
74 75
LIST OF ALGORITHMS
82
List of Algorithms 1 2
Rprop algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Partitionering van de ingangsruimte bij regressiebomen . . . . . . . . . . . . . . .
31 36