LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK LABORATION 5 MATEMATISK STATISTIK AK FÖR CDI, FMS012, HT09 Laboration 5: Regressionsanalys Syftet med den här laborationen är att du skall bli mer förtrogen med det i praktiken kanske viktigaste området inom kursen nämligen Enkel linjär regression Multipel linjär regression 1 Förberedelseuppgifter Som förberedelse till laborationen bör du repetera normalfördelningsdiagram, läsa igenom hela regressionsstencilen och hela laborationshandledningen. Till laborationens start har du med dig lösningar till förberedelseuppgifterna. 1. Ange modellen för enkel linjär regression med normalfördelade fel. Hur skattar man, och 2? Vilken fördelning får och? Hur gör man konfidensintervall för, och Ñ 0 = + x 0? Hur kan man testa huruvida linjens lutning är 0? 2. Vad är ett prediktionsintervall och hur räknas det ut? 3. Vad är ett kalibreringsintervall och hur kan det konstrueras? 4. Residualanalys är ett centralt moment i all regressionsanalys. Hur bör residualerna se ut vid en korrekt regressionsanalys? Ange några tekniker för att kontrollera detta. 5. Ange modellen för multipel linjär regression på matrisform. Hur ser normalekvationerna ut och hur löser man dessa? Vad blir kovariansmatrisen för? 6. Lös uppgift ST35. 2 Enkel linjär regression Vid enkel linjär regression söker man anpassa en rät linje till datamaterialet, dvs modellen är y i = + x i + i, i = 1,..., n, där i är oberoende likafördelade störningar med väntevärdet 0 och variansen 2. Vi kommer i den följande framställningen att arbeta med matrisformuleringen av modellen, Y = X +, där de ingående matriserna har följande form: y 1 1 x 1 y 2 Y =., X = 1 x 2.., = y n 1 x n ( ) 1 2 n och =.. Vi skall använda MATLAB-funktionen Ö Ö som skattar parametrar, beräknar konfidensintervall för dem, beräknar residualer och litet till. Gör ÐÔ Ö Ö för att se vad funktionen gör. Uppgift: Använd Ö Ö för att räkna uppgift ST35. En n 1-kolumn med ettor fås med ÓÒ Ò ½µ och två kolumner ½ och ¾ läggs bredvid varandra med ½ ¾.
2 Laboration 5, Matstat AK för CDI, HT09 2.1 Fallgropar För att illustrera vådan av att okritiskt anpassa en linjär modell till ett givet datamaterial har F. J. Anscombe konstruerat ett datamaterial, som ser ut på följande sätt: observation x 1, x 2, x 3 y 1 y 2 y 3 x 4 y 4 1 10 8.04 9.19 7.46 8 6.58 2 8 6.95 8.14 6.77 8 5.76 3 13 7.58 8.74 12.74 8 7.71 4 9 8.81 8.77 7.11 8 8.84 5 11 8.33 9.26 7.81 8 8.47 6 14 9.96 8.10 8.84 8 7.04 7 6 7.24 6.13 6.08 8 5.25 8 4 4.26 3.10 5.39 8 5.56 9 12 10.84 9.13 8.11 8 7.91 10 7 4.82 7.26 6.42 8 6.89 11 5 5.68 4.74 5.73 19 12.50 Datamaterialet finns lagrat i filen Ò ÓÑ ºÑ Ø och kan laddas in i MATLAB med kommandot ÐÓ Ò ÓÑ. Med kommandot Û Ó får du reda på aktuella variabler i minnet. En lämplig början är alltid att ta sig en titt på datamaterialet. Börja med att plotta ݽ mot ܽ, dvs Ù ÔÐÓØ ¾¾½µ ÔÐÓØ Ü½ ݽ ³ ³µ Plotta sedan y 2 mot x 2, y 3 mot x 3, samt y 4 mot x 4 (mha kommandot Ù ÔÐÓØ kan du få varje plot för sig i ett och samma fönster det ger en bra överblick). Vi skall nu helt aningslöst till var och en av datamängderna anpassa en linjär modell enligt y i = + x i + i, i = 1,..., n, där i är oberoende likafördelade störningar med väntevärdet 0 och variansen 2. Vi börjar med att konstruera matrisen X (enligt notationen i det inledande avsnittet ovan) för den första datamängden på följande sätt: ½ ÓÒ Þ Ü½µµ ܽ Med MATLABs inbyggda minsta-kvadrat-lösare kan vi snabbt och enkelt få fram vår skattning av som Ø ½ Ø ½ ݽ Denna vänsterdivision med matrisen ½ innebär att MATLAB beräknar vänsterinversen till ½, och om systemet är överbestämt bestämmer MATLAB automatiskt minsta-kvadrat-lösningen. Nu kan vi bestämma den skattade regressionslinjen och sedan rita in denna ovanpå punktdiagrammet över det första datamaterialet. ݽ Ø ½ Ø ½ Ø Ù ÔÐÓØ ¾¾½µ ÓÐ ÔÐÓØ Ü½ ݽ ص Är det rimligt att teckna sambandet mellan den förklarande variabeln ܽ och den beroende variabeln ݽ som ett linjärt samband? För att studera hur väl vår modell stämmer med givna data beräknar vi först vektorn av residualer. Om modellen är korrekt skall residualerna ungefärligen (vi använder skattade parametrar) vara observationer av likafördelade stokastiska variabler. För att undersöka hur det förhåller sig med detta utför vi en residualanalys enligt beskrivningen i kurslitteraturen. Vi kan t ex plotta residualerna gentemot den förklarande variabeln.
Laboration 5, Matstat AK för CDI, HT09 3 ÙÖ Ù ÔÐÓØ ¾¾½µ Ö ½ ݽ¹Ý½ Ø ÔÐÓØ Ü½ Ö ½ ³ ³µ Om vårt modellantagande är korrekt skall vi inte kunna skönja någon systematisk variation i diagrammet. Kan du finna något beroende? Nu vill vi göra motsvarande för de övriga tre datamaterialen, dvs lösa ekvationssystemen, skatta regressionslinjerna och rita ut residualerna. För att du ska slippa göra alla dessa kommandon finns de sammanställda i MATLAB-filen Ò ÓÑ ºÑ. Skriv alltså Ò ÓÑ för att få skattningar och plottar och besvara sedan följande frågor: Uppgift: Jämför värdena på de skattade koefficienterna för var och en av fyra regressionslinjerna. Studera och jämför residualplottarna för de fyra olika fallen. Vad har denna lilla studie att förtälja den som helt slentrianmässigt och okritiskt vill använda en linjär regressionsmodell? 3 Polynomregression Datamaterialet som du skall arbeta med i detta avsnitt är koldioxidhalter uppmätta över en vulkan varje månad under en period av 32 år, dvs totalt finns 32 12 = 384 mätvärden. Materialet finns i filen Ó¾º Ø, och den kan laddas in i MATLAB med kommandot ÐÓ Ó¾º Ø. Mätvärdena hamnar då i en vektor med namnet Ó¾. Plotta mätvärdena. Ù ÔÐÓØ ÔÐÓØ Ó¾µ Det finns uppenbarligen en kraftig periodicitet (årsvariation) i mätningarna, och en sådan låter sig inte så lätt fångas med en polynomiell regressionsfunktion. Detta problem kan lösas på flera sätt. Ett är att införa en sinus-funktion som modellerar variationen, ett annat är att differentiera datasekvensen, dvs undersöka z i = y i y i 1 i stället för y-värdena själva. Vi skall dock välja den mycket enkla lösningen att medelvärdesbilda över varje år. Detta fordrar litet trixande i MATLAB. Först skapar vi en 12 32-matris med bara nollor. Þ Þ ÖÓ ½¾ ¾µ Sedan överför vi mätvärdena till denna matris. Þ µ Ó¾ ÔÐÓØ Þµ Värdena i Ó¾ överförs här kolonnvis, så att första kolonnen i Þ innehåller mätvärdena från första året osv. Kontrollera gärna detta. Vi kan nu använda funktionen Ñ Ò för att beräkna årsmedelvärdena. Ý Ñ Ò Þµ
4 Laboration 5, Matstat AK för CDI, HT09 Slutligen vill vi att mätvärdena skall finnas i en kolonnvektor för att regressionsberäkningarna skall se ut som vanligt. Ý Ý³ Kom ihåg att ³ betecknar transponat. Vi har nu skapat den mätvärdesvektor vi skall arbeta med. Vi skapar även en vektor med den förklarande variabeln (årtalet, räknat från lämplig nollpunkt). Ü ½ ¾µ³ (Utrycket skapar en radvektor med värden från till i steg om.) Plotta mätvärdena. ÔÐÓØ Ü Ý ³Ó³µ Uppenbarligen är den periodiska variationen borta, vilket också var syftet med medelvärdesbildningen. Vi skall nu göra polynomregression på materialet, dvs vår modell är y i = 0 + 1 x i + 2 x 2 i +... + k x k i + i, i = 1,..., n, där i är oberoende likafördelade störningar med väntevärdet 0 och variansen 2. Som modellen är skriven ovan är den olinjär, ty ett polynom är inte en linjär funktion, men vi kan göra den linjär genom att införa de nya förklarande variablerna x ij = x j i för j = 1,..., k, i = 1,..., n, och skriva y i = 0 + 1 x i1 + 2 x i2 +... + k x ik + i, i = 1,..., n. Detta är den modell vi skall arbeta med. 3.1 Enkel linjär regression Vi börjar med att anpassa en linjär funktion till datamaterialet, dvs polynomets ordningsgrad k = 1. Skattningarna av 0 och 1 erhålles med hjälp av funktionen Ö Ö. ÐÔ Ö Ö ½ ÓÒ Þ Üµµ Ü Ø ½ Ø ½ ÒØ Ö ½ Ö ½ ÒØ Ø Ø Ö Ö Ý ½ ¼º¼ µ ÔÐÓØ Ü Ý ³Ó³ Ü ½ Ø ½µ ÔÐÓØ Ö ½ ³ ³µ Uppgift: Verkar en rät linje vara en tillfredsställande regressionsmodell? Diagrammet visar att residualerna i mitten av mätserien tycks komma från en annan fördelning är residualerna i början och slutet av densamma. Alternativt finns en stark korrelation mellan störningarna vilket strider mot oberoendeantagandet. Vi drar alltså slutsatsen att en enkel linjär regressionsmodell inte passar det aktuella datamaterialet.
Laboration 5, Matstat AK för CDI, HT09 5 3.2 Kvadratisk regression Nästa steg är att försöka anpassa en kvadratisk funktion till mätvärdena, dvs vi använder ordningstalet k = 2 för regressionspolynomet. Först skapar vi vektorer som innehåller de förklarande variablerna x i1 = x i och x i2 = x 2 i. ܽ Ü Ü¾ ܺ ¾ Sedan samlar vi de förklarande variablerna i matrisen ¾. ¾ ÓÒ Þ Üµµ ܽ ܾ Vi kan nu beräkna skattningarna av 0, 1 och 2. Ø ¾ Ø ¾ ÒØ Ö ¾ Ö ¾ ÒØ Ø Ø Ö Ö Ý ¾ ¼º¼ µ ÔÐÓØ Ü Ý ³Ó³ Ü ¾ Ø ¾µ ÔÐÓØ Ö ¾ ³ ³µ Uppgift: Verkar den kvadratiska modellen vara bättre än den linjära? Kan residualerna tänkas komma från samma fördelning? Vi skall nu undersöka om residualerna eventuellt kan komma från en normalfördelning. Detta kan vi göra genom att plotta dem i ett normalfördelningsdiagram. ÒÓÖÑÔÐÓØ Ö ¾µ Uppgift: Verkar det rimligt att anta normalfördelade störningar? Är väntevärdet av dessa lika med 0? Undersök detta både genom att titta på normalfördelningsdiagrammet och genom att använda funktionen Ñ Ò. Skatta felens varians 2 genom att dela residualkvadratsumman med n 3 = 29. ¾ ÙÑ Ö ¾º ¾µ»¾ Avsluta med att studera de 95 %-iga konfidensintervallen för 0, 1 och 2 (finns i Ø ¾ ÒØ). Uppgift: Är 2 signifikant skild från 0, dvs om H 0 : 2 = 0 och H 1 : 2 0, kan vi då förkasta H 0 (på nivån 5 %)? I så fall kan vi med gott samvete anta den kvadratiska modellen före den linjära. På samma sätt kan man gå vidare och testa om en tredjegradsterm i regressionsfunktionen är relevant. Vi skall nu använda en färdigskriven funktion Ö Ù och låta den göra grovjobbet. Undersök med ÐÔ-kommandot vad funktionen Ö Ù gör och vad den har för inparametrar.
6 Laboration 5, Matstat AK för CDI, HT09 ÐÔ Ö Ù Ö Ù Ü Ýµ Undersök de olika möjligheterna Ö Ù ger dig att studera en regressionsmodell och välj olika gradtal i modellen. Uppgift: Fick du några varningsmeddelanden i kommandofönstret? Vad kan det i så fall bero på? Uppgift: Gör en bedömning av figurerna och utskriften med de skattade parametrarna och konfidensintervallen och avgör vilken polynommodell som är mest adekvat. 4 Multipel regression I och med att vi redan vid enkel linjär regression arbetat med matrismodeller, erbjuder multipel linjär regression inget nytt vad beträffar parameterskattningarna. Vi får utöka matrisen X med ytterligare en kolonn för varje ny förklarande variabel, men minsta-kvadrat-problemet löser vi på samma sätt som tidigare. 4.1 Cementdata I detta smått klassiska experiment (beskrevs i Industrial And Engineering Chemistry redan 1932) har man i 13 försök mätt värmeutvecklingen i stelnande cement som funktion av viktprocenten av några ingående ämnen. I filen Ñ ÒØ finns följande variabler kolonnvis: cem1 viktprocent av 3CaO Al 2 O 3 cem2 viktprocent av 3CaO SiO 2 cem3 viktprocent av 4CaO Al 2 O 3 Fe 2 O 3 cem4 viktprocent av 2CaO SiO 2 värme utvecklad värme i kalorier per gram cement Vissa av de fyra cementvariablerna samvarierar kraftigt med varandra vilket påverkar regressionsanalysen. Utnyttja gärna ÓÖÖÓ, som räknar ut korrelationsmatrisen. Plotta de olika cementvariablerna mot värme och även de olika cementvariablerna mot varandra. ÐÓ Ñ Òغ Ø Ñ ÒØ ÓÖÖÓ Ñ Òص Ü Ñ ÒØ ½ µ Ñ ÒØ µ ÐÔ ÔÐÓØÑ ØÖ Ü ÔÐÓØÑ ØÖ Ü Ñ Òص Uppgift: Vilka variabler verkar samvariera?
Laboration 5, Matstat AK för CDI, HT09 7 Börja med att bestämma en full regressionsmodell med värme som responsvariabel och samtliga fyra cementvariabler som förklarande variabler: ÓÒ ½ ½µ Ü Ø Ø Ö ¹ Ø Ø ¾ ÙÑ Ö º ¾µ» Î Ø Ø ¾ ÒÚ ³ µ ÔÐÓØ Ö ³Ó³µ Uppgift: Vilka regressionskoefficienter är signifikant skilda från noll? Ser det bra ut? (t-kvantiler kan fås med Ø ÒÚ ½¹¼º¼»¾ µ som ger t 0.05/2 (f )-värdet) Givetvis kunde vi också använt funktionen Ö Ö direkt Ø Ø Ø Ø ÒØ Ö Ö ÒØ Ø Ø Ö Ö ¼º¼ µ Förmodligen är du inte alls nöjd med den fulla regressionsmodellen du just bestämt för cementdata, t ex samvarierade några av de förklarande variablerna kraftigt och kanske skall inte alla vara med. Försök komma fram till en bra regressionsmodell, vilket ju inte är helt lätt... Funktionen Ø ÔÛ kan vara till stor hjälp vid modellvalet ÐÔ Ø ÔÛ Ø ÔÛ Ü µ Uppgift: Vilken modell kom du fram till? 5 Kalibrering av flödesmätare (om du hinner) Bakgrund Kalibrering av en flödesmätare genomförs oftast i en speciell kalibreringsrigg. Här finns en referensmätare eller referensmetod för att mäta flödet. För att erhålla en god bild av hur den testade flödesmätaren fungerar utförs kalibreringen vid ett stort antal flöden. Tyvärr kan man även vid kalibrering råka ut för situationer där den testade mätaren störs av testförhållandena. Om t.ex. pulsationer uppträder i flödet kommer detta att negativt påverka resultaten för den testade mätaren. Detta visar sig oftast vid låga flödeshastigheter, då ultraljudsmätare tenderar att överskatta flödeshastigheten. Detta orsakas av att vi erhåller en laminär flödesprofil i röret, vilket medför att en ultraljudsmätare kan överskatta flödet med upp till 33% vid fullt utbildad laminär strömning.
8 Laboration 5, Matstat AK för CDI, HT09 Vid låga flöden ser vi även att vi har stora fluktuationer i resultaten. Detta beror troligen på att vi har flödespulsationer i flödesriggen vilka kommer att orsaka fluktuerande resultat för ultraljudsflödesmätaren, bland annat orsakat av s.k. aliasproblem (d.v.s mätsystemet arbetar med en för låg sampelfrekvens i förhållande till frekvenserna hos det uppmätta). Vid höga flöden uppträder troligen kavitation (ett slags bubbelbildning) inne i ultraljudsflödesmätaren vilket kan förklara de positiva felen och den ökade spridningen för strömningshastigheter över 6.3 m/s. Metod Vi har nu tillgång till data från en kalibrering av en ultraljudsflödesmätare. Datamaterialet, som kommer från institutionen för värme- och kraftteknik, omfattar 71 mätningar och är lagrat i matrisen ÐÓÛ, där varje rad innehåller data från en mätning, variabeln ܾ avser referensflödesmätningar från kalibreringsriggen och ݾ avser respektive flöden uppmätta med den testade ultraljudsflödesmätaren (flödeshastigheterna givna i enheten m/s). Den använda kalibreringsriggen använder kontinuerlig vägning av det genomströmmande vattnet för att bestämma ett massflöde som sedan kan räknas om till medelhastighet i röret, vilket är vad ultraljudsmätaren mäter. Tanken är här att vi med hjälp av de gjorda mätningarna med givare och referens skall skatta parametrarna i en enkel linjär regressionsmodell. Vi antar då att referensmätningarnas fel kan försummas i jämförelse med ultraljudsgivarens (varför måste vi bekymra oss om detta?) och att ultraljudsgivarens fel är oberoende, likafördelade och har väntevärdet noll. För att studera detta datamaterial ska vi använda funktionen Ö Ù vars finesser du förhoppningsvis redan bekantat dig med. Observera att du t.ex. automatiskt kan rita ut konfidensintervall och prediktionsintervall genom att markera i tillämplig ruta. För att bilden skall bli tydligare börjar vi med att studera en liten delmängd av materialet, 10 talpar av flödesmätningar som ges i variablerna ܽ och ݽ. ÐÓ ÐÓÛºÑ Ø Ö Ù Ü½ ݽµ Använd nu funktionen interaktivt för att göra följande beräkningar: Beräkna det förväntade värdet enligt ultraljudsmätaren, då flödet enligt kalibreringsriggen är 0.40m/s. Beräkna också ett 95%-igt konfidensintervall för detta förväntade värde. Beräkna dessutom ett 95%-igt prediktionsintervall för en framtida observation från ultraljudsmätaren, då kalibreringsriggen ger mätvärdet 0.40m/s. Identifiera dessa två intervall i figuren och förklara vad det är som skiljer dem åt. Notera också värdena på de två intervallen eftersom du ska använda dem senare i laborationen. När vi sedan skall använda den kalibrerade ultraljudsmätaren, innebär det i princip att vi läser baklänges i kalibreringskurvan. Antag att vi med ultraljudsmätaren får mätvärdet 0.48m/s. Beräkna ett 95%-igt konfidensintervall för den sanna flödeshastigheten (dvs det värde som kalibreringsriggen skulle ge). Identifiera i figuren de kurvor som används vid den grafiska bestämningen av detta konfidensintervall och förklara varför det är just dem, man skall använda.
Laboration 5, Matstat AK för CDI, HT09 9 När vi enligt det ovanstående beräknat olika konfidens- och prediktionsintervall har vi stillatigande förutsatt att mätfelen hos ultraljudsmätaren är normalfördelade med konstant varians. Var i beräkningarna utnyttjas detta antagande? Om vi vill använda kalibreringskurvan i seriösa sammanhang måste vi först utföra en modellvalidering, dvs vi måste kontrollera att den linjära regressionsmodellen ger en adekvat beskrivning av sambandet. Vi kan bland annat validera modellen genom en grafisk residualanalys. Vid en sådan residualanalys får följande tre diagram, som alla kan fås i Ö Ù, anses vara standard: Residualer gentemot observerade eller predikterade y-värden. Residualer gentemot den oberoende variabelns värden. Residualer i normalfördelningsdiagram. Detta skall vi nu ta itu med, men låt oss göra detta med en modell anpassad till hela datamaterialet. Då kan vi också passa på att studera vissa andra egenskaper hos de olika intervallskattningarna. Ö Ù Ü¾ ݾµ Upprepa nu beräkningarna från första frågepunkten ovan, dvs Beräkna det förväntade värdet enligt ultraljudsmätaren, då flödet enligt kalibreringsriggen är 0.40m/s. Beräkna också ett 95%-igt konfidensintervall för detta förväntade värde. Beräkna dessutom ett 95%-igt prediktionsintervall för en framtida observation från ultraljudsmätaren, då kalibreringsriggen ger mätvärdet 0.40m/s. Skriv ner de båda intervallen. Jämför intervallbredderna baserade på de 10 mätningarna med motsvarande intervallbredder för den modell som är anpassad till alla de 71 mätpunkterna, Nu är det inte säkert att du lyckats pricka in precis samma x-värde i de två fallen, men vissa allmänna iakttagelser bör ändå vara möjliga. Jämför de två konfidensintervallen. Skiljer de sig väsentligt åt (eller inte)? Hur kan det förklaras? Jämför de två prediktionsintervallen. Skiljer de sig väsentligt åt (eller inte)? Hur kan det förklaras? Innan vi törs använda den skattade regressionslinjen för prediktion, måste vi naturligtvis förvissa oss om att modellen är adekvat. Ger plottarna anledning att förkasta modellen eller anser du att du på goda grunder kan använda den skattade regressionslinjen för kalibrering av ultraljudsmätaren?