Gaussfördelning

Blandningsmodeller i R

Victor Medina

Researcher at The University of Edinburgh

Blandningsmodell på könsdataset

Blandningsmodeller i R

Paket för att anpassa blandningsmodeller

  • mixtools
    • Poissonfördelningen är inte implementerad.
  • bayesmix
    • Bayesiansk inferens ingår inte i kursen.
  • EMCluster
    • Endast Gaussfördelningar.
  • flexmix
    • Har alla fördelningar vi behöver och ger dig flexibilitet att bygga mer komplexa modeller.
Blandningsmodeller i R

Egenskaper hos Gaussfördelningen

Medelvärde

Standardavvikelse

Blandningsmodeller i R

Sampla från en Gaussfördelning

Så här genererar du sampel från en Gaussfördelning:

  • rnorm(n, mean, sd)

Exempel: Generera 100 värden från en Gaussfördelning med medelvärde 10 och standardavvikelse 5

 

> population_sample <- rnorm(n = 100, mean = 10, sd = 5)
> head(population_sample)
[1]  6.248874  9.564190 16.006521  9.139647 10.114969 16.423538
Blandningsmodeller i R

Skattning av medelvärdet

  • Medelvärdet och standardavvikelsen är okända – bara observationerna är tillgängliga
    • De måste skattas från observationerna
  • För att skatta medelvärdet beräknar vi sampelmedelvärdet

 

> mean_estimate <- mean(population_sample)
10.35759
Blandningsmodeller i R

För att skatta sd följer vi nedanstående steg

$$value_i\rightarrow (. -mean\_estimate)\rightarrow (.)^2\rightarrow mean (.)\rightarrow \sqrt{(.)}$$

> population_sample %>%  
+   subtract(mean_estimate) %>%
+   raise_to_power(2) %>% mean() %>% sqrt()
5.318641
  • Använd funktionen sd
> standard_deviation_estimate <- sd(population_sample)
> standard_deviation_estimate
5.345435
Blandningsmodeller i R

Visualisera den skattade Gaussfördelningen

# Transform the sample into a data frame
population_sample <- data.frame(x = population_sample)

# Plot the histogram
ggplot(data = population_sample) + 
   geom_histogram(aes(x = x, y = ..density..)) +
   stat_function(geom = "line", 
                 fun = dnorm, 
                 args = list(mean = mean_estimate, 
                             sd = standard_deviation_estimate))
Blandningsmodeller i R

Blandningsmodeller i R

Nu kör vi en övning!

Blandningsmodeller i R

Preparing Video For Download...