Stokastiske processer og køteori 3. kursusgang Anders Gorst-Rasmussen Institut for Matematiske Fag Aalborg Universitet 1
SIDSTE GANG Ankomstproces T 1, T 2,... (ankomsttid per kunde) til køsystem. Modellér kumulativt antal ankomster (tælleproces) N(t) := max{n T 1 + + T n t}. Fuldst. tilfældige ankomster N en stationær Poissonproces antal ankomster i disjunkte tidsintervaller er uafhængige; N(t) Poisson(λt), λ > 0 intensitet. Mere generelt, fornyelsesprocesser for ankomstttider: T n = n U i, i=1 U i uafhængige og identisk fordelte. Hvordan tjekkes, om en ankomstproces er en fornyelsesproces? SIDSTE GANG 2
HVORFOR ER DET RELEVANT? I mange modelleringssituationer kan vi observere ankomstprocessen før selve modelkonstruktionen. Modeller for ankomstprocessen nødvendige ifm. Simulation valg af fordeling for interankomsttider? Teoretiske beregninger kan vi bruge simpel Markovmodel (dvs. er interankomsttider eksponentialfordelte)? Statistisk inferens hvordan ser ankomstprocessen ud? Det er generelt ikke nok blindt at antage eksponentialfordeling! HVORFOR ER DET RELEVANT? 3
FORNYELSESEGENSKABEN HVAD BETYDER DET? Fornyelsesmodel for ankomstproces interankomsttider uafhængige og identisk fordelte. I knap så tekniske termer 1. Hver kunde vælger ankomsttid uafh. af tidligere kunder. 2. Ankomstprocessen ser ens ud til alle tidspunkter. Specielt er ankomstraten konstant over tid (stationaritet). Givet observerede interankomsttider, tjek følgende: 1. Stationaritet af interankomsttider. 2. Uafhængighed af interankomsttider. 3. Hvilken klasse af fordelinger (eksponential, Erlang etc.) 4. Hvilke parametre i den givne klasse af fordelinger? FORNYELSESEGENSKABEN HVAD BETYDER DET? 4
ROUTER LØBENDE DATAEKSEMPEL Ankomsttider for pakker til New Zealandsk router. 1500 ankomster (del af 188 gb stort datasæt). Detaljer: http://wand.cs.waikato.ac.nz/wand/wits/auck/4/ Antal pakker 0 500 1000 1500 0 5 10 15 Tid/ms ROUTER LØBENDE DATAEKSEMPEL 5
STATIONARITET Stokastisk proces X = {X n : n N} stationær, hvis X ser ens ud, uanset hvornår man starter med at se på den. I praksis, tjek om middelværdi og varians uafhængige af t. Plot (i, x i ) for i = 1,...,n og se efter Trends/skift i gnsntl. værdi (plot fx løbende gennemsnit), Skift i variation. Stat. proces Ikkestat. proces Observation 0.0 1.0 2.0 3.0 Observation 2 2 6 10 0 20 40 60 80 100 Observationsnummer 0 20 40 60 80 100 Observationsnummer STATIONARITET 6
ROUTER STATIONARITET? Interankomsttid/ms 0.00 0.04 0.08 0 500 1000 1500 Pakkenummer R-kode: plot(int.ank,xlab="pakkenummer",ylab="interankomsttid/ms") lines(filter(int.ank,rep(1/50,50)),col=2,lwd=2) ROUTER STATIONARITET? 7
KORRELATION Korrelationen mellem stokastiske variable X og Y ρ(x, Y) := Cov(X, Y) Var(X)Var(Y). Der gælder følgende ρ(x, Y) > 0: positiv samvariation (X stor Y stor); ρ(x, Y) < 0: negativ samvariation (X stor Y lille); ρ(x, Y) = 1 Y = ax + b for konstanter a, b. Hvis X og Y er uafhængige, vil ρ(x, Y) = 0. Dvs. korrelationen er et mål for (lineær) afhængighed. KORRELATION 8
Advarsel: Korrelation er ikke det samme som uafhængighed. Tag fx X Unif[ 1, 1] og sæt Y = X 2. Så er ρ(x, Y) = 0. Problemet? Sammenhæng ml. X og Y ikke-lineær. Ligefordeling, [ 1,1] 1.0 0.0 0.5 1.0 Y=X^2 0.0 0.4 0.8 1.0 0.5 0.0 0.5 1.0 1.0 0.5 0.0 0.5 1.0 X (ligefordelt, [ 1,1]) Plot evt. observationer af X mod observationer af Y for at afsløre mere kompliceret sammenhæng end lineær. KORRELATION 9
KORRELATION FOR STOKASTISKE PROCESSER X = {X n : n N} er (svagt) stationær. Autokorrelationsfkt. ρ(k) := ρ(x n, X n+k ) (uafh. af n pga. stationaritet) k = 0, 1,... ρ(k) fortæller noget om afhængigheden mellem observationer, som er k tidsenheder fra hinanden. X n er uafhængige ρ(k) = 0 for k > 0 (bemærk, ρ(0) = 1). Estimér ρ(k) ved empirisk autokorrelation ^ρ(k) = n k i=1 (x i+k x)(x i x) n i=1 (x i x) 2, k = 0, 1,..., n. Ved uafhængighed skal ^ρ(k) være numerisk lille. Plot ^ρ(k) mod k og tjek det! KORRELATION FOR STOKASTISKE PROCESSER 10
approx Hvad betyder lille? Kan vise n 1/2^ρ(k) N(0, 1) for n stor. Dvs. et approksimativt 95%-konfidensinterval for ^ρ(k) er [ 1.96n 1/2, 1.96n 1/2 ], (1.96 er 97.5% fraktilen i N(0, 1)). Tommelfingerregel: Uafhængighed ρ(k) 2/ n for ca. 95% af k > 0. ACF IID obs ACF random walk ACF 0.2 0.2 0.6 1.0 ACF 0.2 0.2 0.6 1.0 0 5 10 15 20 Lag 0 5 10 15 20 Lag KORRELATION FOR STOKASTISKE PROCESSER 11
ROUTER UAFHÆNGIGHED? Autokorrelationsfunktion, interankomsttider ACF 0.0 0.4 0.8 0 5 10 15 20 25 30 Lag R-kode: acf(int.ank) ROUTER UAFHÆNGIGHED? 12
FORDELINGSTYPE PP-PLOT Uafhængige observationer x 1,...,x n fra en ukendt fordeling. Stammer disse fra (kendt) fordelingsfunktion F? Idé sammenlign teoretisk F m. empirisk fordelingsfunktion F n F n (x) := antal obs. mindre end eller lig x. Empirisk fordelingsfkt. Teoretisk fordelingsfkt. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0 1 2 3 4 0 1 2 3 4 5 FORDELINGSTYPE PP-PLOT 13
Kan vise, at lim n F n (x) = F(x) med sandsynlighed 1 for alle x. Dvs. for n stor, plot af F n mod F ligger langs linien y = x. Kaldes et PP-plot (Probability-Probability plot). I praksis, plot (i/n, F(y i )) for i = 1,...,n (y i er ordnede x i er). Empiriske sandsynligheder 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 Teoretiske sandsynligheder FORDELINGSTYPE PP-PLOT 14
FORDELINGSTYPE QQ-PLOT Problem: PP-plots viser afvigelser i områder med stor sandsynlighed. Hvad med opførslen i halen af fordelingen? Benyt QQ-plots: Fraktilfunktion for p [0, 1] Q(p) := F 1 (p) (teoretisk) Q n (p) := min{x : p F n (x)} (empirisk) Hvis obs. fra F, lim n Q n (p) = Q(p) m. sandsynlighed 1. Dvs. for n stor ligger plot af Q n (p) mod Q(p) langs linien y = x. Kaldes QQ-plot (Quantile-Quantile plot). I praksis, plot (y i, Q(i/n)), i = 1,...,n (y i er ordnede x i er). FORDELINGSTYPE QQ-PLOT 15
Empiriske fraktiler Teoretiske fraktiler 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0 1 2 3 4 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 Empiriske fraktiler 0 1 2 3 0 1 2 3 4 Teoretiske fraktiler FORDELINGSTYPE QQ-PLOT 16
MERE OM QQ-PLOTS Normalt kender vi kun F op til én eller flere parametre. Man kan estimere disse fra data og benytte QQ/PP-plots. Et alternativ: Antag at (Q(x), Q n (x)) ligger omkring en ret linie y = ax + b. Gælder hvis data stammer fra fordelingsfunktion F((x b)/a). Kan bruges til fordelingstjek m. QQ-plot uden estimation: Hvis data fra N(b, a 2 ), og F er fordelingsfunktion for N(0, 1), så har data fordelingsfunktion F((x b)/a). Hvis data fra Exp(a), og F er fordelingsfunktion for Exp(1), så har data fordelingsfunktion F(ax). Virker ikke for PP-plots og ikke med alle fordelinger. MERE OM QQ-PLOTS 17
ROUTER FORDELINGSTYPE Empiriske fraktiler 0.00 0.04 0.08 Empiriske sandsynligheder 0.0 0.2 0.4 0.6 0.8 1.0 R-kode: 0 2 4 6 Teoretiske fraktiler 0.0 0.2 0.4 0.6 0.8 1.0 Teoretiske sandsynligheder plot(qexp((1:n)/n),sort(int.ank),ylab="empiriske fraktiler", xlab="teoretiske fraktiler") abline(0,mean(int.ank)) plot(pexp(sort(int.ank),1/mean(int.ank)),(1:n)/n, ylab="empiriske sandsynligheder",xlab="teoretiske sandsynligheder") abline(0,1) ROUTER FORDELINGSTYPE 18
FORDELINGSTYPE GOODNESS-OF-FIT-TEST Benyt et formelt for test for hypotesen H 0 : Data stammer fra F. Opskrift på goodness-of-fit-test: 1. Inddel [min i x i, max i x i ] i intervaller (a i 1, a i ], i = 1,...,k. 2. Bestem forventet antal observationer i (a i 1, a i ] E i = n(f^θ (a i) F^θ (a i 1)), hvor F fordelingsfkt. med estimeret parameter ^θ (dimension c). 3. Udregn χ 2 -teststørrelse X 2 = k i=1 (E i O i ) 2 O i. 4. Hvis data fra F^θ, så gælder X2 χ 2 (k c 1) approksimativt. Med signifikansniveau (1 α) 100%, afvis H 0 hvis X 2 > χ 2 (α,k c 1) (hvor χ2 (α,k c 1) er 1 α fraktil i χ2 (k c 1)). FORDELINGSTYPE GOODNESS-OF-FIT-TEST 19
ANBEFALINGER, GOODNESS-OF-FIT-TEST Goodness-of-fit-test følsomt overfor valg af antal intervaller k. Ej muligt at vælge optimalt antal intervaller. Stikprøvestørrelse Antal intervaller 20 Brug ikke χ 2 -test 60 5-10 100 10-20 >100 n n/5 Tommelfingerregel: Antal obs./interval 5 for χ 2 -test. Repetition + opgaver næste gang eksempel på beregninger. Typisk er formelle tests for fordelingstype mest interessante i tvivlssituationer eller særlige beslutningssituationer. Overvejelser ud fra QQ-plots og PP-plots er at foretrække. ANBEFALINGER, GOODNESS-OF-FIT-TEST 20
ESTIMATION AF PARAMETRE Antag at vi har besluttet fordelingstype. Vi er givet 1. Uafh. observationer x 1,...,x n. 2. Parametrisk klasse F = {f θ : θ Θ} af tætheder. Hvad er bedste bud på θ, når vi tror på model i F? Maksimaliseringsestimation: Vælg et θ, som maksimerer likelihooden for at have observeret x 1,...,x n. ^θ = arg maxl(θ) = arg max n f θ (x i ) i=1 (maksimaliseringsestimat). Praksis; udregn og maksimér l(θ) = log L(θ) = n i=1 log f θ(x i ). Kan sommetider udregnes analytisk sommetider numerisk. Maksimaliseringsestimatorer har særligt pæne egenskaber. ESTIMATION AF PARAMETRE 21
EKSEMPLER PÅ MAKSIMALISERINGSESTIMATORER Fordeling Tæthed Param. Maksimaliseringsestimator Poisson e λ λ n /n! λ ^λ = x. Eksponential f(x) = ae ax a ^a = 1/ x Erlang (kendt r) β r /(n 1)!x r 1 e x/β β ^β = x/r Normal (σ 2π) 1 e (x µ)2 /(2σ 2 ) µ,σ 2 ^µ = x ^σ 2 = (n 1) 1 n i=1 (x i x) 2 Lognormal (xσ 2π) 1 e (ln(x) µ)2 /(2σ 2 ) µ,σ 2 Som for normalfordelingen; efter at have taget ln af data. Generelt er det nødvendigt at udregne estimater numerisk. R kan beregne maksimaliseringsestimater for mange univariate fordelinger m. kommando fitdistr i pakken MASS. EKSEMPLER PÅ MAKSIMALISERINGSESTIMATORER 22
ROUTER ESTIMAT I EKSPONENTIALFORDELINGEN Antag at interankomsttider er Exp(a)-fordelt (omend tvivlsomt). Vi finder, at ^a = 88.863. Standardfejl 2.29 (estim. varians på ^a). Approksimativt 95% konfidensinterval for ^a R-kode: [^a 1.96 ^ SE, ^a + 1.96 ^ SE] = [84.36441, 93.36159]. fitdistr(int.ank,"exponential") ROUTER ESTIMAT I EKSPONENTIALFORDELINGEN 23
I skal tjekke REKAPITULATION HVAD SKAL I HUSKE 1.... stationaritet, fx vha. plots (evt. glidende gennemsnit). 2.... uafhængighed, fx vha. autokorrelationsplots. 3.... fordelingstype, fx vha. QQ/PP-plots, evt. goodness-of-fit-test. Estimér dernæst parametre i den relevante fordeling. Et godt råd: Hvis den stationære Poissonproces (eksponentialfordelte interankomsttider) er en acceptabel model, hold jer til den. Det gør typisk fortolkning, teori og beregninger noget simplere. REKAPITULATION HVAD SKAL I HUSKE 24