3.4 Sandsynligheder, tætheder, fordelingsfunktion, fraktilfunktion

Til alle fordelinger som kan simuleres ved en R-funktion findes der også funktioner til beregning af sandsynligheder (ved diskrete fordelinger) eller tætheder (ved kontinuerte fordelinger), samt fordelingsfunktionen og dens inverse, fraktilfunktionen. Navnene og argumenter af disse funktioner følger altid det samme mønster. For eksempel giver, for uniform fordelingen på \([min, max]\),

  • runif(n, min, max) : vektor af \(n\) simulerede udfald af \(X\sim Unif[min, max]\),
  • dunif(x, min, max) : tæthedsfunktionen i \(x\). Det må godt være en vektor, så får man en vektor med tæthedsværdier til hver indgang af \(x\),
  • punif(q, min, max) : fordelingsfunktionen taget i \(q\), altså sandsynligheden \(P(X\leq q)\). Igen må man godt anvende den på en vektor.
  • qunif(p, min, max) : fraktilfunktionen, dvs, den størreste værdi \(q\) som opfylder \(P(X\leq q) \leq p\). Man får flere værdier ad gangen når \(p\) er en vektor.

Øvelse 3.5

Lad \(X\) være uniform fordelt på intervallet \([6, 11]\), og lad \(f\), \(F\) og \(F^{-1}\) betegne tæthedsfunktionen, fordelingsfunktionen og fraktilfunktionen af \(X\).

Beregn i hånden \(f(4), f(8), f(12)\), \(F(4), F(8), F(12)\), samt \(F^{-1}(0.2)\) og \(F^{-1}(0.5)\). Kontroller dine beregninger i R ved brug af funktionerne dunif, punif og qunif.


Øvelse 3.6

Betragt en stokastisk variabel \(X\sim Pois(1.8)\). Da den er diskret fordelt, giver R-funktionen dpois(x, lambda = 1.8) sandsynligheden \(P(X=x)\). Lad R beregne denne sandsynlighed for værdierne \(x=0, 1, 2, 3, 4\), ved brug af en vektor x.

Find så formlen frem, hvorpå der beregnes Poisson-sandsynligheder, og beregn \(P(X=x)\) for \(x=0,1,\dots,4\) i R, uden at bruge funktionen dpois. Vink: R-funktionen factorial beregner fakultet: prøv factorial(2:4).


Øvelse 3.7

Sandsynligheden, at en stokastisk variabel \(X\) opfylder en bestemt betingelse, kan skønnes ved simulation. Vi skal bare finde andelen af de simulerede værdier, der opfylder betingelsen. Dertil kan vi udnytte, at logiske variabler svarer til værdier 1 (sand) og 0 (falsk).

Giv et (teoretisk) bud på resultatet af følgende R-kode, inden du afprøver den selv:

x <- runif(10000, 6, 11)
opfyldt <- x <= 8
mean(opfyldt)