Detta examensarbete har gjorts på Försäkringskassans huvudkontors utvecklingscentrum.



Relevanta dokument
Så här tjänar du in till din pension

Vad blev det för pension 2014? En jämförelse mellan pension och slutlön för årskullarna 1938 till 1946

Beräkning av förlust av allmän pension för personer födda

Hela livet räknas När du sparar till din allmänna pension

Vad blev det för pension 2011? En jämförelse mellan pension och slutlön för årskullarna 1938 till 1943

Hela livet räknas. När du sparar till din allmänna pension

Din allmänna pension en del av din totala pension

Hela livet räknas. När du sparar till din allmänna pension

Din tjänstepension PFA

Din avtalspension KAP-KL

Din avtalspension KAP-KL

Bilaga till pensionspolicy

Din allmänna pension en del av din totala pension

Pensioner, och särskilt tjänstepensioner, kan vara lite krångliga. Att just tjänstepensioner blir lite krångligare beror på att det är avtalad

Hela livet räknas. När du sparar till din allmänna pension

För dig som är född 1954 eller senare

Välkommen till informationsträff med KPA Pension. Åke Andersson

Lektionsanteckningar 11-12: Normalfördelningen

Nytt pensionsavtal för statligt anställda PA 03

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Du bestämmer själv. När du vill ta ut pension

Din allmänna pension en del av din totala pension

Din tjänstepension KAP-KL

Jämförelse i utfall av inkomstgrundad allmän pension i det nya och det gamla pensionssystemet för födda

Din tjänstepension PA KFS 09. för dig som är född 1954 eller senare

Din pension och andra ersättningar har räknats om vid årsskiftet. De nya beloppen framgår nedan. Premiepension Avdrag för preliminär skatt

Nio svar om din pension

2007:1. Nyckeltal för balanstalet 2005 ISSN

k Individuella Kollektivavtal Lagar

Sara, 32 år informatör. Adam, 41 år undersköterska. Louise, 52 år avdelningschef

Din tjänstepension Gamla PA-KFS. för dig som är född 1953 eller tidigare

Pensionsriktlinjer för anställda

Du bestämmer själv. När du vill ta ut pension

Kortvarigt eller långvarigt uttag av tjänstepension vilka blir de ekonomiska konsekvenserna?

Statistiska Institutionen Gebrenegus Ghilagaber (docent)

Din pension och andra ersättningar har räknats om vid årsskiftet. De nya beloppen framgår nedan. Avdrag för preliminär skatt

BESTÄMMELSER OM PENSION FÖR FÖRTROENDEVALDA

FLEXPENSION I TJÄNSTEFÖRETAG. Översiktlig information

Förmånliga kollektivavtal. försäkrar akademiker. Kollektivavtal Sjukdom Arbetsskada Ålderspension

Din tjänstepension PFA

KORTVARIGT ELLER LÅNGVARIGT UTTAG AV TJÄNSTEPENSION VILKA BLIR DE EKONOMISKA KONSEKVENSERNA?

Pensionen minskar med 100 kronor efter skatt 2014

PM Dok.bet. PID

Din allmänna pension en del av din totala pension

Hur påverkas pensionssystemets finansiella ställning av ett längre arbetsliv

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Tentamen i Matematik 2: M0030M.

HR-servicecenter. Information om din tjänstepension. Anna Borin Gunilla Lindqvist. januari hrservicecenter.se

Valet för din tjänstepension KAP-KL

Din tjänstepension heter ITP 1

Tips! Bra att löpande genom presentationen tala om var ni är i pyramiden.

PA Hans Norin, OFR

Indexering av pensionerna

PTK Rådgivningstjänst funktion och hur råden tas fram

Hur stor blir pensionen?

Premiepensionens delningstal och dess känslighet för ändrad livslängd och ränteantagande

7.5 Experiment with a single factor having more than two levels

Collectums Pensionsindex 2012 för tjänstemän i det privata näringslivet

HR-servicecenter. Information om din tjänstepension. Anna Borin Gunilla Lindqvist. 17 november hrservicecenter.se

FLEXPENSION I TJÄNSTEFÖRETAG. Översiktlig information

Statistikinformation Is-I 2004:1

Din tjänstepension heter ITP 1

1. Lära sig plotta en beroende variabel mot en oberoende variabel. 2. Lära sig skatta en enkel linjär regressionsmodell

Föreläsning 6 (kap 6.1, 6.3, ): Punktskattningar

Pensionsskolan. Pensionsinformation kring vårens omval av tjänstepension ITP (privatanställda tjänstemän)

Vad är flexpension? Varför flexpension? Vem får flexpension? Flexpension en del i pensionssystemet... 6

Din tjänstepension i Alecta

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN

Ålderspensions- systemet vid sidan av statsbudgeten

Föreläsning 12: Regression

Din framtida pension Född 1954 eller senare 60 sidor grundkunskap

Din tjänstepension heter ITP 2

Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 05 June 2017, 14:00-18:00. English Version

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

En snabblektion om pension

Hur stor blir pensionen för utrikes födda?

Varje månad betalar din arbetsgivare in pengar till din tjänstepension. Är man som du privatanställd tjänsteman, heter tjänstepensionen ITP 1.

Din pension enligt det nya ITP-avtalet.

Nedan redovisas resultatet med hjälp av ett antal olika diagram (pkt 1-6):

Olika faktorer bidrar till omräkningen av inkomst- och tilläggspension 2017:

Effekt av balansering 2011 med hänsyn tagen till garantipension och bostadstillägg

Mer om slumpvariabler

Avtalsjuridik för privatpersoner och företagare

I denna kommenterade statistik beskriver vi individernas allmänna pensioner och pensionsrelaterade bidrag brutto. Vi beaktar inte skatten på

Din tjänstepension heter ITP 2

Din allmänna pension en del av din totala pension

Indexering av pensionerna

2007:4. Ålderspension. Pensionsunderlag och pensionsbehållning ISSN

Din pension enligt det nya ITP-avtalet

Invandrare och pensioner

PM Dok.bet. PID

KAP-KL. Information om tjänste pensions- avtalet. För dig som är född 1985 eller tidigare och är anställd i kommun och landsting

Olika faktorer bidrar till omräkningen av inkomst- och tilläggspension 2018:

Föreläsning 8, Matematisk statistik 7.5 hp för E, HT-15 Punktskattningar

Din tjänstepension PFA

Din tjänstepension heter ITP 2

Det handlar om din pension. Pensionsavtalet KAP-KL för dig som är kommun- eller landstingsanställd

MVE051/MSG Föreläsning 7

Garantipensionen påverkas av prisbasbeloppet som minskar med 0,2 procent från 2013 till 2014 för dem som enbart har garantipension.

Betrakta kopparutbytet från malm från en viss gruva. För att kontrollera detta tar man ut n =16 prover och mäter kopparhalten i dessa.

Transkript:

2 Sammanfattning Försäkringskassan behöver göra pensionsskuldsberäkningar. Garantipensionen och den allmänna tilläggs pensionen (ATP) beror på befolkningens inkomster. Då krävs det en bra inkomstmodell för hela Sveriges befolkning. Den gamla modellen behövde förbättras. En ny lösning är att studera Lorenzkurvan, som beskriver inkomstfördelningen i ett land. Den nya modellen för inkomster, som presenteras i denna studie, simuleras den relativa rangen istället för inkomsterna i kronor. Fördelning för den relativa rangen, hädanefter kallad rang, liknar en betafördelning och därför görs antagandet att rangen är betafördelad. Betaregression är en prediktionsmodell då den beroende modellen är betafördelad. Regressionsmodellen använder sig av en transformation. Det finns en färdig funktion i det statistiska programmet R som utför betaregression, vilket används i studien. Populationen med inkomst är uppdelad i fyra underpopulationer: män födda i Sverige, män födda utomlands, kvinnor födda i Sverige och kvinnor födda utomlands. För varje underpopulation är skattningarna gjorda för olika åldrar för sig. Inkomst år y+1 beror på * Inkomst år y * Pensionsgrundande inkomst år y-3 till år y-1 * Summa pensionsgrundande inkomst till och med år y-4 Modellen ger ett bra väntevärde, men standardavvikelsen är över/underskattad. För en bättre modell kan förslag ges till att i framtida studier titta på precision parametern (ett mått på variansen, φ = p + q, där p och q är parametrarna i betafördelningen) som en prediktor i modellen. För detta behövs algoritmen i betaregression göras manuellt.

3 Förord Detta examensarbete har gjorts på Försäkringskassans huvudkontors utvecklingscentrum. Jag vill ge ett stort tack till min handledare Danne Mikula på Försäkringskassan för all hjälp, stöd och tålamod. Jag uppskattar all tid du tagit för att diskutera projektet med mig. Det har varit ett roligt och givande arbete. Jag vill dessutom tacka till min handledare Dag Jonsson på Matematiska institution vid Uppsala Universitet, för alla synpunkter och råd om utformningen av uppsatsen.

4 Innehållsförteckning 1 Inledning, pensionssystemet... 5 1.1 Allmänna pensionen...6 1.2 Tjänstepensionen...8 1.3 Privat sparande...8 2 Beräkningar i allmänna pensionssystem... 8 2.1 Försäkringskassans roll...8 2.2 Gamla inkomstmodell...9 2.2.1 Inkomstmatriser...12 2.3 Problem med gamla inkomstmodellen...12 2.4 Datamaterial...13 3. Analys... 13 3.1 Lorenz-kurvan...13 3.2 Modellens struktur...14 3.3 Rangens fördelning...17 3.4 Betaregression...19 3.3 Finns det problem med betaregression?...20 4 Resultat... 21 4.1 Parametrar...21 5 Diskussion... 29 5.1 Valet av parametrar...29 5.2 Modellens standardavvikelse...29 5.3 Slutord...29 6. Referenser och källor...30 7. Appendix...31 7.1 Mer skattningar...31 7.11 Parametrarna i modell...31 7.1.2 Medelvärde av standardavvikelsen...35 7.2 Programkod tillhörande analysen...36 7.2.1 Lorenz-curva...36 7.2.2 Spline...38 7.2.3 Återskappande av Lorenz curve...40 7.2.4 Medelinkomster...42 7.2.5 Skattningar av parametrar...43

5 1 Inledning, pensionssystemet Sveriges pensionssystem fungerar i stora stycken som vanligt banksparande. Alla personer har individuella pensionskonton som har en värdeförändring under årens lopp. Sparandet i en pensionsförsäkring är låst för uttag av pengarna till personen uppnått lägsta åldern för uttag av pensionen. Alla pensionsförsäkringar hör samman med ett kollektiv, allt från en liten till en stor grupp människor. Ett syfte med pensionsförsäkringar är att omfördela tillgångar mellan personer i kollektivet; i sin egen årskull bidrar personer som lever kortare tid än genomsnittet med pensionspengar (arvsvinst) till personer som lever längre än genomsnittet. (Pensionssystemets årsredovisning 2005) Pensionssystemet består av tre delar : Allmän pension (gäller för alla) Tjänstepension (gäller de flesta) Privat sparande (frivilligt) Fördelningen kan illustreras i form av en triangel: (Försäkringskassan) Pensionens storlek från varje del beror på hur mycket som finns på pensionskontot, från vilken tidpunkt när pensionen ska betalas ut samt om det är under en begränsad tid eller livsvarigt. Den allmänna pensionen betalas alltid ut livsvarigt. Förväntad livslängd för individen spelar också roll för pensionens storlek.

6 1.1 Allmänna pensionen Det statliga pensionssystemet består av inkomstpension, premiepension och garantipension. Försäkringskassan administrerar inkomstpensionen samt garantipensionen och Premiepensionsmyndigheten (PPM) administrerar premiepensionen. All intjänad pensionsgrundande inkomst ligger till grund för varje persons allmänna pension. Den pensionsgrundande inkomsten (pgi) är densamma som den skattepliktiga årsinkomsten (förutom lön på arbete räknas arbetslös-, sjuk och aktivitetsersättning) upp till 7,5 inkomstbasbelopp (333 750 kr, år 2006). Från den pensionsgrundande inkomsten dras 7 % till pensionen samtidigt som skatten dras. Även arbetsgivaren betalar avgifter för sina anställda, f.n. 10,21% av den pensionsgrundande inkomsten (för belopp över inkomstbasbeloppet betalas procentsatsen som en extra statsskatt). Pensionsunderlaget definieras som den pensionsgrundande inkomsten subtraherad med pensionsavgiften på 7% (pensionsunderlaget är 93% av den pensionsgrundande inkomsten). Pengarna som går till pensionskontot är 17,21% av den pensionsgrundande inkomsten och tillika 18,5% av pensionsunderlaget ( 0,1721 / 0,93 = 0,185 ). Av de totalt sätt 18,5 procenten går 16 procentenheter till inkomstpensionen samt 2,5 procentenheter till premiepensionen. Även studier, plikttjänstgöring, förtidspension och år med små barn ökar på det individuella pensionskontot. Det här pensionssystemet gäller för personer födda efter 1953. Personer födda före 1938 har en pension beräknad enligt äldre regler; istället för inkomstpension och premiepension får de folkpension och allmän tilläggspension (atp). Folkpensionens storlek är en fast procentandel av inkomstbasloppet för alla och tilläggspensions storlek är baserad på de femton bästa årsinkomsterna och det krävs 30 inkomstår för att få en oavkortad pension. För personer födda mellan 1938 och 1953 finns övergångsregler mellan det gamla och det nya pensionssystemet. De får sin allmänna pension som en blandning av tilläggs-, inkomst- och premiepension. Ju yngre personen är, desto mindre del betalas ut som tilläggspension och större del som inkomst- och premiepension. Den allmänna pensionen är livsvarig och kan tidigast utbetalas från 61 år ålder. Inkomstpensionen bygger på ett fördelningssystem, som innebär att pengarna som kommer in slussas direkt vidare till dagens pensionärer. Det finns även fyra buffertfonder: Första, Andra, Tredje och Fjärde Allmänna Pensionsfonden. Pensionssystemet kan sägas ha en pensionsskuld till alla som har pengar inbetalda till inkomstpensionen Premiepensionen är ett så kallat premiereservsystem, som betyder att pengarna som avsätts till premiepensionen inte slussas direkt ut till dagens pensionärer utan sparas tills individen själv går i pension. Pengarna betalas in på ett individuellt premiepensionskonto där personen själv väljer vilka fonder pengarna placeras i.

7 Total pensionsskuld 31 december 2005 visas i figur 1. figur 1 (Pensionssystemets redovisning 2005) Garantipensionen är ett grundskydd för personer med låga eller inga inkomster och fyller ut pensionen till ett visst belopp (7047 kronor/månad för ogifta och 6286 kronor/månad för gifta, år 2006). Grafik visas i figur 2. Full garantipension får bara personer som bott i Sverige minst 40 år; dock finns undantag för flyktingar. Garantipensionen finansieras med skatter. figur 2 (Pensionssystemets årsredovisning 2005, Försäkringskassan)

8 1.2 Tjänstepensionen De flesta fast anställda har någon form av tjänste- eller avtalspension som arbetsgivaren betalar. Den grundar sig på att arbetstagaren ska få ut en del av sin lön som pension och det bygger på ett avtal mellan fackförbund och arbetsgivare. Tjänstepensionen är ett komplement till den allmänna pensionen och det finns två grundmodeller: premiebestämd och förmånsbestämd. Tjänstepensionsavtalen varierar med arbetsgivare. I vissa avtal kan tjänstepensionen väljas att bli utbetald under en tid om minst fem år istället för livsvarigt, dock tidigast från 55 års ålder. Förmånsbestämd tjänstpension innebär att den anställda garanteras en viss procent av slutlönen. Den kompletteras ofta med en premiebestämd del. Premiebestämd tjänstepension innebär att den anställda själv får placera en premie i fonder eller traditionella pensionsförsäkringar. Tjänstepensionens storlek kan variera kraftigt beroende på hur pengarna är placerade. (Försäkringskassan) 1.3 Privat sparande Pensionen kan kompletteras genom eget sparande i privata pensionsförsäkringar. Det finns tre typer av privat pensionssparande: traditionell pensionsförsäkring, fondförsäkringar och individuellt pensionssparande Traditionella pensionsförsäkringar ger en minsta garanterad ränta på kapitalet. Den verkliga återbäringsräntan kan dock bli högre. I en fondförsäkring bestäms pengarnas utveckling enbart av hur fonderna man själv valt går. Individuellt pensionssparande innebär att personen själv bestämmer hur pengarna ska investeras i fonder eller värdepapper utan medverkan av försäkringsbolag men med samma låsning av pengarna. (Finansdepartementets skolwebb) 2 Beräkningar i allmänna pensionssystem 2.1 Försäkringskassans roll Alla försäkringsgivare presenterar varje år en årsredovisning. Staten, genom försäkringskassan presenterar sin årsredovisning för det allmänna pensionssystemet. För att kunna göra det behöver man veta pensionsskuldens storlek. I och med att tilläggspensionen beror på de femton bästa årsinkomsterna, vet man inte idag storleken på skulden till personer som fortfarande arbetar. Därmed är man beroende av en uppskattning av skulden, vilket beräknas bland annat med hjälp av en inkomstmodell. Även för att uppskatta de framtida behoven av hur mycket garantipension staten behöver betala ut, krävs kunskap över inkomstfördelningen. I pensionssystemets årsredovisning presenteras olika framtidsscenarier 75 år fram i tiden där inkomstmodellen också är en viktig del i beräkningarna. Framskridningarna presenteras i tre olika utvecklingsförlopp; bas, optimistisk respektive pessimistisk. Basscenariet utgår från Statistiska

9 Centralbyrån (SCB:s) senaste befolkningsstatistik samt en viss årlig inkomsttillväxt och avkastning på buffertfondens medel. Det optimistiska respektive pessimistiska scenariot har något mer positiva alternative negativa antaganden. Ett mått på fondstyrkan är buffertfondens storlek dividerat med samma års pensionsutgifter och som över tiden illustreras i figur 3. figur 3 (Pensionssystemets redovisning 2005) 2.2 Gamla inkomstmodell Den gamla modellen skapades i början på 1970-talet på Matematisk-statistiska byrån på Riksförsäkringsverket. Modellen är en dynamisk mikrosimuleringsmodell uppdelad i två steg. I steg 1 simuleras demografi och inkomster och i steg 2 tillämpas pensionsregler. Modellen i steg 1 bestod av en markovmodell med uppsättningar av markovmatriser, en för status och två för inkomster samt i tre dimensioner (ålder, kön, född i Sverige/född utomlands). Personer under 16 år benämns barn och för gruppen modelleras enbart in- och utflyttning från Sverige samt dödsårsimulering. Förvärvsaktiva betecknar personer i åldrarna 16-64 år och delas i sin tur upp i grupperna aktiva och förtidspensionärer. Personer i åldrarna 65 år och uppåt benämns ålderspensionärer. För de förvärvsaktiva görs den huvudsakliga modelleringen. Enbart dödsår modelleras för ålderspensionärer. Varje variabel i modellen är inte användbar för varje person, därav får den värdet noll ( Null ) när så är fallet. (Beskrivning av beräkningsgången I)

10 Statusindelningen illusteraras av figur 4. figur 4, statusindelning Män (födda i Sverige) Kvinnor (födda i Sverige) Null, sve akt, sve ftp, sve åldersp Null, sve akt, sve ftp, sve åldersp Null, utm akt, utm ftp, utm avliden Null, utm akt, utm ftp, utm avliden Män (födda utomlands) Kvinnor (födda utomlands) Null, sve akt, sve ftp, sve åldersp Null, sve akt, sve ftp, sve åldersp Null, utm akt, utm ftp, utm avliden Null, utm akt, utm ftp, utm avliden sve = bor i Sverige, utm = bor utomlands, akt = aktiv, ftp = förtidspensionär, åldersp = ålderspensionär (Beskrivning av beräkningsgången I)

11 Inkomstmatrisen definieras av 18 klasser vilket figur 5 visar: Figur 5, definition av inkomstklass K K Inkbb poäng historiskt 1 0 0 2 1-99 0 3 0 >0 4 1-99 >0 5 100-199 6 200-299 7 300-399 8 400-499 9 500-599 10 600-699 11 400-749 12 750-799 13 800-899 14 900-999 15 1000-1199 16 1200-1399 17 1400-1599 18 >1599 K = inkomstklass, inkbb = inkomstbasbelopp (Beskrivning av beräkningsgången I)

12 Flöde av personer sker enligt figur 6 Barn Förvärvsaktiva Ålderspensionärer Avlidna (Beskrivning av beräkningsgången I) 2.2.1 Inkomstmatriser De två uppsättningarna av inkomstmatriser, inledning och horisont, viktas samman av en viktfaktor w y. I början av simuleringarna ska den inledande inkomstmatrisen dominera medan horisontmatrisen får j större vikt ju längre simuleringen pågått. Låt k vara sannolikheten att en person i åldern { 17,18,...63,64 { 1,2,...,18 i a a ε vid andra årets slut förflyttar sig ifrån inkomstklass i år 1 till inkomstklass j år 2, där i, j ε och är definierad av figur xy. För den inledande inkomstmatrisen betecknas i j sannolikheten kˆ i j a och för horisontmatrisen betecknas sannolikheten k a. Den totala sannolikheten i j i j i j blir med införda beteckningar k = w kˆ + (1 w ) k. Från lagen om total sannolikhet fås 18 a y a i j sambandet k = 1. Sextonåringars och förstagångsinvandrare fås från två tidsserier för män och kvinnor. j= 1 a (Beskrivning av beräkningsgången I) k a 2.3 Problem med gamla inkomstmodellen Det fanns problem med inkomstsimuleringarna i den gamla modellen. Klasserna var dels för få och dels generade modellen själv en varierande inkomstfördelning. Summan av alla inkomster och snittinkomsten påverkades av detta och för ett pensionssystem är det inte bra om mindre pengar kommer in i systemet än vad man tidigare räknat med. En temporär lösning på problemet var att göra justering av

13 inkomstfördelningarna genom att ha använda sig av tidigare fastställda inkomstfördelningar. Detta var inte en bra permanent lösning för att simulera inkomsterna, det behövdes en bättre modell för inkomsterna. 2.4 Datamaterial Datamaterialet i denna studie kommer från Försäkringskassans databas MIDAS. Hela Sveriges befolkning ingår i materialet. Det statistiska programmet R används för hämtning och beräkningar av datamaterialet. 3. Analys 3.1 Lorenz-kurvan Lorenz-kurvan är ett sätt att beskriva inkomstfördelningen i ett land. Den tas fram från empiri och i denna modell är det lämpligt att anta att den är konstant över åren, vilket naturligtvis inte behöver vara sant. Men det behövs stabilitet i modellen och på grund av detta görs ett antagande om att Lorenz-kurvan är konstant. I den nya inkomstmodellen simuleras den relativa rangen, hädanefter kallad rang. Följande definitioner görs: Inc i = inkomst for i : te person i ordning från lägsta till högsta rang i = { ordningsnr för i : te person, sorterad efter inkomst { antal personer kumulativa summan i = i k = 1 k Inc Inc k k Lorenz-kurvan är den kumulativa summan som en funktion av rangen. Endast personer med inkomst under året tas med här i beräkningarna för Lorenz-kurvan.

14 figur 7 Den gröna linjen är Lorenz-kurvan i figur 7.. Den svarta linjen visar Lorenz-kurvan om alla som arbetade i Sverige skulle tjäna lika mycket. Från denna graf kan man räkna ut en persons inkomst, givet antalet personer, totala inkomstsumman samt personens rang: där L är Lorenz-grafen, N är antalet personer samt i i 1 Inc i = L L * S N N, S = N k= 1 Inc i. 3.2 Modellens struktur För att få fram personers rang år y+1 delas befolkningen in i tre klasser Inkomst år y och pgi år y-1 (klass 1) Inkomst år y men ingen pgi år y-1 (klass 2) Ingen inkomst år y (klass 3) Varje klass delas upp på 4 grupper Man, född i Sverige (msw) Man, född utanför Sverige (mab) Kvinna, född i Sverige (wsw) Kvinna, född utanför Sverige (wab) Varje grupp delas upp i åldersklasser. Det finns inga begränsningar av åldersspannet i modellen men här har åldrarna 25 till 61 studerats för år y.

15 I den nya modellen studeras rangordningarna i stället för inkomsterna i kronor. För klass 1 simuleras rangen och för klass 2 och 3 får man inkomstfördelningen år y+1 fram empiriskt genom skapande av Lorenz-kurvan. I figur 8 visas Lorenz-kurvan (för klass 2) för gruppen män 25 år födda i Sverige. figur 8 Lorenz-kurva, a= 25 s= 1 u= 0 kumulativa summan 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 rang Ett enklare sätt att få fram Lorenz-kurvan har fåtts fram i denna studie. Kurvan kan tas fram genom att enbart veta 12 punkter på kurvan. Därefter återskapas Lorenz-kurvan med funktionen spline i statistiska programmet R. Punkterna väljs så att de ligger med lika avstånd på kurvan. Detta visas i figur 9.

16 figur 9 För att den nya inkomstmodellen ska bli komplett tas medelinkomsterna fram för olika åldrar och grupper. I figur 10 finns medelinkomsterna per månad (för personer med inkomst) för 2001. figur 10 Medelinkomster per månad, år 2001 kronor 0 5000 10000 15000 20000 25000 30000 män födda i Sverige män födda utanför Sverige kvinnor födda i Sverige kvinnor födda utanför Sverige 20 30 40 50 60 ålder

17 3.3 Rangens fördelning För personer med inkomster som har haft inkomst båda åren, ger rangen för inkomsterna ett år plottad mot rangen för inkomsterna året i figur 11. figur 11 Täthetsfunktionen undersökt empiriskt för inkomstrangen år 2001 finns i figur 12-15 (med rangen uppdelad i 100 klasser). figur 12 figur 13 Frequency 0 50 100 150 Frequency 0 20 40 60 80 100 120 140 0 20 40 60 80 100 100 klasser för rangen år 2002, då rangen år 2001 är 0.2 0 20 40 60 80 100 100 klasser för rangen år 2002, då rangen år 2001 är 0.5

18 Frequency 0 20 40 60 80 100 120 140 Frequency 0 50 100 150 f figur 14 figur 15 0 20 40 60 80 100 100 klasser för rangen år 2002, då rangen år 2001 är 0.7 0 20 40 60 80 100 100 klasser för rangen år 2002, då rangen år 2001 är 0.9 Rangens empiriska täthetsfunktion påminner om betafunktionen. Ritar man upp riktiga betafunktioner ser det ut som i figur 16. figur 16 betafunktioner för man 40år 0 1 2 3 4 rank 0,2 rank 0,5 rank 0,7 rank 0,9 4 44 4 4 44 4 4 4 4 4 4 4 4 4 4 4 1 1111 1 111 1 11 1 1 11 333333333333 1 1 11 1 1 2222222222222222222 3 4 4 11 1 3 1 2 1 11 2222222 333 4 333333 4 3 12 222 3 333 3 3 2 4 44 222 1 11 2 222 3 33 3 3 1 2 111 222 1 2 222 3 333 4 44 3 1 4 44 3 1111 2 222 1 1 2 2222 3 1111 2 1 1 2222222222222222 3333333333333333333333333333333333333333333333 3333 3 4444444 4 444 3 3 1111111111111111111111111111111111111111111111111 2222222222222222222222 22222 3 3333 444444444444444444444444444444444444444444444444444444444 4 0.0 0.2 0.4 0.6 0.8 1.0 y

19 Det finns något som påminner om en betastruktur hos rangen, som ligger på ett ändligt intervall (mellan 0 och 1) och man kan se den som kontinuerlig. Därför antas rangen i denna modell vara betafördelad. Betafördelningens täthetsfunktion ser ut som följer: Γ Γ ( p + q) ( p) Γ( q) q ( y) 1 p f ( y, p, q) = y 1 1, där 0<y<1, p>0, q>0 och Γ( ) är gammafunktionen. Väntevärdet och variansen för y är E ( y) = p p + q och pq var( y) = 2 ( p + q) ( p + q + 1) 3.4 Betaregression Silva L.P Ferrari och Francisco Cribari-Neto (2004) föreslår en regressionsmodell för betafördelade variabler. Den används för att anpassa en regressionsmodell där den beroende variabeln är betafördelad. Denna modell passar när den beroende variabeln är kontinuerlig och ligger i intervallet [0 1]. Betaregression finns som färdig funktion (betareg) i det statistiska programmet R. För denna regressionsmodell görs en transformation för att istället för de vanliga parametrarna i betafördelningen använda en parameter som representerar väntevärdet av utfallet, µ, samt en parameter p som representerar precisionen, φ. Låt µ = och φ = p + q, vilket leder till att vi får p + q och var E ( y) = µ V ( ) ( µ ) y, där V = µ ( 1 µ ) = 1+ φ Betafördelningens täthetsfunktion kan skrivas om med den nya tranformationen till φ Γ( φ) ( uφ) Γ( ( 1 µ ) φ) ( ) ( 1 µ ) φ y 1 µ φ f ( y, µ, ) = y 1 1, 0<y<1 Γ

20 Modellen får man genom att anta att det existerar en funktion g(µ), där µ är väntevärdet av y, som kan skrivas som g k x i i = 1 ( µ ) = T k där k är känt och fixt, = ( β β ) är en vektor av regressionsparametrar ( R ) β 1,..., k β och x 1,..., xk är de oberoende variablerna i regressionsmodellen. Enligt Ferrari och Cribari-Nettos modellen kan vi skriva T där x ( x,..., x ) k µ T e = 1+ e x β T β, x β =. Skattningen av regressionsparametrarna gör med maximum likelihoodmetoden och 1 log-likelihoodfunktionen maximeras med Quasi-Newton BFGS -algoritmen. Ferrari och Cribari-Neto har valt startvärden till funktionen betareg i det statistiska programmet R; funktionen kan skatta regressionsparametrarna givet en ekvation av den beroende av variabeln och de oberoende variablerna. i Ett försök att parametrisera nästa års inkomst (inc1) med betafördelningar och årets inkomst (inc0) som enda förklarande variabler ger bilden i figur 17. Inc1 är skattat med betaregression och den blå linjen är väntevärdet av inc1. figur 17 3.3 Finns det problem med betaregression? Ja! QuasiNewton-metoden bygger upp stora matriser med första derivatan och detta är CPU- och minneskrävande. Detta begränsar metoden till att man inte bör använda större urval än 2000-3000 individer. Det krävs även en dator med ett stort minne för att klara dessa körningar utan att det ska ta veckor.

21 4 Resultat 4.1 Parametrar Undersökta parametrar för att få fram inkomsten år (y+1) (inc1) a. Inkomsten år y (inc0) b. Totala livsinkomsten t.o.m. år y (beh0) c. Total pensionsgrundande inkomsten (pgi) t.o.m. år y (pgi_total) d. Totala pgin t.o.m.år (y-4) (pgi_long) e. Summan av pgin under år (y-4) till år y (pgi5) f. Summan av pgin år (y-3) till år (y-1) (pgi_short) g. Antal år i Sverige hos utrikesfödda personer (Swe) Antal år sedan första pgin h. Utbildning i. Barn under 2 eller 4 års ålder Variablerna är mycket starkt multikollinearade och därför kan inte effekten av enskild parameter studeras med de övriga parametrarna närvarande. För prediktion gör det inget att det förekommer kovarians mellan variablerna. Deras sammanlagda effekt ger ett bra resultat. Modellen som har kommit fram är ganska enkel och har valts ut med tanke på p-värden och psedo-r2. Det nästkommande årets inkomst beror på årets inkomst (inc0), pgin de senaste åren (pgi_short) och pgin under en lång period (pgi_long). Ekvation som fås fram är: inc < β 1 + β 2inc0 + β 3 pgi _ short + β 1 4 pgi _ long Grupperna är män födda i Sverige, män födda utanför Sverige, kvinnor födda i Sverige och kvinnor födda utanför Sverige. Varje ålder i de fyra grupper studeras var för sig och får olika skattningar. Parametervärdena antas variera långsamt med åldern och skattningar från två intilliggande åldersgrupper bör inte skilja sig allt för mycket. För att skatta β1, β 2, β 3 och β 4 för varje ålder och grupp har upprepade försök gjorts 10 gånger, varje gång på ett slumpmässigt urval på 2000 individer. För varje grupp har 10 skattningar gjorts för varje ålder och en skattning av β1, β 2, β 3 och β 4 och φ får man genom användandet av funktionen loess i statistiska programmet R. Först sorteras felaktiga skattningar bort empiriskt, betaregression kan ibland gå snett och genera skattningar som inte accepteras i modellen. När detta är gjort skattar funktionen loess parametrarna dels efter medelvärdet av skattningarna en viss ålder och dels med intryck av vilka värden parameten tar för åldrar runt omkring. För inrikesfödda män ser skattningarna ut så här. Den rätta linjen är loess-skattningen och prickarna är de 10 observationer som tagits fram (felaktiga skattningar borttagna): Skattning av parametern intercept,, 1 β, för män födda i Sverige finns i figur 18. På y-axeln anges värdet på parametern och på x-axeln åldern.

22 figur 18 intercept, sex = 1, origin = 0 intercept -2.4-2.2-2.0-1.8-1.6-1.4-1.2 25 30 35 40 45 50 55 60 age Skattning av inc0-parametern, β 0,, för män födda i Sverige syns i figur 19. På y-axeln anges värdet på parametern och på x-axel åldern. figur 19 inc0, sex = 1, origin = 0 inc0 3.0 3.5 4.0 4.5 25 30 35 40 45 50 55 60 age Skattning av pgi_short-parametern, 3 β, för män födda i Sverige visas i figur 20. På y-axeln anges värdet på parametern och på x-axeln åldern.

23 figur 20 pgi_short, sex = 1, origin = 0 pgi_short -1.0-0.5 0.0 0.5 1.0 25 30 35 40 45 50 55 60 age Skattning av pgi_long- parametern, β 4, för män födda i Sverige visas i figur 21. På y-axeln anges värdet på parametern och på x-axel åldern. figur 21 pgi_long, sex = 1, origin = 0 pgi_long -0.4-0.2 0.0 0.2 0.4 25 30 35 40 45 50 55 60 age

24 Skattning av parametern phi för män födda i Sverige finns i figur 22. På y-axeln anges värdet på parametern och på x-axel åldern. Parametern visar ett mått på variationen: större phi visar på en mindre variation och tvärtom. figur 22 phi, sex = 1, origin = 0 phi 4 6 8 10 12 14 16 25 30 35 40 45 50 55 60 age Hur väl stämmer väntevärdet från simuleringarna med väntevärdet av utfallet? Fallet män 40 år, födda i Sverige, studeras. Den blå grafen i figur 23 visar ett medelvärde av väntevärdet från modellen och y-axel visar ett medelvärde av utfallet. Den gröna linjen visar hur den rätta linjen skulle ha sett ut om de hade varit lika. sex = 1 age = 40 orgin= 0 figur 23 Resultatet visar att väntevärdet i modellen stämmer någorlunda överens med verkligheten. Hur ser då variansen ut? Den gröna kurvan i figur 24 är standardavvikelsen för utfallet subtraherad med meanvalue_inc1 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 meanvalue_my

25 väntevärdet och den röda kurvan är standardavvikelsen för simuleringen subtraherad med väntevärdet. sex = 1 age = 40 orgin= 0 figur 24 std 0.00 0.05 0.10 0.15 0.20 0.25 stdev (utfall - my) stdev(simulering - my) 0.0 0.2 0.4 0.6 0.8 1.0 rang Modellen ger en överskattad varians för personer som ligger i lönespannet i mitten och underskattar variansen för personer som ligger lågt respektive högt i lönespannet. Detta är ett problem i modellen. En lösning på problemet kan vara att undersöka om det går att dela upp skattningarna. Dela upp varje delpopulation i två grupper, en grupp (k=1) som har ingående inkomst med rang mellan 0,25 och 0,75 och en annan grupp (k=2) som har ingående inkomst med rang under 0,25 eller över 0,75. Definiera en variabel, k_value, som är lika med 1 för en typ av skattning med avseende på rangen och är lika med 2 för två typer av skattningar med avseende på rangen. Standardavvikelsen visas i figur 25, där den röda linjen är standardavvikelsen för simuleringarna subtraherad med väntevärdet med k_value=1, den blå linjen är standardavvikelsen för simuleringarna subtraherad med väntevärdet med k_value=2 och den gröna linjen är standardavvikelsen för utfallet subtraherad med väntevärdet. sex = 1 age = 40 orgin= 0 figur 25 std 0.00 0.05 0.10 0.15 0.20 0.25 stdev (simulering - my), k_value=1 stdev (simulering - my), k_value=2 stdev(utfall - my) 0.0 0.2 0.4 0.6 0.8 1.0 rang

26 Den uppdelade skattningen (k_value = 2) ger en standardavvikelse för simuleringarna som ligger närmare utfallets standardavvikelse. Däremot är standardavvikelsen inte helt optimal i förhållande till verkligheten. I figur 26-29 studeras några andra åldersexempel för standardavvikelsen. sex = 1 age = 30 orgin= 0 std 0.00 0.05 0.10 0.15 0.20 0.25 stdev (simulering - my), k_value=1 stdev (simulering - my), k_value=2 stdev(utfall - my) figur 26 Män, 30 år, födda i Sverige (figur26): För låga värden på rangen är standardavvikelsen underskattad. I mittenintervallet blir standardavvikelsen överskattad och slutligen underskattad för riktig hög rang. Den uppdelade skattning ger en bättre standardavvikelse. std 0.00 0.05 0.10 0.15 0.20 0.25 0.0 0.2 0.4 0.6 0.8 1.0 rang Kvinnor, 32 år, födda i Sverige (figur27): sex = 1 age = 42 orgin= 1 stdev (simulering - my), k_value=1 stdev (simulering - my), k_value=2 stdev(utfall - my) figur 27 För låga värden på rangen är standardavvikelsen underskattad. I mittenintervallet blir standardavvikelsen överskattad. Den uppdelade skattning ger en bättre standardavvikelse. För högt värde på rangen ger den uppdelade skattningen en ganska hyfsad standardavvikelse jämfört med utfallets. figur 28 std 0.00 0.05 0.10 0.15 0.20 0.25 sex = 2 age = 32 orgin= 0 stdev (simulering - my), k_value=1 stdev (simulering - my), k_value=2 stdev(utfall - my) 0.0 0.2 0.4 0.6 0.8 1.0 Män, 42 år, födda utomlands (figur 28): Den uppdelade skattningens standard avvikelse följer utfallets standardavvikelse till stor del. Fortfarande finns dock en viss överskattning/underskattning av standardavvikelsen. rang 0.0 0.2 0.4 0.6 0.8 1.0 rang

27 std 0.00 0.05 0.10 0.15 0.20 0.25 sex = 2 age = 35 orgin= 1 stdev (simulering - my), k_value=1 stdev (simulering - my), k_value=2 stdev(utfall - my) figur 29 Kvinnor, 35 år, födda utomlands (figur 29): Simuleringarnas standardavvikelse följer till stor del med utfallets standardavvikelse. 0.0 0.2 0.4 0.6 0.8 1.0 rang Med uppdelade skattningar, för män 40 år, ser vi utfallet plottat mot väntevärdet enligt blå graf nedan. Den gröna grafen är den räta linjen om hade varit lika i figur 30. sex = 1 age = 40 orgin= 0 figur 30 meanvalue_inc1 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 meanvalue_my I figur 31 visas utfallet plottat mot väntevärdet av modellen (µ) från båda typer av skattningarna. Den röda med en typ av skattning och den blå med uppdelad skattning (2 stycken) och den gröna visar ifall utfallets medelvärde hade varit lika med modellens väntevärde.

28 figur 31 meanvalue inc1 0.0 0.2 0.4 0.6 0.8 1.0 sex = 1 age = 40 orgin= 0 k_value=2 k_value=1 0.0 0.2 0.4 0.6 0.8 1.0 meanvalue my

29 5 Diskussion 5.1 Valet av parametrar Årets inkomst är den mest betydelsefulla prediktorn av nästa års inkomst. Den kan ensam förklara en stor del, men en regressionsmodell med fler variabler förbättrar modellen. Total livsinkomst, total pgi samt summa total pgi t.o.m fyra år tillbaks har ungefär samma påverkan på modellen. Skillnaderna i p-värden och pseudo_r2 kan ibland enbart hänga på ytterst små marginaler. Delvis för att inte ha parametrar som överlappar och delvis för att ändå påvisa bästa värden, valdes parametern total pgi t.om. fyra år tillbaks (pgi_long). Vid studier hur pgin under de närmaste åren påverkades sågs att de senaste fem åren samt senaste tre åren hade en liknade påverkan. Men att anpassa till andra parametrar var det lämpligaste valet att välja pgin under de senaste tre åren som en parameter i modellen. Antal år i Sverige hos utrikesfödda personer är inte en statistisk försvarbar parameter i modellen. Inte heller antal år sedan första pgin har en plats. Nivån på högsta utbildning som olika dummy parametrar gör modellen sämre, vilket kan antas bero på att högre utbildning inte garanterar högre lön i en åldersklass. Det är till största del en viss åldersgrupp som har småbarn och eftersom skattningarna sker i en åldersklass för sig, så påverkar det inte rangen hos gruppen av den faktorn tillräckligt för en statistisk säkerställning för at det skulle kunna vara en prediktor. 5.2 Modellens standardavvikelse Modellen har en standardavvikelse som inte stämmer helt överens med verkligheten. Ett förslag till en förbättring, vilket krävs betydligt mer arbete än ramen för detta exjobb, vore att låta precisionsparametern phi ingå som prediktor i modellen (genom att skriva en egen funktion som utför betaregression). 5.3 Slutord Modellen är bra. Parametrarna har låga p-värden och höga psedu-r2 värden. Modellens väntevärde stämmer väl överens med verklighetens väntevärden. Den är dessutom enkel. Men modellen kan bli bättre. Modellens standardavvikelse kan förbättras.

30 6. Referenser och källor Ferrari Silva & Cribari-Neto Francisco, Beta regression for modelling rates and proportions Finansdepartementets skolwebb http://www.skola.regeringen.se/finans/biblioteket/spara_lana_betala/pension_privat.htm Försäkringskassan: Om Pensionssystemet, http://www.fk.se/privatpers/pensionar/pensionssys/ Leander Jonas: Beskrivning av beräkningsgången I, steg 1, Försäkringskassan, 2001 Pensionssystemets Årsredovisning 2005, Försäkringskassan, 2006 Ospina Raydonal, Cribari-Neto Francisco, Vasconcellos Klaus L.P, Improved point and interval estimation for a beta regression model Paolino Philip, Maximum Likelihood Estimation of Models with Beta-Distributed Dependent Dependent Variables

31 7. Appendix 7.1 Mer skattningar 7.11 Parametrarna i modell Skattningar män födda utanför Sverige figur 32 figur 33 intercept, sex = 1, origin = 1 inc0, sex = 1, origin = 1 intercept -2.4-2.2-2.0-1.8-1.6-1.4-1.2 inc0 3.0 3.5 4.0 4.5 25 30 35 40 45 50 55 60 25 30 35 40 45 50 55 60 age age Figur 34 figur 35 pgi_long, sex = 1, origin = 1 pgi_short, sex = 1, origin = 1 pgi_long -0.4-0.2 0.0 0.2 0.4 pgi_short -1.0-0.5 0.0 0.5 1.0 25 30 35 40 45 50 55 60 age 25 30 35 40 45 50 55 60 age

32 figur 36 phi, sex = 1, origin = 1 25 30 35 40 45 50 55 60 intercept, sex = 2, origin = 0 intercept -2.4-2.2-2.0-1.8-1.6-1.4-1.2 phi 4 6 8 10 12 14 16 age Skattningar kvinnor födda i Sverige figur 37 25 30 35 40 45 50 55 60 age

inc0, sex = 2, origin = 0 33 inc0 3.0 3.5 4.0 4.5 25 30 35 40 45 50 55 60 age figur 38 pgi_short -1.0-0.5 0.0 0.5 1.0 figur 39 pgi_short, sex = 2, origin = 0 pgi_long, sex = 2, origin = 0 25 30 35 40 45 50 55 60 age pgi_long -0.4-0.2 0.0 0.2 0.4 25 30 35 40 45 50 55 60 age figur 40 phi 4 6 8 10 12 14 16 figur 41 phi, sex = 2, origin = 0 25 30 35 40 45 50 55 60 age

34 Skattningar kvinnor födda utomlands figur 41 figur 42 intercept, sex = 2, origin = 1 k = 0 inc0, sex = 2, origin = 1 k = 0 intercept -2.4-2.2-2.0-1.8-1.6-1.4-1.2 25 30 35 40 45 50 55 60 inc0 3.0 3.5 4.0 4.5 age 25 30 35 40 45 50 55 60 age figur 43 pgi_long, sex = 2, origin = 1 k = 0 pgi_long -0.4-0.2 0.0 0.2 0.4 25 30 35 40 45 50 55 60 age

35 figur 44 figur 45 7.1.2 Medelvärde av standardavvikelsen Dela upp rangen i 40 intervall och i varje intevall ta meddelvärdet av standavvikelsen för alla åldrar, då fås den plot med en skattning för rangen (k_value=1)

36 figur 46 medelvärde av standardavvikelsen, med k_value= 1 stdev 0.00 0.05 0.10 0.15 0.20 heldragen linjen: medel.stdev (utfall - my) sträckad linje: medel.stdev (utfall - simulering ) män födda i Sverige män födda utanför Sverige kvinnor födda i Sverige kvinnor födda utanför Sverige 0.0 0.2 0.4 0.6 0.8 1.0 y För en skattning med uppdelad skattning av rangen, få följande plot istället figur 47 medelvärde av standardavvikelsen, med k_value= 2 stdev 0.00 0.05 0.10 0.15 0.20 heldragen linjen: medel.stdev (utfall - my) sträckad linje: medel.stdev (utfall - simulering ) män födda i Sverige män födda utanför Sverige kvinnor födda i Sverige kvinnor födda utanför Sverige 0.0 0.2 0.4 0.6 0.8 1.0 y 7.2 Programkod tillhörande analysen 7.2.1 Lorenz-curva #Plot the Lorenz-curve

37 library("mimesis") imim() y <- 2001 cohort <- getv(midas,"birthyear") deathy <- getv(midas,"deathyear") age <- y-cohort utantakinc0 <- getv(midas,"pgifull","inkomst",y,na=0) utantakinc1 <- getv(midas,"pgifull","inkomst",y+1, na=0) pgi_minus1y <- getv(midas,"ppgi","accrual",y-1,na=0) lorenz <- function(sel1,a,s,u){ cohort <- cohort[sel1] deathy <- deathy[sel1] age <- age [sel1] origin <- getv(midas,"origin")[sel1] #men( sex=1), women (sex2) sex <- getv(midas,"sex")[sel1] # utantakinc0 = income year y, utantakinc1 = income year y+1 utantakinc1 <- pgi_minus1y <- utantakinc1 [sel1] pgi_minus1y [sel1] #The selected age, sex and origin are choosen sel2 <- which(age==a & sex==s & origin==u) inc1 <-utantakinc1[sel2] TOTALINCOME <-sum(as.numeric(inc1)) inc1 <- sort(inc1) TI <-cumsum(inc1) TI <- TI/TOTALINCOME R <-(1:length(TI))/length(TI) plot(r,ti, main = paste("lorenz-kurva,a= ",a,"s= ",s,"u= ",u ), xlab="rang",ylab="kumulativa summan", xlim=c(0,1),ylim=c(0,1),cex=0.2,col=3) x<-(1:100)/100 y<-x lines(x,y,col=1) # RUNS #Which people that are selected sel1 <- which( (age >= as.integer(0)) & (age <= as.integer(70)) & ((deathy== as.integer(0)) (deathy> y+1)& utantakinc0>0 & utantakinc1>0& pgi_minus1y==0 ) a <- 25 s <- 1 u <- 0 lorenz(sel1,a,s,u)

38 7.2.2 Spline #The function "getspline_points" selects points on the Lorenz-curve, # enough to re-create it with Spline # Taking an average for all ages # The output is a vector with the rang-value # The user choose for which people this is done # i.e for people with no income year y #Function relorenz test to re-create the curve # The user need to get package "splines"!!! library("mimesis") imim() # *** GLOBALS **** y <- 2001 cohort <- getv(midas,"birthyear") deathy <- getv(midas,"deathyear") age <- y-cohort utantakinc0 <- getv(midas,"pgifull","inkomst",y,na=0) utantakinc1 <- getv(midas,"pgifull","inkomst",y+1, na=0) pgi_minus1y <- getv(midas,"ppgi","accrual",y-1,na=0) getspline_points <- function (minage, maxage, sel1){ cohort <- cohort[sel1] deathy <- deathy[sel1] age <- age [sel1] origin <- getv(midas,"origin")[sel1] #men( sex=1), women (sex2) sex <- getv(midas,"sex")[sel1] # utantakinc0 = income year y, utantakinc1 = income year y+1 utantakinc1 <- pgi_minus1y <- utantakinc1 [sel1] pgi_minus1y [sel1] #The function which selects points to the Spline curve #x and y is input vector #p i snumber of point we want points <- function(x,y,k){ k <- k-1 if(length(x)!= length(y)) return(null) leng<-length(x) dx <- x[2:leng]-x[1:(leng-1)] dy <- y[2:leng]-y[1:(leng-1)] L<-sqrt(dx^2+dy^2) L<-cumsum(L) L<-L/L[leng-1] ptx <- (0:k)/k pty <- rep(0,k+1)

39 for(i in 2:k) { ndx <- which.min(abs(ptx[i]-l)) pty[i] <- L[ndx] ptx[i] <- ndx/(leng-1) pty[k+1] <- 1 return(list(ptx=ptx,pty=pty)) #k is number of points k <- 12 #i is the ages that we look at i <- length(seq(minage,maxage,1)) #j is the number of subpopulation we got (age,men/women) j <- 2*i #the points we want save_xvalues <- matrix(na,k,j) #m is a counter, for putting values in the matrix m <- 0 u <- 0 for(s in 1:2) { for (a in minage:maxage) { sel2 <- which(age==a & sex==s & origin==u) inc1<-utantakinc1[sel2] TOTALINCOME <-sum(as.numeric(inc1)) inc1 <- sort(inc1) TI<-cumsum(inc1) TI <- TI/TOTALINCOME R<-(1:length(TI))/length(TI) p1 <- points(r,ti,k) m <- m+1 save_xvalues[,m]<-p1$ptx mean_x<-rep(na,12) for (i in 1:12){ mean_x[i] <- mean(save_xvalues[i,]) write.table(mean_x,file=name) relorenz <- function(name,sel1,a,s,u){ TOTALINCOME <-sum(as.numeric(inc1)) inc1 <- sort(inc1) TI<-cumsum(inc1) TI <- TI/TOTALINCOME R<-(1:length(TI))/length(TI)

40 x <- read.table(file=name) x <- x[["x"]] y <- rep(na,12) leng <- length(ti) y[1] <- 0 y[12] <- 1 for(i in 2:11){ Diff <- abs(r-x[i]) where<-which.min(diff) y[i]<-ti[where] c<-interpspline(x,y,period=12) plot(c,xlim=c(0,1), ylim=c(0,1),col=6,main=paste("antal punkter =",12," a= ",a,"s= ",s,"u= ",u), xlab="rang",ylab="kumulativa summan") # *** RUNS *** # Choose for which group you want it for #people between 0 and 70 years old are selected sel1 <- which( (age >= as.integer(0)) & (age <= as.integer(70)) & ((deathy== as.integer(0)) (deathy> y+1)& utantakinc0>0 & utantakinc1>0 & pgi_minus1y==0 ) minage <- 25 maxage <- 61 name <- "D:/RankInc/Lorenz_xvalue_mean_klass2.text" getspline_points(minage, maxage, sel1) sela <- which( ((deathy== as.integer(0)) (death& utantakinc0>0 & utantakinc1>0 & pgi_minus1y==0 & age==a & sex==s & origin==u) relorenz(name,utantakinc1[sela]) 7.2.3 Återskappande av Lorenz curve #Re-create the Lorenz-curve library("mimesis") imim()

41 y <- 2001 cohort <- getv(midas,"birthyear") deathy <- getv(midas,"deathyear") age <- y-cohort utantakinc0 <- getv(midas,"pgifull","inkomst",y,na=0) utantakinc1 <- getv(midas,"pgifull","inkomst",y+1, na=0) pgi_minus1y <- getv(midas,"ppgi","accrual",y-1,na=0) relorenz <- function(name,sel1,a,s,u){ age origin sex utantakinc1 sel2 inc1 TOTALINCOME inc1 TI TI R <- age [sel1] <- getv(midas,"origin")[sel1] <- getv(midas,"sex")[sel1] <- utantakinc1 [sel1] <- which(age==a & sex==s & origin==u) <- utantakinc1[sel2] <- sum(as.numeric(inc1)) <- sort(inc1) <- cumsum(inc1) <- TI/TOTALINCOME <- (1:length(TI))/length(TI) x <- read.table(file=name) x <- x[["x"]] y <- rep(na,12) leng <- length(ti) y[1] <- 0 y[12] <- 1 for(i in 2:11){ Diff <- abs(r-x[i]) where<-which.min(diff) y[i]<-ti[where] c<-interpspline(x,y,period=12) plot(c,xlim=c(0,1), ylim=c(0,1),col=6,main=paste("antal punkter =",12," a= ",a,"s= ",s,"u= ",u), xlab="rang",ylab="kumulativa summan") # RUNS #Which people that are selected sel1 <- which ( (age >= as.integer(0)) & (age <= as.integer(70)) & ((deathy== as.integer(0)) (deathy> y+1) & utantakinc0>0 & utantakinc1>0& pgi_minus1y==0 ) a <- 25 s <- 1 u <- 0 name <- "D:/RankInc/Lorenz_xvalue_mean_klass2.text" relorenz(name,sel1,a,s,u)

42 7.2.4 Medelinkomster # *** Medelinkomster *** library("mimesis") imim() average_salary <- function(minage,maxage){ y <- 2001 cohort <- getv(midas,"birthyear") deathy <- getv(midas,"deathyear") origin <- getv(midas,"origin") utantakinc0<- getv(midas,"pgifull","inkomst",y,na=0) age <- y-cohort origin[origin==38]<- as.integer(0) origin[origin!=0] <- as.integer(1) sel1 <- which( (age >= as.integer(0)) (age <= as.integer(70)) ((deathy== as.integer(0)) (deathy> y+1))& utantakinc0>0 ) age <- age[sel1] utantakinc0<- utantakinc0 [sel1] sex <- getv(midas,"sex")[sel1] origin <- origin [sel1] & medellon <- function(minage,maxage,inc,age){ n <- length(seq(minage,maxage,1)) medel <- rep(na,n) for(i in minage:maxage){ sel2 <- which(age==i) income <- inc[sel2] medel[i-(minage-1)]<-mean(income) return(medel) n<-length(seq(minage,maxage,1)) inkomst<-matrix(na,n,4) #s<-1 ;u<-1 for (s in 1:2){ for (u in 0:1){ sel3<- which (origin==u & sex==s) in1<-utantakinc0[sel3] alder<-age[sel3] lon<-medellon(18,63,in1,alder) if(s==1){ else{ inkomst[,s+u]<-lon inkomst[,s+u+1]<-lon

43 #Inkomstbasbelopp år 2001 inkomstbasbelopp<-37700 inkomst<-inkomst+inkomstbasbelopp ålder<-seq(18,63,1) # Månadsinkomst minkomst<-inkomst/12 matplot(ålder,cbind(minkomst[,1],minkomst[,2],minkomst[,3], minkomst[,4]),col=c(2,3,4,5),cex=0.2,xlim=c(18,63),ylim=c(0,30000),type=" l",main = paste("medelinkomster per månad, år",y),ylab="kronor") legend(locator(n=2),legend=c("män födda i Sverige","män födda utanför Sverige","kvinnor födda i Sverige","kvinnor födda utanför Sverige"),text.col=c(2,3,4,5)) # RUN minage <- 18 maxage <- 63 average_salary(minage,maxage) 7.2.5 Skattningar av parametrar #Estimated the parameters in the new incomemodell # **** THE USER HAS TO SELECT A NAME FOR THE FILE WHERE *** # *** THE ESTIMATION CAN BE SAVED *** # THE USER HAS TO DOWNLOAD PACKAGE BETAREG library("mimesis") imim() library(betareg) # *** GLOBALS *** #Select year, y, minage, maxage and name_file y <- 2001 minage <- 25 maxage <- 61 #Input in the model cohort <- getv(midas,"birthyear") deathy <- getv(midas,"deathyear") age <- y-cohort #People between 0 and 70 years old are selected sel1 <- which( (age >= as.integer(0)) (age <= as.integer(70)) ((deathy== as.integer(0)) (deathy> y+1))) & &

44 cohort <- cohort[sel1] deathy <- deathy[sel1] age <- age [sel1] origin <- getv(midas,"origin")[sel1] #Men( sex=1), women (sex2) sex <- getv(midas,"sex")[sel1] # utantakinc0 = income year y, utantakinc1 = income year y+1 utantakinc0 <- getv(midas,"pgifull","inkomst",y,na=0)[sel1] utantakinc1 <- getv(midas,"pgifull","inkomst",y+1, na=0)[sel1] #beh0 <- getv(midas,"pbh_utb_bel","brev",y+1,na=0)[sel1] #Calculate pgi_long (=pgi during the last 3 years, not counting year y) pgi_minus1y <- getv(midas,"ppgi","accrual",y-1,na=0)[sel1] pgi_minus2y <- getv(midas,"ppgi","accrual",y-2,na=0)[sel1] pgi_minus3y <- getv(midas,"ppgi","accrual",y-3,na=0)[sel1] pgi_short <- pgi_minus1y + pgi_minus2y + pgi_minus3y #Calculate pgi_long (=pgi during the whole life except the last 4 years, #counting year y) year4 <- y-4 pgi_long <- getv(midas,"ppgi","accrual",1960,na=0)[sel1] for (i in 1961:year4){ pgi_1year <- getv(midas,"ppgi","accrual",i,na=0)[sel1] pgi_long <- pgi_long + pgi_1year #Born in Sweden(orgin=0),born outside Sweden(orgin=1) origin[origin==38] <- as.integer(0) origin[origin!=0] <- as.integer(1) #Create an object for the rank, let the value be 0 if the input is zero, #otherwise let is be the rank(between 0 and 1) # R0 - income year 0 # R1 - income year y+1 # PGIS - pgi year (y-3) to (y-1) # PGIL - total pgi up to and including year y-4 R0 <- rep(0, length(sel1)) R1 <- rep(0, length(sel1)) PGIS <- rep(0, length(sel1)) PGIL <- rep(0, length(sel1)) #selection when the obejct is non-zero selr0 <- which(utantakinc0>0) selr1 <- which(utantakinc0>0) #selb0 <- which(beh0>0) selpgis <- which(pgi_short>0) selpgil <- which(pgi_long>0) #Calculate the rank when the object is non-zero R0[selR0] <- MiMaggr(utantakinc0[selR0], list(sex=sex[selr0],age = age[selr0], origin=origin[selr0]),"order/count")[[1]] R1[selR1] <- MiMaggr(utantakinc1[selR1], list(sex=sex[selr1],age = age[selr1], origin =origin[selr1]),"order/count")[[1]]

45 PGIL[selPGIL] <- MiMaggr(pgi_long[selPGIL], list(sex=sex[selpgil], age = age[selpgil], origin =origin[selpgil]),"order/count")[[1]] PGIS[selPGIS] <- MiMaggr(pgi_short[selPGIS], list(sex=sex[selpgis],age=age[selpgis], origin =origin[selpgis]),"order/count")[[1]] #To avoid problems that appears when R1=1 R1[R1==1] <- as.double(0.999999) #Function estimation #Fitting a betaregression for each subpopulation (men/women, born in #Sweden/abraod) and age. Repeat that procedure 10 times. #All estimation are saved and read on file. No output estimation <-function(minage,maxage,filename,k_value){ #"Dummy" function to avoid problem hej<-function(){ return("hoppsan") options(error=hej) #test values # s<-1; a<-30; u<-0; #To do the estimation for each age in each subpopulation for(s in 1:2) { for(u in 0:1) { for(a in minage:maxage) { #Create a data-frame for saving the estimation from betaregression tt <- data.frame( sex = numeric(0), age = numeric(0), origin = numeric(0), k = numeric(0), try = numeric(0), intercept = numeric(0), inc0 = numeric(0), pgi_long = numeric(0), pgi_short = numeric(0), phi = numeric(0), stder.intercept = numeric(0), stder.inc0 = numeric(0), stder.pgi_long = numeric(0), stder.pgi_short = numeric(0), stder.phi = numeric(0), zstats.intercept = numeric(0), zstats.inc0 = numeric(0), zstats.pgi_long = numeric(0), zstats.pgi_short = numeric(0), pvalue.intercept = numeric(0), pvalue.inc0 = numeric(0),

46 pvalue.pgi_long = numeric(0), pvalue.pgi_short = numeric(0), PseudoR2 = numeric(0) ) gc() #select people with income year 0 and 1 for each subpopulation for(c in 1:k_value) { # s<-1; a<-40; u<-0; if(k_value==1) { sel3 <- which( age == a & sex == s & origin==u & utantakinc0>0 & utantakinc1>0 ) k <- 0 length(sel3) 0.25 R0 >= 0.75 ) & R0>0 & R1>0) else { if (c==1) { sel3 <- which (age == a & sex == s & origin==u & (R0 >= 0.25 & R0 < 0.75 & R1>0)) k <- 1 else { sel3 <- which (age == a & sex == s & origin==u & (R0 < k <- 2 #number of tries for each subpopulation for(d in 1:10) { ready <- FALSE while(! ready) { sel4 <- sample(sel3,min(2000,length(sel3))) Y <- R1[sel4] inc0 <- R0[sel4] pgi_long <- PGIL[sel4] pgi_short <- PGIS[sel4] fit <- betareg(y ~ inc0 + pgi_long +pgi_short)

47 if(max(fit$coefficients)< 20 & min(fit$coefficients)> -20) ready <- TRUE gc() cat("sex=",s,"origin=",u, "age",a, "k",k,"try",d) flush.console() summary(fit) tt < rbind(tt,c(s,a,u,k,d,fit$coefficients, fit$stder,fit$zstats,fit$pvalues,fit$pseudo.r2)) filename1 <- filename filename1 <-paste(filename1,"kv",k_value,"a",a, "s",s,"u",u,".txt", sep="") write.table(tt,file=filename1,sep="\t",row.names=false, col.names=true) #rebind to one file the estimation for each subpopulation tt <- data.frame( sex =numeric(0), age = numeric(0), origin= numeric(0), k=numeric(0), try =numeric(0), intercept = numeric(0), inc0= numeric(0), pgi_long= numeric(0), pgi_short= numeric(0), phi =numeric(0), stder.intercept = numeric(0), stder.inc0=numeric(0), stder.pgi_long=numeric(0), stder.pgi_short=numeric(0), stder.phi =numeric(0), zstats.intercept = numeric(0), zstats.inc0 = numeric(0), zstats.pgi_long = numeric(0), zstats.pgi_short= numeric(0), pvalue.intercept = numeric(0), pvalue.inc0= numeric(0), pvalue.pgi_long= numeric(0), pvalue.pgi_short= numeric(0), PseudoR2 = numeric(0) ) for(s in 1:2) { for(u in 0:1) { for(a in minage:maxage) {

48 filename1 <- filename filename1 <- paste(filename1,"kv",k_value,"a",a,"s",s,"u",u,".txt", sep="") dd<-read.table(file=filename1,header = TRUE) tt<-rbind(tt,dd) write.table(tt,file=filename,sep="\t",row.names=false, col.names=true) #end of estimation-function #Function loess smoothing #Read the the file function estimation create and perform a loess smoothing of #the values and return a dataframe with an estimation of the coefficents to #the model loess_smothing <-function(minage,maxage,name_file) { length_age <- length(seq(minage,maxage,1)) df3 <- read.table(file=name_file,header = TRUE) #Seperate the subpopulations sel_mensw <- df3[["sex"]]==1 & df3[["origin"]]==0 sel_menab <- df3[["sex"]]==1 & df3[["origin"]]==1 sel_womensw <- df3[["sex"]]==2 & df3[["origin"]]==0 sel_womenab <- df3[["sex"]]==2 & df3[["origin"]]==1 dfmsw <- df3[sel_mensw,] dfmab <- df3[sel_menab,] dfwsw <- df3[sel_womensw,] dfwab <- df3[sel_womenab,] #To get rid of outliers we do a further selection for each subpopulation #The selection is done empirical #men born in Sweden - msw (sex=men, origin=0) dfsel_msw <- dfmsw[["intercept"]]>-20 & dfmsw[["intercept"]]< -1 & dfmsw[["inc0"]]> 0 & dfmsw[["inc0"]]< 20 & dfmsw[["pgi_long"]]>-2 & dfmsw[["pgi_long"]]<2 & dfmsw[["pgi_short"]]>-20 & dfmsw[["pgi_short"]]< 1.2 & dfmsw[["phi"]]> 0 & dfmsw[["phi"]]< 20 #men born abroad - mab (sex=men, origin=1)

49 dfsel_mab <- dfmab[["intercept"]]>-20 & dfmab[["intercept"]]< 20 & dfmab[["inc0"]]> 0 & dfmab[["inc0"]]< 20 & dfmab[["pgi_long"]]>-20 & dfmab[["pgi_long"]]< 2 & dfmab[["pgi_short"]]>-2 & dfmab[["pgi_short"]]< 20 & dfmab[["phi"]]> 0 & dfmab[["phi"]]< 20 #women born in Sweden - wsw (sex=women, origin=0) dfsel_wsw <- dfwsw[["intercept"]]>-20 & dfwsw[["intercept"]]< -0.8 & dfwsw[["inc0"]]> 2.4 & dfwsw[["inc0"]]< 20 & dfwsw[["pgi_long"]]>-0.5 & dfwsw[["pgi_long"]]< 1 & dfwsw[["pgi_short"]]>-1.2 & dfwsw[["pgi_short"]]< 1 & dfwsw[["phi"]]> 0 & dfwsw[["phi"]]< 20 #women born abroad - wab (sex=women, origin=1) dfsel_wab <- & dfwab[["intercept"]]>-20 & dfwab[["intercept"]]< 0 & dfwab[["inc0"]]> 2 & dfwab[["inc0"]]< 5.7 & dfwab[["pgi_long"]]>-0.5 & dfwab[["pgi_long"]]< 20 dfwab[["pgi_short"]]>-2 & dfwab[["pgi_short"]]< 3 & dfwab[["phi"]]> 0 & dfwab[["phi"]]< 20 dfmsw <- dfmsw[dfsel_msw,] dfmab <- dfmab[dfsel_mab,] dfwsw <- dfwsw[dfsel_wsw,] dfwab <- dfwab[dfsel_wab,] # Do the estimation with loess skatt <- data.frame(age=numeric(0), origin=numeric(0), sex=numeric(0), k=numeric(0), intercept = numeric(0), inc0= numeric(0), pgi_long= numeric(0), pgi_short= numeric(0), phi =numeric(0)) #Function loess_estimation #Perform it for one variable and subpopulation #b,d is the min and max on the y-axis, sex=s, orgigin=u loess_est <- function(variable_name,input_matrix,b,d,s,u,k) { number <- seq(minage,maxage,0.25) plot(input_matrix[["age"]],input_matrix[[variable_name]],cex=0.2, ylim=c(b,d),main = paste(variable_name,", sex = ",s,", origin = ",u,"k =",k ), xlab="age",ylab=variable_name) a <-loess(input_matrix[[variable_name]]~input_matrix[["age"]], input_matrix,span=0.5)