LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK LABORATION 2 MATEMATISK STATISTIK AK FÖR F OCH FYSIKER, FMS012/MASB03, VT17 Laboration 2: Sannolikhetsteori och simulering Syftet med den här laborationen är att du skall bli mer förtrogen med några viktiga områden inom kursen nämligen Beroende Betingade fördelningar Funktioner av stokastiska variabler Gauss approximationsformler Simulering av tvådimensionella normalfördelade stokastiska variabler Stokastisk simulering är ett mycket viktigt redskap inom teknisk modellering och som illustration av slumpmässig variation tittar vi på några enkla kretsar där komponenternas toleransområden modelleras i form av rektangelfördelningar. 1 Förberedelseuppgifter Som förberedelse till laborationen bör du läsa igenom Kapitel 3.10, 4.5, 4.8, 5 och 7, samt hela laborationshandledningen och stencilen om Gauss approximationsformler. Till laborationens start har du med dig lösningar till uppgifterna a) e): a) Definiera följande begrepp: oberoende stokastiska variabler, väntevärde, varians, kovarians, korrelation och betingad täthetsfunktion. (Behövs i avsnitt 2). b) Skriv upp den simultana täthetsfunktionen för X och Y om X N (μ X,σ X ) och Y N (μ Y,σ Y ) och X och Y är oberoende av varandra. c) Låt X 1 och X 2 vara oberoende och normalfördelade med väntevärde 0 och varians 1 och låt Y 1 = X 1, Y 2 = ax 1 + (1 a 2 ) X 2. Bestäm V (Y 1 ), V (Y 2 ) och C(Y 1, Y 2 ) och korrelationskoefficientenρ(y 1, Y 2 ). (Tips. Kovariansen är bilinjär!) (Behövs i avsnitt 3). d) Skriv upp Gauss approximationsformler för en funktion g(x, Y ) av två stokastiska variabler X och Y. (Behövs i avsnitt 3). e) Lös övningsuppgift SL66. (Behövs i avsnitt 3).
2 Laboration 2, Matstat AK för F och fysiker, VT17 2 Betingade fördelningar Den här avsnittet syftar till att belysa begreppet betingad fördelning. Detta är viktigt eftersom betingade fördelningar och speciellt deras väntevärden och varianser är grundläggande för all prediktion och rekonstruktion i stokastiska system. Avsikten är också att du skall träna på korrelation som mått på beroende mellan två stokastiska variabler X och Y. Vi arbetar här med en tvådimensionell normalfördelning (X, Y ). Täthetsfunktionen för en tvådimensionell normalfördelning med väntevärdenμ X,μ Y, standardavvikelserσ X,σ Y och korrelationskoefficientρ=ρ(x, Y ) = C(X,Y ) σ X σ Y är där f X,Y (x, y) = { 1 = K exp 2(1 ρ 2 ) [(x μ X σ X K = ) 2 + ( y μ Y σ Y Vad gäller för beroendet mellan X och Y om ρ = 0? ) 2 2ρ( x μ X σ X 1 2πσ X σ Y 1 ρ 2. )( y μ } Y )], σ Y Genom att bestämma den betingade täthetsfunktioneen f X Y (x y) = f X,Y (x,y) f Y (y) ser man att den betingade fördelningen för X givet att Y = y är en endimensionell normalfördelning med E(X Y = y) =μ X +ρ σ X σ Y (y μ Y ) V (X Y = y) =σ X 2 (1 ρ 2 ). Observera att det betingade väntevärdet är lika medμ X plus en korrektionsterm som beror linjärt av y medan den betingade variansen bara beror på ρ. (Analoga formler gäller för n-dimensionella normalfördelningar.) Du ska nu studera grafiskt hur den betingade fördelningen, väntevärdet och variansen för X ändras då vi skruvar lite på de olika parametrarna i uttrycken ovan. Med andra ord, hur ändras vår information om X efter det att vi observerat att Y = y? Till din hjälp finns två m-filer ÒÓÖÑ Ð¾ och ÓÒ ÒÓÖÑ Ð som ger dig bilder över de inblandade täthetsfunktionerna. ÒÓÖÑ Ð¾ μ X,μ Y,σ X,σ Y,ρµ ger en bild över den tvådimensionella täthetsfunktionen dess nivåkurvor och de marginella täthetsfunktionerna för X och Y. Funktionen ÓÒ ÒÓÖÑ Ð ger bilder av de betingade täthetsfunktionerna. ÓÒ ÒÓÖÑ Ð μ X,μ Y,σ X,σ Y,ρ, y,yµ genererar t ex en bild över den betingade täthetsfunktionen för X givet att Y = y. Undersök hur betingat väntevärde och varians påverkas för små resp stora värden påρ,σ X ochσ Y. Vad händer omρ = 0 eller 0.99? Använd t.ex. ÓÒ ÒÓÖÑ Ð samt ÓÐ ÓÒ och studera hur tätheten ändras medρochσ Y. Vad händer när du ändrarρochσ Y?
Laboration 2, Matstat AK för F och fysiker, VT17 3 Svar:... 3 Simulering 3.1 Simulering av oberoende normalfördelade s.v. Metoden att transformera med inversen till en fördelningsfunktion fungerar bra så länge som fördelningsfunktionen kan beräknas exakt. Detta är inte fallet för t ex normalfördelningen. Det finns dock ett flertal metoder för att simulera slumptal från denna fördelning. En av de enklaste är att summera ett antal R(0, 1)-fördelade slumptal och med stöd av centrala gränsvärdessatsen betrakta summan som normalfördelad. Den metod vi skall studera använder det faktum att om U och V är två oberoende R(0, 1)-fördelade variabler, så är och X = cos(2πu ) 2 ln V Y = sin(2πu ) 2 ln V N(0,1)-fördelade och oberoende. Detta kan visas på följande sätt. Utgå från den simultana täthetsfunktionen för två oberoende N (0, 1) variabler X, Y. f X,Y (x, y) = 1 2π exp( 1 2 (x2 + y 2 )) Inför polära koordinater x = r cos(θ) y = r sin(θ) Den simultana täthetsfunktionen för (R,Θ) blir då där f R,Θ (r,θ) = 1 2π exp( r2 2 ) J J = x r x θ y r y θ = r och detta gäller för området 0 θ 2π, r 0. Nästa steg är att beräkna de marginella täthetsfunktionerna för R, R 2 och θ. f R (r) = 2π r 0 2π e r 2 2 dθ = re r2 2, r 0 F R 2(r) = P(R 2 r) = [R 0] = P(R r) = F R ( r) f R 2(r) = d dr F R( r) = 1 2 r f R( r) = 1 2 e r 2, r 0
4 Laboration 2, Matstat AK för F och fysiker, VT17 Alltså: R 2 Exp(2) Dvs.Θ R(0, 2π) f Θ (θ) = r 0 2π e r 2 [ 2 dr = 1 ] 2π e r 2 2 0 = 1 2π, 0 θ 2π Om nu U, V R(0, 1) så kan R och Θ erhållas som funktioner av V resp. U enligt R = 2 ln V och eller uttryckt i X och Y och Θ = 2πU X = cos(2πu ) 2 ln V Y = sin(2πu ) 2 ln V Ur ovanstående framgår att (X, Y ) kan ses som en punkt i planet, framställd i polär form, där 2πU är vinkeln och 2 ln V är absolutbeloppet. Slut på bevis! Använd metoden ovan för att simulera 2000 stycken N (0, 1)-fördelade slumptal. Kom ihåg att º ger elementvis multiplikation. Taletπfinns inlagt i Matlab och heter Ô. Studera histogrammet ( Ø) och använd ÒÓÖÑÔÐÓØ för att undersöka om metoden fungerar som den skall? Pröva gärna att göra en tvådimensionell plot av ett antal par (X, Y ) enligt ovan. Ett sådant par sägs ha en tvådimensionell normalfördelning. Kommandot ÔÐÓØ Ü Ý ³º³µ plottar vektorn Ü mot vektorn Ý genom att placera en punkt (º) i varje datapunkt. En plot enligt ovan visar att alla vinklar är lika vanligt förekommande, vilket är väntat eftersom vinkeln är 2πU, och U är rektangelfördelad. Absolutbeloppet är däremot inte likformigt fördelat, eftersom R 2 är exponentialfördelad med väntevärde 2 enligt ovan. Med andra ord har vi fått fram att om (X, Y ) är en tvådimensionellt normalfördelad stokastisk variabel där de enskilda komponenterna X och Y båda har väntevärdet 0, variansen 1 och är oberoende, så beror tätheten för (X, Y ) i en punkt (x, y) endast av avståndet från (x, y) till origo. Vi har också fått fram att kvadratsumman R 2 = X 2 + Y 2 Exp(2). Matlab har givetvis en egna funktioner Ö Ò Ò och ÒÓÖÑÖÒ (Statistics Toolbox) som genererar oberoende normalfördelade slumptal. Med hjälp av kommandot Ö Ò Ò Ñ Òµ erhåller man en m n-matris med normalfördelade slumptal med väntevärde 0 och varians 1. 3.2 Simulering av beroende N (0, 1)-fördelning Generera två vektorer ܽ och ܾ med vardera 2000 oberoende N (0, 1)-fördelningar enligt föregående avsnitt. Använd sedan förberedelseuppgift c) för att transformera dessa till två vektorer ݽ och ݾ med några lämpliga val av korrellationskoefficienter (dvs a i förberedelseuppgiften). kontrollera resultatet med ÔÐÓØ Ý½ ݾ ³º³µ.
Laboration 2, Matstat AK för F och fysiker, VT17 5 3.3 Simulering av spridning i passiva komponenter 3.3.1 Simulering av lågpass RC-filter Ett lågpass RC-filter (Figur 1) har frekvensfunktionen H(f ) = 1 1+i2πRCf. Anta nu att R = 1kΩ och C = 0.1μF. Plotta amplitudfunktionen A(f ) = H(f ) i frekvensintervallet 10 Hz till 10 6 Hz. ÕÖØ ¹½µ Ê ½ ¼º½ ¹ ÐÔ ÐÓ Ô ÐÓ Ô ½ ¼¼µ À ½º» ½ ¾ Ô Ê µ ÐÔ ÐÓ ÐÓ ÐÓ ÐÓ Àµµ R + + Uin C Uut Figur 1: Ett första ordningens lågpass RC-filter. Frekvensen f b = 1 2πRC kallas brytfrekvensen och är den frekvens där H(f ) = 1 2 max( H(f ) ). I det här fallet är f b = 1 2πRC 1.6kHz. Så här långt verkar ju allt lugnt och deterministiskt. Men, låt oss nu anta att vi skall serietillverka en massa sådana lågpassfilter. Komponenterna vi använder kommer ju inte att vara exakt lika med de nominella värderna (i det här fallet 1kΩ och 0.1μF) utan det finns alltid en viss variation mellan olika exemplar. Antag att vi använder oss av resistorer märkta 1kΩ ±10% och kondensatorer märkta 0.1μF ± 20%. Då kan R och C tolkas som stokastiska variabler och H(f ), som ju är en funktion av R och C, kommer också vara en stokastisk variabel (för varje f). Vidare ser vi att brytfrekvensen f b också kommer att vara en stokastisk variabel. Antag att R och C är likformigt fördelade över intervallet och generera ett tiotal R och C och se hur A(f ) varierar. I Matlab finns speciella funktioner som genererar slumptal från given fördelning, i detta fall kommer vi använda funktionen ÙÒ ÖÒ. ÐÔ ÙÒ ÖÒ Ö ÙÒ ÖÒ ¼º Ê ½º½ Ê ½¼ ½µ
6 Laboration 2, Matstat AK för F och fysiker, VT17 ÙÒ ÖÒ ¼º ½º¾ ½¼ ½µ ÙÖ ¾µ ÓÐ Ó ÓÖ ½ ½¼ ÐÓ ÐÓ ½º» ½ ¾ Ô º Ö µ µµµµ ÓÐ ÓÒ Ò Ser det ut att vara stor spridning på A(f )? Hur ser täthetsfunktionen för f b ut? Vad kommer det förväntade f b att bli? Hur stor spridning är det på f b? Besvara dessa frågor genom att simulera f b 1000 gånger och uppskatta E(f b ) och V (f b ) med funktionerna Ñ Ò och Ú Ö. Jämför uppskattat väntevärde och varians med dina resultat från förberedelseuppgift d). För att titta på täthetsfunktionen använder du Ø-kommandot. Om du vill kan du även jämföra med de exakta värdena på brytfrekvensens väntevärde och varians. De är ganska besvärliga att räkna ut, men du kan använda funktionen Ø Ø Ê Ö µ som även ritar upp brytfrekvensens täthetsfunktion. Gör om ovanstående simuleringar med mindre spridning på R och C, t.ex. 2% på R och 5% på C. (Kom ihåg att noggrannare komponenter är dyrare, så dina serieproducerade RC-länkar kommer att kosta mer.) Stämmer Gaussapproximationen bättre nu och i så fall varför? 3.3.2 Bortfiltrering av periodisk störning i fyrkantsvåg I den här uppgiften belyses ett av alla de problem som kan uppstå på grund av spridning i komponenter. En signalgenerator som genererar en fyrkantsvåg med frekvensen 10 khz skall tillverkas. Av någon anledning, kanske p.g.a. överhörning inom signalgeneratorn, uppstår tyvärr en stor störning i form av en ren sinussignal med frekvensen 20 khz. I funktionen ÕÙ Ö ÔÐÙ ØÙÖ Ò visas hur fyrkantsvågen, störningen och den sammansatta signalen ser ut. Titta på dem. ÕÙ Ö ÔÐÙ ØÙÖ Ò Uppgiften nu är att konstruera ett filter som filtrerar bort denna störning. Vi vet från kurser i komplex analys att fyrkantsvågen kan skrivas som en Fourierserie, s(t) = k=0 4 sin(2π(2k + 1)f 0 t) = 4 ( sin(2πf 0 t)+ sin(2π3f ) 0t) +..., π 2k+1 π 3
Laboration 2, Matstat AK för F och fysiker, VT17 7 dvs som en grundton plus udda övertoner. I detta fall är f 0 = 10 khz. Alltå borde ett smalbandigt s.k. bandspärrfilter som spärrar för just frekvenser kring 20 khz kunna användas. Ett enkelt sådant filter kan göras såsom i figur 2. Detta filter har frekvensfunktionen H(f ) = 4π 2 f 2 + 1 LC 4π 2 f 2 + i2πf R L + 1 LC där L = 3.5 mh, C = 18 nf och R = 30Ω i vårt fall. Funktionen Ð ÛÓÖÐ visar hur H(f ), den störda insignalen till filtret och utsignalen från filtret ser ut om L, C och R är exakt som ovan. Titta på dem! ÐÔ Ð ÛÓÖÐ Ð ÛÓÖÐ Ser utsignalen bra ut? (Överkurs: Kan du förklara varför utsignalen inte blir en helt perfekt fyrkantsvåg?) Svar:... + R + U in L Uut C Figur 2: Ett andra ordningens passivt bandspärrfilter. Nu till verkligheten. Vi vill göra filtret så billigt som möjligt och använder oss därför av R som har en tolerans på ±10% och L och C som har en tolerans på ±20%. Vidare tror vi att fördelningarna är likformigt fördelade i respektive intervall. Hur kommer utsignalen då att se ut? Simulera och se hur serieproducerade exemplar av vår signalgenerator plus filter kommer att uppföra sig. Programmet Ö Ð ÛÓÖÐ gör denna simulering. ÐÔ Ö Ð ÛÓÖÐ Ê ¼ Ä º ¹ ½ ¹ ØÓÐ Ê ½¼ ØÓÐ Ä ¾¼ ØÓÐ ¾¼ Ö Ð ÛÓÖÐ Ê Ä ØÓÐ Ê ØÓÐ Ä ØÓÐ µ
8 Laboration 2, Matstat AK för F och fysiker, VT17 Hur ser det ut? Ö Ð ÛÓÖÐ gör 30 simuleringar. Du kan stoppa programmet tidigare med kommandot ctrl-c. Blir det bättre om vi köper dyrare komponenter och alltså minskar toleransen? Vad skall vi dra för slutsats av allt detta?