Combinații de articole

Analiza coșului de cumpărături în R

Christopher Bruffaerts

Statistician

Înapoi la magazin

Ce se găsește în magazin?

toate produsele din magazin

Ce doriți astăzi?

pâine și trei brânzeturi

{"Bread", "Cheese", "Cheese", "Cheese"}

Focusul analizei coșului de cumpărături

pâine și brânză

{"Bread", "Cheese"}

Analiza coșului de cumpărături în R

Submulțimi și supermulțimi

Magazinul meu - mulțime

X = {"Bread", "Butter", "Cheese", "Wine"}

toate produsele din magazin

Submulțimi ale lui X - seturi de articole

  • Dimensiunea 0: { ${ \emptyset }$ }
  • Dimensiunea 1: {"Bread"}, {"Wine"}, ...
  • Dimensiunea 2: {"Bread", "Wine"}, ...

Supermulțimi

  • {"Bread", "Butter"} supermulțime a lui {"Bread"}
  • {"Bread", "Butter", "Cheese", "Wine"} supermulțime a lui {"Bread", "Butter"}
Analiza coșului de cumpărături în R

Graful seturilor de articole

Întrebare:

Care este mulțimea tuturor submulțimilor posibile ale lui X?

X = {A, B, C, D}

graful seturilor de articole

Analiza coșului de cumpărături în R

Intersecții și reuniuni

  • Intersecție

{"Bread"} $\cap$ {"Butter"} = $\emptyset$

{"Bread", "Butter"} $\cap$ {"Butter", "Wine"} = {"Butter"}

library(dplyr)
A = c("Bread", "Butter")
B = c("Bread", "Wine")
intersect(A,B)
[1] "Bread"
  • Reuniune

{"Bread"} $\cup$ {"Butter"} = {"Bread", "Butter"}

union(A,B)
[1] "Bread"  "Butter" "Wine"
Analiza coșului de cumpărături în R

Câte coșuri de dimensiune k?

Întrebare:

Câte submulțimi de dimensiune k dintr-o mulțime de dimensiune n ?

„n alege k"

$${n \choose k} = \dfrac{n!}{(n-k)! k!},$$ unde

$n! = n \times (n-1) \times (n-2) \times ...\times 2 \times 1$

Exemplu:

Numărul de coșuri cu 2 articole distincte din magazin:

toate produsele din magazin

$${4 \choose 2} = \dfrac{4!}{(4-2)! 2!} = 6$$

Analiza coșului de cumpărături în R

Câte coșuri posibile?

Întrebare

Câte coșuri posibile pot fi create dintr-o mulțime de dimensiune n ?

Binomul lui Newton

$$\sum_{k=0}^n{n \choose k} = 2^n$$

2^(n_items)

Exemplu

Numărul total de coșuri:

$$2^4 = 16$$

toate produsele din magazin

Analiza coșului de cumpărături în R

Câte coșuri în R?

Combinații în R

n_items = 4
basket_size = 2
choose(n_items, basket_size)
[1] 6
# Looping through all possible values
store = matrix(NA, nrow=5, ncol=2)
for (i in 0:n_items){
  store[i+1,] = c(i, choose(n_items,i))}

Rezultat

colnames(store)=c("size", "nb_combi")
store
     size nb_combi
[1,]    0        1
[2,]    1        4
[3,]    2        6
[4,]    3        4
[5,]    4        1
Analiza coșului de cumpărături în R

Reprezentarea grafică a combinațiilor

Vizualizați cât de rapid crește numărul de combinații

n_items = 50
fun_nk = function(x) choose(n_items, x)
# Plotting
ggplot(data = data.frame(x = 0),
    mapping = aes(x=x))+
  stat_function(fun = fun_nk)+
  xlim(0, n_items)+
  xlab("Subset size")+
  ylab("Number of subsets")

distribuția combinațiilor

Analiza coșului de cumpărături în R

Sunteți pregătit să numărați?

Analiza coșului de cumpărături în R

Preparing Video For Download...