1 Hipoteza badawcza i cel pracy

Hipoteza badwcza

Klienci kupujący alkohol i czerwone/zadymione wino skłonni są również wybrać piwo w butelce.

Cel pracy

Celem pracy jest zaprezentowanie metody asocjacji za pomocą algorytmu apriori.

2 Opis danych

Zbiór danych o produktach spożywczych składa się z blisko \(10 000\) rekordów transakcji z każdym rekordem transakcji zawierającym produkty zakupione na jednym paragonie. Baza zawiera \(169\) produktów.

Pięć przykładowych transakcji pokazano poniżej.

##     items                     
## [1] {częściowo wyp. chleb,    
##      gotowe zupy,             
##      margaryna,               
##      owoc cytrusowy}          
## [2] {jogurt,                  
##      kawa,                    
##      owoc tropikalny}         
## [3] {mleko pełnotłuste}       
## [4] {jogurt,                  
##      owoce pestkowe,          
##      pasztet/metka,           
##      serek śmietankowy}       
## [5] {inne warzywa,            
##      mleko pełnotłuste,       
##      mleko skondensowane,     
##      pieczywo o dł. dat. waż.}

Najczęściej kupowane produkty

Poniżej przedstawiono listę najczęściej wybieranych prduktów. Należą do nich: mleko pełnotłuste, inne warzywa. Natomiast do najrzadziej kupowanych należą: jedzenie dla niemowląt i nośniki dzwięku.

2.1 Macierz transakcji

W macierzy transakcji są przechowywane produkty. Są one przechowywane w postaci jedynek \(1\) i zer \(0\). A ich graficzna prezentacja wygląda następująco:

3 Algorytm apriori

Założenia:

\[wsparcie > 0.001\] \[zaufanie > 0.7\]

Zagadnienie odkrywania reguł asocjacyjnych zostało po raz pierwszy przedstawione przez Agrawala. Algorytm aproiori jedna z najbardziej popularnych i szeroko stosowanych metod wyznaczania reguł asocjacyjnych. Dobra reguła charakteryzuje się tym, że ma duże wsparcie i zaufanie. Jednak najczęściej przy dużych zbiorach danych ustala się minimalne wartości obu współczynników.

## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport maxtime support minlen
##         0.7    0.1    1 none FALSE            TRUE       5   0.001      1
##  maxlen target   ext
##      10  rules FALSE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 9 
## 
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].
## sorting and recoding items ... [157 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 5 6 done [0.02s].
## writing ... [1279 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].
##      lhs                            rhs                 support confidence lift count
## [1]  {alkohol,                                                                       
##       wino czerwone/przydymione} => {piwo butelkowe}     0.0019       0.90 11.2    19
## [2]  {bita/kwaśna śmietana,                                                          
##       kawa rozpuszczalna}        => {inne warzywa}       0.0010       0.77  4.0    10
## [3]  {owoce pestkowe,                                                                
##       zupy}                      => {inne warzywa}       0.0010       0.71  3.7    10
## [4]  {piwo butelkowe,                                                                
##       zupy}                      => {mleko pełnotłuste}  0.0011       0.92  3.6    11
## [5]  {twaróg,                                                                        
##       zboża}                     => {mleko pełnotłuste}  0.0010       0.91  3.6    10
## [6]  {dżem,                                                                          
##       masło}                     => {mleko pełnotłuste}  0.0010       0.83  3.3    10
## [7]  {jogurt,                                                                        
##       zboża}                     => {mleko pełnotłuste}  0.0017       0.81  3.2    17
## [8]  {warzywa korzeniowe,                                                            
##       zboża}                     => {mleko pełnotłuste}  0.0010       0.77  3.0    10
## [9]  {miód}                      => {mleko pełnotłuste}  0.0011       0.73  2.9    11
## [10] {dżem,                                                                          
##       inne warzywa}              => {mleko pełnotłuste}  0.0013       0.72  2.8    13

Na przykład, z powyższego zestawienia wynika (pozycja nr \(9\)), że jeśli ktoś kupi miód, to z prawdopodobieństwem \(0.73\) jest skłonny zakupić dodatkowo pełne mleko.

Poniższy wykres przestwaia stosunek reguły zaufanie do wsparcia z trzecim wymiarem reguły przyrost.

Ten wykres ilustruje związek między różnymi regułami. Wykazano, że optymalne reguły to te, które leżą na tzw. granicy “wsparcie-zaufanie”. Zasadniczo są to wskaźniki leżące na prawej stronie wykresu, w której maksymalizowane jest wsparcie, zaufanie lub oba jednocześnie.

Przyrost o wartości większej niż \(1\) sugeruje, że obecność alkoholu i czerwonego wina podnosi prawdopodobieństwo, że piwo w butelkach również pojawi się w transakcji. Ogólnie rzecz ujmując, przyrost podsumowuje siłę powiązania między produktami po lewej i prawej stronie reguły; im większa wartość przyrostu, tym większe połączenie pomiędzy dwoma produktami.

Na powyższym wykresie elementy zgrupowane wokół okręgu reprezentują zestaw przedmiotów, a strzałki wskazują związek w regułach. Na przykład jedna reguła mówi, że zakup bitej/kwaśnej śmietany wiąże się z zakupami masła, cukru i innych warzyw. Rozmiar okręgu reprezentuje poziom pewności związany z regułą, a kolor poziomu przrostu (im większy okrąg, a ciemniejszy szary tym lepiej).

4 Kim są fani pełnego mleka?

pytania

  • Co klienci mogą kupić przed zakupem mleka pełnego?
  • Co mogą kupować klienci kupujący mleko pełne?
##     lhs                       rhs                 support confidence lift count
## [1] {cukier,                                                                   
##      ryż}                  => {mleko pełnotłuste}  0.0012          1  3.9    12
## [2] {artykuły higieniczne,                                                     
##      ryba w puszce}        => {mleko pełnotłuste}  0.0011          1  3.9    11
## [3] {masło,                                                                    
##      ryż,                                                                      
##      warzywa korzeniowe}   => {mleko pełnotłuste}  0.0010          1  3.9    10
## [4] {bita/kwaśna śmietana,                                                     
##      flour,                                                                    
##      warzywa korzeniowe}   => {mleko pełnotłuste}  0.0017          1  3.9    17
## [5] {jaja domowe,                                                              
##      masło,                                                                    
##      miękki ser}           => {mleko pełnotłuste}  0.0010          1  3.9    10

Za powyższego wynika, że kupujący przed zakupem pełnego mleka mogą kupić cukier i ryż.

Aby odpowiedzieć na 2. pytanie, zmieniono założenia: \[zaufanie \geq 0.2\] \[minlen = 2\]

##     lhs                    rhs                  support confidence lift
## [1] {mleko pełnotłuste} => {inne warzywa}       0.075   0.29       1.5 
## [2] {mleko pełnotłuste} => {bułki/drożdżówki}   0.057   0.22       1.2 
## [3] {mleko pełnotłuste} => {jogurt}             0.056   0.22       1.6 
## [4] {mleko pełnotłuste} => {warzywa korzeniowe} 0.049   0.19       1.8 
## [5] {mleko pełnotłuste} => {owoc tropikalny}    0.042   0.17       1.6 
##     count
## [1] 736  
## [2] 557  
## [3] 551  
## [4] 481  
## [5] 416

Klienci, którzy kupili mleko pełnotłuste mogli zakupić również inne warzywa.