Övning Lynx

I Kapitel 3.2 av Speegles bok så ges en fördelning för en variabel \(X\) som anger antalet ungar till lodjur. Representera denna fördelning med en tabell som ovan och plotta en “stemplot”

df <- tibble(x=0:5,p=c(0,0.18, 0.51, 0.27, 0.04,0))
head(df,4)
## # A tibble: 4 × 2
##       x     p
##   <int> <dbl>
## 1     0  0   
## 2     1  0.18
## 3     2  0.51
## 4     3  0.27
ggplot(aes(x=x,y=p), data=df) + 
    geom_segment(aes(xend=x,yend=0)) + 
    geom_point(size=3,shape="circle",color="red") +
    ggtitle("Stemplot av PMF")

Övning: Plotta kvantilfunktionen \(F^{-1}(p)\)

Du skall göra en plott av både CDF \(F(x)\) och kvantilfunktionen \(F^{-1}(p)\) för Lynx-fördelningen ovan. (Detta är enklare än det låter …)

Avläs från plotten av kvantilfunktionen \(F^{-1}(x)\) ett lämpligt värde för fördelningens median.

dF <- mutate(df,cdf=cumsum(p))
dF
## # A tibble: 6 × 3
##       x     p   cdf
##   <int> <dbl> <dbl>
## 1     0  0     0   
## 2     1  0.18  0.18
## 3     2  0.51  0.69
## 4     3  0.27  0.96
## 5     4  0.04  1   
## 6     5  0     1
ggplot(dF,aes(x,y=cdf)) + 
  geom_step() + 
    ggtitle("Plot av CDF") +
    labs(y="F(x)",x="Variabel X")

ggplot(dF,aes(x=cdf,y=x)) + 
  geom_line() + 
    ggtitle("Plot av Kvantilerna") +
    labs(y="X vardet",x="Sannolikhet p")

Medianen blir cirka 1.62

Övning: Lynx simulering.

Låt \(X\) ange kullstorleken hos lodjur som ovan. Simulering med \(N=1000\) replikat värdena av \(X^2\). Plotta data i ett histogram med geom_bar(). Beräkna medelvärdet av observationerna av \(X^2\) och jämför med det teoretiska värdet av \(E(X^2)\) som beräknas som ovan.

Jämförelse mellan simulering och exakt värde av \(E(X^2)\):

sumdf <- df %>% 
  summarise(m1 = sum(x*p), m2=sum(p*x^2), varians=m2-m1^2, stdavvikelse=sqrt(varians))
sumdf
## # A tibble: 1 × 4
##      m1    m2 varians stdavvikelse
##   <dbl> <dbl>   <dbl>        <dbl>
## 1  2.17  5.29   0.581        0.762
litterpmf <- c(0,0.18, 0.51, 0.27, 0.04,0)
sum((0:5)^2 * litterpmf)
## [1] 5.29
X <- sample((0:5)^2, 1000, replace = TRUE, prob = litterpmf)
mean(X)
## [1] 5.188

Övning: Plotta den hypergeometriska fördelningen

Plotta CDF för den hypergeometriska fördelningen som ger antalet röda kuler ett urval på 13 kulor utan återläggning från en urna med 30 kulor varav 5 är röda. (Se dhyper. Obs parametertolkningen.)

x_phyper <- seq(0, 30, by = 1) 
y_phyper <- phyper(x_phyper, m = 13, n = 17, k = 5, log=FALSE) 
plot(y_phyper,)