UNIVERSITEIT VAN AMSTERDAM
Regressie en variabelensectie
met de Lasso
Lasso versus OLS
De Lasso is een relatief nieuwe techniek voor het schatten van lineaire datasets. De Lasso minimaliseert de gekwadrateerde storingstermen plus een strafterm. Deze strafterm krimpt de coëfficiënten richting 0 en zet sommige op 0 met een tuning parameter. Met gesimuleerde datasets wordt in deze scriptie de voorspelprestaties van Lasso vergeleken met OLS. Het blijkt dat Lasso een goed alternatief is in bepaalde situaties.
Bachelorscriptie Econometrie Auteur: Stijn Reijne 10197109 Begeleider: Noud van Giersbergen Datum: 27-6-2014
1 Inhoudsopgave
2 Inleiding ... 1
3 Theoretisch kader ... 2
3.1 Definitie van Lasso ... 2
3.2 Alternatieve formulering voor Lasso... 3
3.3 Bepalen van de Tuning Parameter ... 4
4 Onderzoeksopzet ... 5
5 Resultaten... 5
5.1 Multicollineariteit tussen variabelen ... 5
5.2 Hoeveelheid en grootte van coëfficiënten ... 7
5.3 Steekproefgrootte ... 8
6 Conclusie ... 10
1
2 Inleiding
Tegenwoordig worden er steeds meer computers gebruikt voor de vastlegging van economische transacties en gebeurtenissen. Dit gaat gepaard met vele grote datasets die alle gegevens bijhouden. Voor de data die ongeveer lineair zijn wordt de analyse en voorspellingen van de data meestal gedaan met het bekende lineaire regressie model, waarbij de schatters geschat worden met ordinairy least squares (OLS). De OLS-schatters worden verkregen door het minimaliseren van de gekwadrateerde storingstermen. Echter bij het gebruik van deze methode ontstaan er twee problemen bij het analyseren van grote datasets. Ten eerste hebben de OLS-schatters in situaties waar het aantal
waarnemingen dicht bij het aantal variabelen ligt vaak grote varianties, wat kan lijden tot overfitting. Het gevolg hiervan is dat het model slechte voorspellingen geeft van toekomstige data. Als het aantal variabelen groter is dan het aantal waarnemingen is er zelfs helemaal geen unieke schatting van de coëfficiënten. Ten tweede zijn er soms variabelen in het OLS-model die weinig rechtstreeks verband hebben met de verklarende variabele. Dit lijdt tot een slechte
interpreteerbaarheid van het model.
In deze scriptie wordt een relatief nieuwe techniek gebruikt voor het analyseren van data, genaamd de Lasso (Tibshirani, 1996). Lasso staat voor ´least absolute shrinkage and selection operator´. Het is een regressiemethode en variabelenselectiemethode ineen. De Lasso krimpt de coëfficiënten en zet sommige coëfficiënten op 0. Hierdoor wordt er bias gecreëerd maar neemt de variantie van het model af. Met als gevolg dat de Lasso voor sommige datasets een betere voorspelfout en interpreteerbaarheid heeft dan OLS. Tibshirani (1996) was de eerste die met deze methode kwam. Hij vergeleek de Lasso met de subset selection en de ridge regression. Dit deed hij door een aantal
datasets te simuleren. Deze datasets hadden ieder een andere omvang, andere coëfficiënten en andere correlaties tussen variabelen. Het resultaat was dat de Lasso een goed alternatief was voor subset selection en ridge regression en vooral goed presteerde voor kleine tot middelgrote datasets met middelgrote coëfficiënten.
2
In deze scriptie wordt onderzocht welke datasets beter met OLS geschat kunnen worden en welke datasets beter met Lasso. De resultaten worden verkregen door middel van een experiment met gesimuleerde datasets. De prestaties van beide schattingsmethoden worden vergeleken aan de hand van drie onderdelen: steekproefgrootte, hoeveelheid en grootte van coëfficiënten en de mate van correlatie tussen de variabelen. Degene met de beste
voorspelfout wordt gezien als beste model.
De rest van de scriptie ziet er als volgt uit. In hoofdstuk 3 wordt de theorie van de Lasso besproken. Daarna wordt in hoofdstuk 4 de
onderzoeksopzet behandeld. Vervolgens in hoofdstuk 5 worden de resultaten en analyse besproken, dan in hoofdstuk 6 de conclusie en tot slot in hoofdstuk 7 de bibliografie.
3 Theoretisch kader
In dit hoofdstuk zal de theorie van de Lasso behandeld worden. In paragraaf 3.1 zal de definitie van de Lasso aan bod komen, daarna zal in paragraaf 3.2 een alternatieve formulering van Lasso worden behandeld, die verduidelijkt hoe de Lassomethode werkt. Tot slot zal in paragraaf 3.3 de tuning parameter
besproken worden.
3.1 Definitie van Lasso
Stel dat er data is (xi,yi), i=1,2,…,N, waarbij xi=(xi1,…,xip)T de onafhankelijke
variabelen zijn en yi de verklarende variabelen. Aangenomen wordt dat de yi‘s
conditioneel onafhankelijk zijn gegeven de xij’s. Verder wordt aangenomen dat
de xij’s gestandaardiseerd zijn zodat ∑ixij/N=0, ∑ixij2/N=1. De Lassoschatters,
minimaliseren de functie Uit de vorige formule wordt duidelijk dat de Lassoschatters bijna hetzelfde minimaliseren als de OLS-schatters, alleen wordt er een strafterm bij opgeteld. Deze strafterm zorgt ervoor dat de coëfficiënten richting 0 worden gekrompen en sommige worden op 0 gezet naarmate de tuning parameter ( ) toeneemt.
3
Dus de Lasso werkt ook als variabelenselectiemethode. Daardoor zijn modellen gegenereerd door de Lasso vaak makkelijk te interpreteren.
3.2 Alternatieve formulering voor Lasso
Een alternatieve wijze van het formuleren van (1), is dat de Lasso coëfficiënten het volgende probleem oplossen:
Voor elke waarde van λ is er een s zodat beide vergelijkingen dezelfde Lasso coëfficiënten geven. Als p=2, dan houdt dat in dat de Lasso coëfficiënten schatters de kleinste RSS hebben van de punten die liggen in de ruit
gedefinieerd door |β1|+| β2|≤ s. In de inleiding is al verteld dat Lasso sommige coëfficiënten op 0 zet, dit proces wordt aan de hand van Figuur 1 duidelijker. De OLS-oplossing is aangegeven met en de ruit houdt de restrictie in.
Figuur 1. Schattingsplaatje van de Lasso.
Als s voldoende groot is, dan zal de ruit de OLS-schatter bevatten en zal de Lassoschatter hetzelfde zijn als de OLS-schatter. Zoals te zien is in het plaatje zal de ellips de ruit als eerste snijden in een hoekpunt die op de as ligt. Dit is de reden waarom bepaalde coëfficiënten op 0 worden gezet naarmate λ
4
3.3 Bepalen van de Tuning Parameter
De waarden van λ en s worden bepaald door cross-validation. Cross-validation is een techniek die de dataset splitst in twee groepen: een trainingset en een testset. De trainingset wordt dan gebruikt om het model te schatten. Daarna wordt er met dat model data van de testset voorspeld en wordt er dus gekeken of het model goed werkt voor andere data. Voor alle waardes van λ binnen een bepaald gebied wordt de cross-validation error berekend. De cross-validation error is een prestatiemaat van de schatting op andere data, vaak wordt
hiervoor de Mean Squared Error gebruikt. De λ met de kleinste cross-validation error wordt gekozen als tuning parameter. Figuur 2 geeft een voorbeeld weer van een leave-one-out cross-validation, waarbij de gestippelde lijn de gekozen
λ is.
Figuur 2. Voorbeeld van leave-one-out cross-validation voor de tuning parameter. Gestippelde lijn is de gekozenλ.
5
4 Onderzoeksopzet
De onderzoeksopzet ziet er als volgt uit. Er wordt een experiment gedaan waarbij er een aantal datasets worden gesimuleerd. Deze datasets hebben een verschillende omvang en de variabelen hebben verschillende coëfficiënten en onderlinge correlaties. Voor elke dataset wordt het volgende gedaan. De dataset wordt gesplitst in twee even grote groepen, de zogeheten trainingset en testset. Op de trainingset worden de OLS-schatters geschat en de variabelen die geen significante t-waarde hebben (met 5%) zullen uit het model worden gehaald. Met het model met significante t-waarden zullen de waarden van de testset worden voorspeld. Daarna wordt de voorspelfout berekend door middel van de Mean Squared Error. Dan wordt de trainingset geschat met Lasso. Vervolgens worden weer de waardes van testset geschat en de Mean Squared Error berekend. Deze procedure wordt telkens 500 keer herhaald en voor beide technieken wordt bijgehouden welke variabelen er zijn opgenomen in het model en welke Mean Squared Errors er zijn berekend. Tot slot wordt dan voor elke gesimuleerde dataset OLS vergeleken met Lasso, door te kijken welke een betere voorspelfout heeft en welke de goede variabelen opneemt in het model.
5 Resultaten
Zoals in de onderzoeksopzet is vermeld zullen de voorspelprestaties van de Lasso en OLS aan de hand van drie onderdelen getest worden. In paragraaf 5.1 zal eerst de invloed van multicollineariteit ( dus de mate van correlatie tussen de variabelen) worden bekeken. Daarna zal in paragraaf 5.2 de invloed van de hoeveelheid en grootte van coëfficiënten worden onderzocht en tot slot zal in paragraaf 5.3 de invloed van de steekproefgrootte onder de loep worden genomen.
5.1 Multicollineariteit tussen variabelen
Voor het testen van de invloed van multicollineariteit worden er 500 datasets gesimuleerd met ieder 80 waarnemingen. Het datagenererend model ziet er als volgt uit
Waarbij =(3,2,2,1,1,1,1,1,1,1,0,0,0,0). X is een matrix met 80 waarnemingen en 14 variabelen getrokken uit een multivariate normale verdeling. is een
vector met 80 waarnemingen getrokken uit een standaard normale verdeling. De trainingset en testset bestaan beide uit 40 waarnemingen. De correlatie
6
tussen xi en xj is en deze zal worden aangepast om de invloed van multicollineariteit te ontdekken.
Tabel 1 geeft de resultaten weer van drie verschillende waarden van multicollineariteit met daarbij de verschillende waardes van R2. In kolom 1,3 en 5 wordt aangegeven welke variabelen worden opgenomen met de OLS-methode en hoeveel keer zij worden opgenomen van de totale 500 datasets. In kolom 2,4 en 6 wordt hetzelfde gedaan, alleen dan met de Lassomethode. In de eerste twee kolommen is =0.1, in de derde en vierde kolom is =0.4 en de vijfde en zesde kolom is =0.8. De laatste rij van de tabel geeft de Mean
Squared Errors weer voor alle situaties.
Uit de resultaten van tabel 1 volgt dat als er weinig multicollineariteit tussen de variabelen is (=0.1), dat OLS stukken beter presteert dan Lasso. Niet alleen de Mean Squared Error is lager maar ook neemt OLS bijna altijd de juiste variabelen op. Alleen naarmate de multicollineariteit tussen de variabelen toeneemt (=0.4 en =0.8), zie je dat de Lasso beter gaat presteren en zelfs beter dan OLS op basis van de Mean Squared Error. Alleen neemt de Lasso vaak onjuiste variabelen op. Desalniettemin lijkt de Lasso beter bestand tegen
multicollineariteit dan OLS. Dit resultaat is nog beter te zien aan de hand van figuur 3, die voor van 0 tot 1 de Mean Squared Errors van beide methodes
weergeeft. Trainingset = 40 Testset = 40 =0.1 R2=0.973 =0.4 R2=0.988 =0.8 R2=0.994 Variabelen en coëfficiënten Model
OLS [1] Lasso [2] OLS [3] Lasso [4] OLS [5] Lasso [6]
X1 (3) X2 (2) X3 (2) X4 (1) X5 (1) X6 (1) X7 (1) X8 (1) X9 (1) X10 (1) X11 (0) X12 (0) X13 (0) X14 (0) 500 500 500 499 496 499 494 500 497 497 38 35 36 31 500 500 500 500 500 500 500 500 499 500 351 353 349 351 500 500 500 476 488 485 484 488 491 482 33 25 27 40 500 500 500 500 500 500 500 500 500 500 264 288 294 285 500 491 493 314 329 300 308 330 329 309 29 41 32 29 500 500 500 492 498 491 494 495 496 486 253 253 231 257 Mean squared Error 1.50 1.57 1.61 1.55 2.25 1.50
7
5.2 Hoeveelheid en grootte van coëfficiënten
Voor het testen van de invloed betreffende hoeveelheid en de grootte van coëfficiënten worden er weer 500 datasets gesimuleerd met 80 waarnemingen. Het model ziet er als volgt uit
Met X een matrix met 80 waarnemingen en 14 variabelen getrokken uit een multivariate normale verdeling. is een vector met 80 waarnemingen
getrokken uit een standaard normale verdeling. De trainingset en testset bestaan weer allebei uit 40 waarnemingen. Alleen dit keer wordt constant gehouden op 0.3 en zal de veranderen.
Tabel 2 geeft de resultaten van drie verschillenden en de waarden van
R2. In kolom 1,3,5 wordt weergeven hoe vaak de variabelen in het OLS-model worden opgenomen (van de 500 datasets) en in kolom 2,4,6 wordt hetzelfde gedaan alleen dan met het Lassomodel. De laatste rij bevat weer de Mean Squared Errors voor alle situaties. In de eerste en tweede kolom is =(0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8), in de derde en vierde kolom is =(5,0,0,0,0,0,0,0,0,0,0,0,0,0) en in de vijfde en zesde kolom is
=(0,0,0,0,2,2,2,2,0,0,0,2,2,2). 0 0,5 1 1,5 2 2,5 3 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Mean Squared Error OLS Lasso
8
Aan de resultaten van tabel 2 is te zien dat wanneer alle coëfficiënten eenzelfde klein effect hebben (0.8), dat dan de Lasso stukken beter presteert dan OLS. Niet alleen is de MSE een stuk lager, maar ook de juiste variabelen worden bijna elke keer in het model opgenomen. Als bestaat uit één grote coëfficiënt en de rest uit nullen, dan presteert OLS iets beter dan Lasso. En als bestaat uit de helft nullen en de helft uit redelijk grote coëfficiënten dan
presteert OLS een stuk beter dan Lasso.
5.3 Steekproefgrootte
Met het effect van de steekproefgrootte wordt vooral het effect bedoeld dat optreed als het verschil tussen het aantal waarnemingen en het aantal
variabelen varieert. Om dit effect te meten worden weer 500 datasets gesimuleerd. Het datagenererende model ziet er als volgt uit
Het model heeft weer 14 variabelen, met =(1,2,1,3,0,1,0,2,0,1,0,1,1,1). Alleen dit keer zal het aantal waarnemingen variëren. De trainingset is weer even groot als de testset. Dus is X een matrix met 14 variabelen en een variërend Trainingset = 40 Testset = 40 =(0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8) R2=0.980 =(5,0,0,0,0,0, 0,0,0,0,0,0,0,0) R2=0.967 =(2,2,2,2,2, 2,2,0,0,0,0,0,0,0) R2=0.989 Variabelen Model
OLS [1] Lasso [2] OLS [3] Lasso [4] OLS [5] Lasso [6]
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 460 463 466 464 462 461 464 458 458 454 459 474 449 459 500 500 499 500 499 500 500 500 500 499 500 500 499 500 500 34 33 35 35 33 42 23 37 32 32 27 28 31 500 128 135 131 132 132 137 104 112 124 125 123 118 121 500 500 500 500 500 500 500 39 37 28 34 39 40 33 500 500 500 500 500 500 500 279 261 264 274 273 262 259 Mean squared Error 2.22 1.63 1.16 1.17 1.36 1.47
9
aantal waarnemingen getrokken uit een multivariate normale verdeling en is een vector met variërend aantal waarnemingen getrokken uit een standaard normale verdeling. De correlatie tussen xi en xj wordt weer constant gehouden (=0.3).
In tabel 3 worden de resultaten weergeven van de gesimuleerde datasets. In kolom 1,3,5 worden weer de opgenomen variabelen van de OLS-methode weergeven en in 2,4,6 worden weer de opgenomen variabelen van de Lassomethode weergeven. De laatste rij geeft de Mean Squared Errors weer voor alle situaties. In de eerste twee kolommen is het aantal waarnemingen gelijk aan 40, in de derde en vierde kolom 60 en in de vijfde en zesde kolom 80. De maat n/k geeft de ratio aan van het aantal variabelen ten opzichte van het aantal waarnemingen, waarbij n het aantal waarnemingen is en k het aantal variabelen.
Als het aantal variabelen groot is ten opzichte van het aantal
waarnemingen geeft OLS zoals verwacht slechte voorspellingen (MSE=8.56). Lasso daarentegen doet het in deze situatie een stuk beter op voorspelgebied (MSE=3.59). Hoewel Lasso veel onjuiste variabelen opneemt, neemt het bijna altijd de juiste variabelen op. Naarmate het aantal waarnemingen stijgt en dus de ratio n/k stijgt, zie je dat OLS snel beter gaat presteren. Het duurt dan ook niet lang voordat OLS betere voorspellingen geeft dan Lasso en alle goede variabelen opneemt. Waarnemingen=40 n/k=2.86 R2=0.990 Waarnemingen=60 n/k=4.29 R2=0.987 Waarnemingen=90 n/k=6.43 R2=0.986 Variabelen en coëfficiënten Model
OLS [1] Lasso [2] OLS [3] Lasso [4] OLS [5] Lasso [6]
X1 (3) X2 (2) X3 (2) X4 (1) X5 (1) X6 (1) X7 (1) X8 (1) X9 (1) X10 (1) X11 (0) X12 (0) X13 (0) X14 (0) 495 460 460 273 267 285 271 285 294 285 51 60 57 53 500 500 500 488 487 482 485 486 480 480 314 309 317 322 500 500 500 444 446 447 438 444 449 457 48 35 47 37 500 500 500 499 499 500 498 500 500 499 313 285 306 309 500 500 500 494 498 496 499 498 496 496 24 33 24 24 500 500 500 500 500 500 500 500 500 500 289 309 296 303 Mean squared Error 8.56 3.59 2.49 1.89 1.40 1.46
10
In figuur 4 is te zien dat OLS slecht presteert met weinig waarnemingen ten opzichte van het aantal variabelen. Lasso doet het in deze situatie beter. Maar naarmate het aantal waarnemingen toeneemt, gaat OLS snel beter presteren en zelfs beter dan Lasso.
6 Conclusie
In deze scriptie is er een relatief nieuwe techniek (de Lasso) behandeld. Deze methode is een regressiemethode en selectiemethode ineen. De Lasso krimpt de coëfficiënten en zet sommige op 0 met een zogeheten tuning parameter. Het voorspelvermogen van de Lasso is in deze scriptie vergeleken met die van OLS aan de hand van drie onderdelen. Dat zijn de steekproefgrootte, de hoeveelheid en grootte van coëfficiënten en de mate van correlatie tussen de variabelen. Gebleken is dat de Lasso voor bepaalde datasets een goed
alternatief is voor OLS. Zo presteert de Lasso beter voor datasets die veel variabelen hebben ten opzichte van het aantal waarnemingen. Daarnaast presteert Lasso beter voor datasets die veel multicollineariteit in het model hebben en tot slot presteert Lasso beter als er veel variabelen met dezelfde kleine coëfficiënten in het model zitten. OLS presteert daarentegen juist goed als er weinig multicollineariteit in het model zit en er genoeg waarnemingen zijn. Beperking van het onderzoek is natuurlijk wel dat de coëfficiënten die bij OLS niet significant zijn (met 5% ), gelijk uit het model zijn gehaald, terwijl dit in de realiteit niet altijd gedaan wordt. Maar dat neemt niet weg dat de Lasso voor sommige datasets met de voorgenoemde eigenschappen een goed alternatief kan zijn voor het analyseren van data.
0 1 2 3 4 5 6 7 8 9 40 50 60 70 80 90 100 110 120 Mean Squared Error Waarnemingen OLS Lasso
11
7 Bibliografie
Varian, H. (2014), “Big Data: New Tricks for Econometrics”, Journal of Economic Perspectives, 28, pp. 3-27.
Tibshirani, R. (1996), “Regression Shrinkage and Selection via the Lasso”, Journal of the Royal Statistical Society, Ser. B, 58, pp. 267-288.
James, G., Witten, D., Hastie, T., Tibshirani, R. (2013), An Introduction to Statistical Learning: with Applications in R (pp. 203-279), Springer. Ildiko, F. and Friedman, J. (1993), “A Statistical View of Some Chemometrics
Regression Tools”, Journal of the American Statistical Association, 35,
pp.109-135.
Zou, H. (2006), “The Adaptive Lasso and Its Oracle Properties”, Journal of the American Statistical Association, 101, pp. 1418-1429.
Fu, W. (1998), “Penalized Regressions: The Bridge versus the Lasso”, Journal of Computational and Graphical Statistics, 7:3, 397-416.