Distribuzione gaussiana

Modelli di Mixture in R

Victor Medina

Researcher at The University of Edinburgh

Modello di mistura sul dataset Gender

Modelli di Mixture in R

Pacchetti per adattare modelli di mistura

  • mixtools
    • La distribuzione di Poisson non è implementata.
  • bayesmix
    • L'inferenza bayesiana è fuori dallo scopo del corso.
  • EMCluster
    • Solo distribuzioni gaussiane.
  • flexmix
    • Include tutte le distribuzioni che servono e ti permette modelli più complessi.
Modelli di Mixture in R

Proprietà della distribuzione gaussiana

Media

Deviazione standard

Modelli di Mixture in R

Campionare da una distribuzione gaussiana

Per generare campioni da una distribuzione gaussiana:

  • rnorm(n, mean, sd)

Esempio: genera 100 valori da una gaussiana con media 10 e deviazione standard 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
Modelli di Mixture in R

Stima della media

  • Se non conosci media e deviazione standard, hai solo le osservazioni
    • Vanno stimate dalle osservazioni
  • Per stimare la media, calcola la media campionaria

 

> mean_estimate <- mean(population_sample)
10.35759
Modelli di Mixture in R

Per stimare la sd, esegui questa procedura

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

> population_sample %>%  
+   subtract(mean_estimate) %>%
+   raise_to_power(2) %>% mean() %>% sqrt()
5.318641
  • Usando la funzione sd
> standard_deviation_estimate <- sd(population_sample)
> standard_deviation_estimate
5.345435
Modelli di Mixture in R

Visualizzare la distribuzione gaussiana stimata

# Trasforma il campione in un data frame
population_sample <- data.frame(x = population_sample)

# Traccia l'istogramma
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))
Modelli di Mixture in R

Modelli di Mixture in R

Esercitiamoci!

Modelli di Mixture in R

Preparing Video For Download...