#package

library(haven)
library(nnet)
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice

#input data

library(readxl)
data_pelanggan <- read_excel("DATA MULTINOM.xlsx", sheet = "Segmentasi Pelanggan")
head(data_pelanggan)
## # A tibble: 6 × 10
##   Gender Ever_Married   Age Graduated Profession Work_Experience Spending_Score
##   <chr>  <chr>        <dbl> <chr>     <chr>                <dbl> <chr>         
## 1 Male   No              22 No        Healthcare               1 Low           
## 2 Female Yes             67 Yes       Engineer                 1 Low           
## 3 Male   Yes             67 Yes       Lawyer                   0 High          
## 4 Male   Yes             56 No        Artist                   0 Average       
## 5 Male   No              32 Yes       Healthcare               1 Low           
## 6 Female No              33 Yes       Healthcare               1 Low           
## # ℹ 3 more variables: Family_Size <dbl>, Var_1 <chr>, Segmentation <chr>
str(data_pelanggan)
## tibble [6,665 × 10] (S3: tbl_df/tbl/data.frame)
##  $ Gender         : chr [1:6665] "Male" "Female" "Male" "Male" ...
##  $ Ever_Married   : chr [1:6665] "No" "Yes" "Yes" "Yes" ...
##  $ Age            : num [1:6665] 22 67 67 56 32 33 61 55 26 19 ...
##  $ Graduated      : chr [1:6665] "No" "Yes" "Yes" "No" ...
##  $ Profession     : chr [1:6665] "Healthcare" "Engineer" "Lawyer" "Artist" ...
##  $ Work_Experience: num [1:6665] 1 1 0 0 1 1 0 1 1 4 ...
##  $ Spending_Score : chr [1:6665] "Low" "Low" "High" "Average" ...
##  $ Family_Size    : num [1:6665] 4 1 2 2 3 3 3 4 3 4 ...
##  $ Var_1          : chr [1:6665] "Cat_4" "Cat_6" "Cat_6" "Cat_6" ...
##  $ Segmentation   : chr [1:6665] "D" "B" "B" "C" ...

#merubah variabel ke faktor

data_pelanggan$Gender<-as.factor(data_pelanggan$Gender)
data_pelanggan$Ever_Married<-as.factor(data_pelanggan$Ever_Married)
data_pelanggan$Graduated<-as.factor(data_pelanggan$Graduated)
data_pelanggan$Profession<-as.factor(data_pelanggan$Profession)
data_pelanggan$Work_Experience<-as.factor(data_pelanggan$Work_Experience)
data_pelanggan$Spending_Score<-as.factor(data_pelanggan$Spending_Score)
data_pelanggan$Family_Size<-as.factor(data_pelanggan$Family_Size)
data_pelanggan$Var_1<-as.factor(data_pelanggan$Var_1)
data_pelanggan$Segmentation<-as.factor(data_pelanggan$Segmentation)
str(data_pelanggan)
## tibble [6,665 × 10] (S3: tbl_df/tbl/data.frame)
##  $ Gender         : Factor w/ 2 levels "Female","Male": 2 1 2 2 2 1 1 1 1 2 ...
##  $ Ever_Married   : Factor w/ 2 levels "No","Yes": 1 2 2 2 1 1 2 2 1 1 ...
##  $ Age            : num [1:6665] 22 67 67 56 32 33 61 55 26 19 ...
##  $ Graduated      : Factor w/ 2 levels "No","Yes": 1 2 2 1 2 2 2 2 2 1 ...
##  $ Profession     : Factor w/ 9 levels "Artist","Doctor",..: 6 3 8 1 6 6 3 1 3 6 ...
##  $ Work_Experience: Factor w/ 15 levels "0","1","2","3",..: 2 2 1 1 2 2 1 2 2 5 ...
##  $ Spending_Score : Factor w/ 3 levels "Average","High",..: 3 3 2 1 3 3 3 1 3 3 ...
##  $ Family_Size    : Factor w/ 9 levels "1","2","3","4",..: 4 1 2 2 3 3 3 4 3 4 ...
##  $ Var_1          : Factor w/ 7 levels "Cat_1","Cat_2",..: 4 6 6 6 6 6 7 6 6 4 ...
##  $ Segmentation   : Factor w/ 4 levels "A","B","C","D": 4 2 2 3 3 4 4 3 1 4 ...

##plot

###boxplot

boxplot(Age~Segmentation, data=data_pelanggan, 
        main="Boxplot umur dan segmentasi",
        col=c("lightgreen","lightblue","brown", "orange"))

###bar plot

barplot(table(data_pelanggan$Segmentation, data_pelanggan$Gender),
        main = "Barplot segmentation dan Gender",
        xlab = "Gender",
        ylab = "Jumlah",
        col = c("lightgreen","lightblue","brown", "orange"),
        beside =TRUE
)

##summary

library(arsenal)
tab<-tableby(Segmentation~ .,data=data_pelanggan)
summary(tab,text=TRUE)
## 
## 
## |                 |   A (N=1616)    |   B (N=1572)    |   C (N=1720)    |   D (N=1757)    | Total (N=6665)  | p value|
## |:----------------|:---------------:|:---------------:|:---------------:|:---------------:|:---------------:|-------:|
## |Gender           |                 |                 |                 |                 |                 |   0.003|
## |-  Female        |   740 (45.8%)   |   732 (46.6%)   |   795 (46.2%)   |   721 (41.0%)   |  2988 (44.8%)   |        |
## |-  Male          |   876 (54.2%)   |   840 (53.4%)   |   925 (53.8%)   |  1036 (59.0%)   |  3677 (55.2%)   |        |
## |Ever_Married     |                 |                 |                 |                 |                 | < 0.001|
## |-  No            |   676 (41.8%)   |   419 (26.7%)   |   338 (19.7%)   |  1288 (73.3%)   |  2721 (40.8%)   |        |
## |-  Yes           |   940 (58.2%)   |  1153 (73.3%)   |  1382 (80.3%)   |   469 (26.7%)   |  3944 (59.2%)   |        |
## |Age              |                 |                 |                 |                 |                 | < 0.001|
## |-  Mean (SD)     | 44.421 (16.173) | 48.113 (14.694) | 49.328 (14.479) | 32.957 (15.262) | 43.536 (16.524) |        |
## |-  Range         | 18.000 - 89.000 | 18.000 - 89.000 | 18.000 - 89.000 | 18.000 - 89.000 | 18.000 - 89.000 |        |
## |Graduated        |                 |                 |                 |                 |                 | < 0.001|
## |-  No            |   591 (36.6%)   |   421 (26.8%)   |   286 (16.6%)   |  1118 (63.6%)   |  2416 (36.2%)   |        |
## |-  Yes           |  1025 (63.4%)   |  1151 (73.2%)   |  1434 (83.4%)   |   639 (36.4%)   |  4249 (63.8%)   |        |
## |Profession       |                 |                 |                 |                 |                 | < 0.001|
## |-  Artist        |   470 (29.1%)   |   660 (42.0%)   |   948 (55.1%)   |   114 (6.5%)    |  2192 (32.9%)   |        |
## |-  Doctor        |   168 (10.4%)   |   127 (8.1%)    |   123 (7.2%)    |   174 (9.9%)    |   592 (8.9%)    |        |
## |-  Engineer      |   221 (13.7%)   |   159 (10.1%)   |    64 (3.7%)    |   138 (7.9%)    |   582 (8.7%)    |        |
## |-  Entertainment |   320 (19.8%)   |   191 (12.2%)   |   125 (7.3%)    |   173 (9.8%)    |   809 (12.1%)   |        |
## |-  Executive     |    98 (6.1%)    |   149 (9.5%)    |   164 (9.5%)    |    94 (5.4%)    |   505 (7.6%)    |        |
## |-  Healthcare    |    88 (5.4%)    |    85 (5.4%)    |   124 (7.2%)    |   780 (44.4%)   |  1077 (16.2%)   |        |
## |-  Homemaker     |    48 (3.0%)    |    44 (2.8%)    |    19 (1.1%)    |    64 (3.6%)    |   175 (2.6%)    |        |
## |-  Lawyer        |   157 (9.7%)    |   133 (8.5%)    |   124 (7.2%)    |    86 (4.9%)    |   500 (7.5%)    |        |
## |-  Marketing     |    46 (2.8%)    |    24 (1.5%)    |    29 (1.7%)    |   134 (7.6%)    |   233 (3.5%)    |        |
## |Work_Experience  |                 |                 |                 |                 |                 | < 0.001|
## |-  0             |   491 (30.4%)   |   527 (33.5%)   |   587 (34.1%)   |   528 (30.1%)   |  2133 (32.0%)   |        |
## |-  1             |   527 (32.6%)   |   536 (34.1%)   |   600 (34.9%)   |   524 (29.8%)   |  2187 (32.8%)   |        |
## |-  2             |    54 (3.3%)    |    58 (3.7%)    |    73 (4.2%)    |    74 (4.2%)    |   259 (3.9%)    |        |
## |-  3             |    56 (3.5%)    |    56 (3.6%)    |    58 (3.4%)    |    65 (3.7%)    |   235 (3.5%)    |        |
## |-  4             |    48 (3.0%)    |    63 (4.0%)    |    64 (3.7%)    |    58 (3.3%)    |   233 (3.5%)    |        |
## |-  5             |    47 (2.9%)    |    39 (2.5%)    |    39 (2.3%)    |    54 (3.1%)    |   179 (2.7%)    |        |
## |-  6             |    41 (2.5%)    |    43 (2.7%)    |    44 (2.6%)    |    59 (3.4%)    |   187 (2.8%)    |        |
## |-  7             |    49 (3.0%)    |    38 (2.4%)    |    51 (3.0%)    |    47 (2.7%)    |   185 (2.8%)    |        |
## |-  8             |   100 (6.2%)    |    76 (4.8%)    |    88 (5.1%)    |   133 (7.6%)    |   397 (6.0%)    |        |
## |-  9             |   132 (8.2%)    |    89 (5.7%)    |    84 (4.9%)    |   138 (7.9%)    |   443 (6.6%)    |        |
## |-  10            |    11 (0.7%)    |    10 (0.6%)    |    7 (0.4%)     |    23 (1.3%)    |    51 (0.8%)    |        |
## |-  11            |    13 (0.8%)    |    7 (0.4%)     |    11 (0.6%)    |    14 (0.8%)    |    45 (0.7%)    |        |
## |-  12            |    19 (1.2%)    |    11 (0.7%)    |    3 (0.2%)     |    12 (0.7%)    |    45 (0.7%)    |        |
## |-  13            |    12 (0.7%)    |    12 (0.8%)    |    7 (0.4%)     |    12 (0.7%)    |    43 (0.6%)    |        |
## |-  14            |    16 (1.0%)    |    7 (0.4%)     |    4 (0.2%)     |    16 (0.9%)    |    43 (0.6%)    |        |
## |Spending_Score   |                 |                 |                 |                 |                 | < 0.001|
## |-  Average       |   270 (16.7%)   |   499 (31.7%)   |   795 (46.2%)   |    98 (5.6%)    |  1662 (24.9%)   |        |
## |-  High          |   214 (13.2%)   |   315 (20.0%)   |   370 (21.5%)   |   105 (6.0%)    |  1004 (15.1%)   |        |
## |-  Low           |  1132 (70.0%)   |   758 (48.2%)   |   555 (32.3%)   |  1554 (88.4%)   |  3999 (60.0%)   |        |
## |Family_Size      |                 |                 |                 |                 |                 | < 0.001|
## |-  1             |   484 (30.0%)   |   323 (20.5%)   |   119 (6.9%)    |   317 (18.0%)   |  1243 (18.6%)   |        |
## |-  2             |   537 (33.2%)   |   538 (34.2%)   |   711 (41.3%)   |   307 (17.5%)   |  2093 (31.4%)   |        |
## |-  3             |   277 (17.1%)   |   281 (17.9%)   |   348 (20.2%)   |   386 (22.0%)   |  1292 (19.4%)   |        |
## |-  4             |   182 (11.3%)   |   260 (16.5%)   |   339 (19.7%)   |   393 (22.4%)   |  1174 (17.6%)   |        |
## |-  5             |    66 (4.1%)    |   117 (7.4%)    |   132 (7.7%)    |   207 (11.8%)   |   522 (7.8%)    |        |
## |-  6             |    32 (2.0%)    |    32 (2.0%)    |    37 (2.2%)    |    79 (4.5%)    |   180 (2.7%)    |        |
## |-  7             |    22 (1.4%)    |    13 (0.8%)    |    12 (0.7%)    |    34 (1.9%)    |    81 (1.2%)    |        |
## |-  8             |    7 (0.4%)     |    5 (0.3%)     |    11 (0.6%)    |    19 (1.1%)    |    42 (0.6%)    |        |
## |-  9             |    9 (0.6%)     |    3 (0.2%)     |    11 (0.6%)    |    15 (0.9%)    |    38 (0.6%)    |        |
## |Var_1            |                 |                 |                 |                 |                 | < 0.001|
## |-  Cat_1         |    24 (1.5%)    |    21 (1.3%)    |    23 (1.3%)    |    36 (2.0%)    |   104 (1.6%)    |        |
## |-  Cat_2         |    71 (4.4%)    |    89 (5.7%)    |    86 (5.0%)    |   116 (6.6%)    |   362 (5.4%)    |        |
## |-  Cat_3         |   175 (10.8%)   |   150 (9.5%)    |   118 (6.9%)    |   191 (10.9%)   |   634 (9.5%)    |        |
## |-  Cat_4         |   258 (16.0%)   |   188 (12.0%)   |    92 (5.3%)    |   311 (17.7%)   |   849 (12.7%)   |        |
## |-  Cat_5         |    16 (1.0%)    |    20 (1.3%)    |    17 (1.0%)    |    21 (1.2%)    |    74 (1.1%)    |        |
## |-  Cat_6         |  1030 (63.7%)   |  1067 (67.9%)   |  1344 (78.1%)   |  1035 (58.9%)   |  4476 (67.2%)   |        |
## |-  Cat_7         |    42 (2.6%)    |    37 (2.4%)    |    40 (2.3%)    |    47 (2.7%)    |   166 (2.5%)    |        |

#partisi data

set.seed(1234)

acak<-createDataPartition(data_pelanggan$Segmentation,p=0.8, list=FALSE)
data_train<-data_pelanggan[acak, ]
data_test<-data_pelanggan[-acak,]
summary(data_train)
##     Gender     Ever_Married      Age        Graduated          Profession  
##  Female:2405   No :2179     Min.   :18.00   No :1931   Artist       :1742  
##  Male  :2928   Yes:3154     1st Qu.:31.00   Yes:3402   Healthcare   : 861  
##                             Median :41.00              Entertainment: 656  
##                             Mean   :43.51              Doctor       : 479  
##                             3rd Qu.:53.00              Engineer     : 463  
##                             Max.   :89.00              Executive    : 408  
##                                                        (Other)      : 724  
##  Work_Experience Spending_Score  Family_Size     Var_1      Segmentation
##  1      :1727    Average:1326   2      :1680   Cat_1:  81   A:1293      
##  0      :1723    High   : 813   3      :1033   Cat_2: 292   B:1258      
##  9      : 351    Low    :3194   1      :1001   Cat_3: 489   C:1376      
##  8      : 313                   4      : 922   Cat_4: 701   D:1406      
##  2      : 216                   5      : 432   Cat_5:  64               
##  3      : 189                   6      : 139   Cat_6:3565               
##  (Other): 814                   (Other): 126   Cat_7: 141
summary(data_test)
##     Gender    Ever_Married      Age        Graduated         Profession 
##  Female:583   No :542      Min.   :18.00   No :485   Artist       :450  
##  Male  :749   Yes:790      1st Qu.:31.00   Yes:847   Healthcare   :216  
##                            Median :41.00             Entertainment:153  
##                            Mean   :43.65             Engineer     :119  
##                            3rd Qu.:53.00             Doctor       :113  
##                            Max.   :89.00             Lawyer       :102  
##                                                      (Other)      :179  
##  Work_Experience Spending_Score  Family_Size    Var_1     Segmentation
##  1      :460     Average:336    2      :413   Cat_1: 23   A:323       
##  0      :410     High   :191    3      :259   Cat_2: 70   B:314       
##  9      : 92     Low    :805    4      :252   Cat_3:145   C:344       
##  8      : 84                    1      :242   Cat_4:148   D:351       
##  4      : 51                    5      : 90   Cat_5: 10               
##  3      : 46                    6      : 41   Cat_6:911               
##  (Other):189                    (Other): 35   Cat_7: 25

#create model

model.pelanggan <- multinom(Segmentation~., data = data_train)
## # weights:  176 (129 variable)
## initial  value 7393.107828 
## iter  10 value 6214.291157
## iter  20 value 5892.019760
## iter  30 value 5785.833575
## iter  40 value 5754.987679
## iter  50 value 5743.399411
## iter  60 value 5741.915826
## iter  70 value 5741.777790
## iter  80 value 5741.758232
## final  value 5741.757377 
## converged
summary(model.pelanggan)
## Call:
## multinom(formula = Segmentation ~ ., data = data_train)
## 
## Coefficients:
##   (Intercept) GenderMale Ever_MarriedYes         Age GraduatedYes
## B  -0.3308016 -0.2608484    -0.002879726  0.02203551    0.3915222
## C  -1.5173373 -0.3805169    -0.262424199  0.03166455    0.8256809
## D  -0.7247106  0.3671490    -0.332396450 -0.02092005   -0.5314846
##   ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B       -0.4952564         -0.6891027              -0.7813488
## C       -0.8819762         -1.8326290              -1.6305750
## D        0.9986760          0.7783583               0.5422408
##   ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B          -0.2739202          -0.05725505          -0.3071754        -1.126061
## C          -0.4158058           0.17468763          -1.3167495        -1.657302
## D           1.5004319           2.74441061           1.5430181         1.764725
##   ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B          -0.7997398      -0.08131834      0.019451917      -0.26367715
## C          -0.6259979      -0.15351104      0.008078449      -0.33020929
## D           2.0910310      -0.07834593      0.512828729       0.04108072
##   Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B       0.03660689       -0.1769364        0.2634021      -0.46602485
## C      -0.14456502       -0.3264391        0.2545487      -0.35324310
## D      -0.14719638        0.3139028        0.6866808       0.07943873
##   Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B       -0.2393547       -0.4980480         0.3744410        -0.3106612
## C       -0.2338167       -0.5882774        -0.2986733        -0.1698408
## D        0.2664892        0.1666809         0.8765640         0.2891822
##   Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B        -0.6884391        0.17886551        -0.7332575         -0.2738913
## C        -1.7852075        0.06543966        -1.6385279         -0.7869279
## D        -0.4974071        0.05066851         0.3782846         -0.1623764
##   Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B        -0.8576621   0.18159027    0.4426229    0.7545654    1.1374366
## C        -1.4111922   1.40066276    1.5758421    2.0358399    2.3413878
## D         0.6173531  -0.06903979    0.1130672    0.2609753    0.5796339
##   Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2  Var_1Cat_3
## B    0.6478666  -0.30453510    0.6244929   -0.1898105  0.0685295 -0.10469835
## C    2.0380476   0.47704109    3.4732274    2.4011385  0.1546357 -0.01265127
## D    0.2424980   0.06714705    0.3067720   -0.2742767 -0.3170106 -0.33563630
##    Var_1Cat_4 Var_1Cat_5    Var_1Cat_6  Var_1Cat_7
## B -0.39198512  0.3779810 -0.0590146384 -0.15629561
## C -0.92378076  0.2699057  0.3696901441  0.06812246
## D -0.07434217 -0.3171781  0.0001999611 -0.25968470
## 
## Std. Errors:
##   (Intercept) GenderMale Ever_MarriedYes         Age GraduatedYes
## B   0.4333329 0.09185867       0.1249278 0.003962891   0.09652044
## C   0.4806138 0.09639624       0.1429325 0.004218812   0.10823256
## D   0.4727107 0.09960221       0.1317875 0.004734805   0.09750179
##   ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B        0.1563931          0.1506528               0.1309435
## C        0.1657282          0.1919005               0.1498151
## D        0.1776424          0.1851021               0.1657858
##   ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B           0.1932829            0.1996016           0.2653223        0.1962304
## C           0.1977779            0.1927033           0.3429779        0.2106866
## D           0.2335412            0.1866159           0.2651131        0.2466198
##   ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B           0.2980761        0.1024662        0.2292250        0.2351022
## C           0.2933355        0.1083121        0.2392784        0.2432335
## D           0.2350590        0.1140916        0.2446679        0.2515822
##   Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B        0.2288719        0.2615015        0.2690640        0.2571008
## C        0.2486522        0.2782556        0.2858487        0.2598892
## D        0.2731133        0.2649202        0.2749541        0.2774291
##   Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B        0.1935737        0.1802147         0.5234036         0.5051114
## C        0.2027412        0.1945777         0.6620820         0.5029690
## D        0.1912490        0.1778137         0.5167811         0.4757535
##   Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B         0.4520077         0.4678912         0.5662502          0.1552828
## C         0.6721071         0.5362890         0.7179523          0.1608334
## D         0.4769755         0.5247463         0.4713780          0.2174043
##   Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B         0.1318179    0.1277090    0.1451195    0.1620443    0.2097538
## C         0.1399112    0.1548004    0.1717198    0.1864264    0.2348486
## D         0.1746606    0.1378962    0.1495589    0.1647892    0.2116152
##   Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B    0.3089082    0.4330966    0.7600600    0.7060151  0.3874355  0.3659527
## C    0.3370861    0.5614072    0.6473267    0.5898793  0.4261945  0.4071027
## D    0.2899252    0.3546896    0.5824946    0.5543134  0.3968540  0.3757696
##   Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B  0.3593922  0.5146620  0.3456312  0.4245905
## C  0.4073475  0.5717360  0.3826031  0.4632442
## D  0.3647094  0.5487819  0.3522228  0.4380023
## 
## Residual Deviance: 11483.51 
## AIC: 11741.51

##uji multicol

library(car)
## Loading required package: carData
vif(model.pelanggan)
## Warning in vif.default(model.pelanggan): No intercept: vifs may not be
## sensible.
##                       GVIF Df GVIF^(1/(2*Df))
## Gender            3.984095  1        1.996020
## Ever_Married      9.846192  1        3.137864
## Age              34.852568  1        5.903606
## Graduated         6.011431  1        2.451822
## Profession      182.617388  8        1.384670
## Work_Experience 561.692423 14        1.253708
## Spending_Score   26.180775  2        2.262016
## Family_Size     217.168955  8        1.399748
## Var_1           959.230401  6        1.772122

##uji simultan

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
lrtest(model.pelanggan)
## # weights:  8 (3 variable)
## initial  value 7393.107828 
## final  value 7387.701489 
## converged
## Likelihood ratio test
## 
## Model 1: Segmentation ~ Gender + Ever_Married + Age + Graduated + Profession + 
##     Work_Experience + Spending_Score + Family_Size + Var_1
## Model 2: Segmentation ~ 1
##   #Df  LogLik   Df  Chisq Pr(>Chisq)    
## 1 129 -5741.8                           
## 2   3 -7387.7 -126 3291.9  < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

##uji partical

z <- summary(model.pelanggan)$coefficients/summary(model.pelanggan)$standard.errors
p <- (1-pnorm(abs(z),0, 1))*2
data.frame(p)
##   X.Intercept.   GenderMale Ever_MarriedYes          Age GraduatedYes
## B  0.445231470 4.516007e-03      0.98160949 2.690597e-08 4.984223e-05
## C  0.001593563 7.899648e-05      0.06635757 6.106227e-14 2.375877e-14
## D  0.125252402 2.276696e-04      0.01166185 9.945451e-06 5.008072e-08
##   ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B     1.541578e-03       4.782473e-06            2.415566e-09
## C     1.027324e-07       0.000000e+00            0.000000e+00
## D     1.889404e-08       2.610581e-05            1.072694e-03
##   ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B        1.564250e-01            0.7742298        2.469684e-01     9.553835e-09
## C        3.551930e-02            0.3646657        1.234522e-04     3.552714e-15
## D        1.321303e-10            0.0000000        5.876838e-09     8.326673e-13
##   ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B         0.007296391        0.4274218       0.93237309        0.2620570
## C         0.032837223        0.1563945       0.97306717        0.1745966
## D         0.000000000        0.4922761       0.03608044        0.8702906
##   Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B        0.8729245        0.4986487       0.32760111        0.0698912
## C        0.5609746        0.2407306       0.37319660        0.1740812
## D        0.5899163        0.2360587       0.01250943        0.7746186
##   Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B        0.2162710      0.005716106        0.47436418         0.5385316
## C        0.2487968      0.002499888        0.65190870         0.7356070
## D        0.1634944      0.348557729        0.08984803         0.5432934
##   Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B       0.127741321         0.7022536        0.19534247       7.776194e-02
## C       0.007904186         0.9028807        0.02247612       9.940357e-07
## D       0.297024364         0.9230773        0.42225915       4.551318e-01
##   Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B      7.696510e-11    0.1550532  0.002287964 3.215704e-06 5.869832e-08
## C      0.000000e+00    0.0000000  0.000000000 0.000000e+00 0.000000e+00
## D      4.084137e-04    0.6166070  0.449646385 1.132638e-01 6.160873e-03
##   Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B 3.596891e-02    0.4819576 4.112839e-01 7.880469e-01  0.8596028  0.7748031
## C 1.484171e-09    0.3954787 8.072823e-08 4.690047e-05  0.7167326  0.9752086
## D 4.029210e-01    0.8498482 5.984353e-01 6.207382e-01  0.4244011  0.3717517
##   Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B 0.27540975  0.4626893  0.8644246  0.7127919
## C 0.02334167  0.6368689  0.3339192  0.8830885
## D 0.83847894  0.5632860  0.9995470  0.5532586
model.pelanggan$AIC
## [1] 11741.51

#prediksi pada data test

predict_prob = predict(model.pelanggan, data_test, type = "prob")
head(predict_prob, 10)
##             A          B           C           D
## 1  0.03502371 0.23045403 0.731804899 0.002717358
## 2  0.39982757 0.21706620 0.106789040 0.276317191
## 3  0.57095158 0.19365182 0.007678847 0.227717752
## 4  0.06440217 0.04243364 0.057776851 0.835387342
## 5  0.34502123 0.31921519 0.269400092 0.066363490
## 6  0.49509616 0.17276465 0.044040257 0.288098930
## 7  0.40701992 0.23444714 0.158850074 0.199682864
## 8  0.04961306 0.03351229 0.043687056 0.873187596
## 9  0.08843835 0.32647409 0.579873307 0.005214257
## 10 0.35842994 0.25827341 0.242975992 0.140320666
head(data.frame(predict_prob, data_test$Segmentation), 10)
##             A          B           C           D data_test.Segmentation
## 1  0.03502371 0.23045403 0.731804899 0.002717358                      C
## 2  0.39982757 0.21706620 0.106789040 0.276317191                      A
## 3  0.57095158 0.19365182 0.007678847 0.227717752                      A
## 4  0.06440217 0.04243364 0.057776851 0.835387342                      D
## 5  0.34502123 0.31921519 0.269400092 0.066363490                      A
## 6  0.49509616 0.17276465 0.044040257 0.288098930                      A
## 7  0.40701992 0.23444714 0.158850074 0.199682864                      A
## 8  0.04961306 0.03351229 0.043687056 0.873187596                      D
## 9  0.08843835 0.32647409 0.579873307 0.005214257                      C
## 10 0.35842994 0.25827341 0.242975992 0.140320666                      A
table(data_pelanggan$Segmentation)
## 
##    A    B    C    D 
## 1616 1572 1720 1757
data_test
## # A tibble: 1,332 × 10
##    Gender Ever_Married   Age Graduated Profession Work_Experience Spending_Score
##    <fct>  <fct>        <dbl> <fct>     <fct>      <fct>           <fct>         
##  1 Female Yes             55 Yes       Artist     1               Average       
##  2 Female No              26 Yes       Engineer   1               Low           
##  3 Male   Yes             49 Yes       Homemaker  12              Low           
##  4 Female No              18 No        Healthcare 3               Low           
##  5 Male   Yes             33 Yes       Artist     13              Low           
##  6 Female Yes             42 No        Doctor     1               Low           
##  7 Female No              27 Yes       Artist     14              Low           
##  8 Male   No              19 No        Healthcare 0               Low           
##  9 Female Yes             45 Yes       Artist     1               Average       
## 10 Male   Yes             56 Yes       Lawyer     1               High          
## # ℹ 1,322 more rows
## # ℹ 3 more variables: Family_Size <fct>, Var_1 <fct>, Segmentation <fct>

#interpretasi (oods ratio)

data.frame((summary(model.pelanggan)$coefficients))
##   X.Intercept. GenderMale Ever_MarriedYes         Age GraduatedYes
## B   -0.3308016 -0.2608484    -0.002879726  0.02203551    0.3915222
## C   -1.5173373 -0.3805169    -0.262424199  0.03166455    0.8256809
## D   -0.7247106  0.3671490    -0.332396450 -0.02092005   -0.5314846
##   ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B       -0.4952564         -0.6891027              -0.7813488
## C       -0.8819762         -1.8326290              -1.6305750
## D        0.9986760          0.7783583               0.5422408
##   ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B          -0.2739202          -0.05725505          -0.3071754        -1.126061
## C          -0.4158058           0.17468763          -1.3167495        -1.657302
## D           1.5004319           2.74441061           1.5430181         1.764725
##   ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B          -0.7997398      -0.08131834      0.019451917      -0.26367715
## C          -0.6259979      -0.15351104      0.008078449      -0.33020929
## D           2.0910310      -0.07834593      0.512828729       0.04108072
##   Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B       0.03660689       -0.1769364        0.2634021      -0.46602485
## C      -0.14456502       -0.3264391        0.2545487      -0.35324310
## D      -0.14719638        0.3139028        0.6866808       0.07943873
##   Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B       -0.2393547       -0.4980480         0.3744410        -0.3106612
## C       -0.2338167       -0.5882774        -0.2986733        -0.1698408
## D        0.2664892        0.1666809         0.8765640         0.2891822
##   Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B        -0.6884391        0.17886551        -0.7332575         -0.2738913
## C        -1.7852075        0.06543966        -1.6385279         -0.7869279
## D        -0.4974071        0.05066851         0.3782846         -0.1623764
##   Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B        -0.8576621   0.18159027    0.4426229    0.7545654    1.1374366
## C        -1.4111922   1.40066276    1.5758421    2.0358399    2.3413878
## D         0.6173531  -0.06903979    0.1130672    0.2609753    0.5796339
##   Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2  Var_1Cat_3
## B    0.6478666  -0.30453510    0.6244929   -0.1898105  0.0685295 -0.10469835
## C    2.0380476   0.47704109    3.4732274    2.4011385  0.1546357 -0.01265127
## D    0.2424980   0.06714705    0.3067720   -0.2742767 -0.3170106 -0.33563630
##    Var_1Cat_4 Var_1Cat_5    Var_1Cat_6  Var_1Cat_7
## B -0.39198512  0.3779810 -0.0590146384 -0.15629561
## C -0.92378076  0.2699057  0.3696901441  0.06812246
## D -0.07434217 -0.3171781  0.0001999611 -0.25968470
#oods ratio
data.frame(exp(summary(model.pelanggan)$coefficients))
##   X.Intercept. GenderMale Ever_MarriedYes       Age GraduatedYes
## B    0.7183477  0.7703977       0.9971244 1.0222801    1.4792308
## C    0.2192950  0.6835080       0.7691847 1.0321712    2.2834351
## D    0.4844648  1.4436130       0.7172029 0.9792973    0.5877318
##   ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B        0.6094146          0.5020264               0.4577881
## C        0.4139640          0.1599924               0.1958169
## D        2.7146853          2.1778938               1.7198565
##   ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B           0.7603928            0.9443532           0.7355216        0.3243081
## C           0.6598084            1.1908742           0.2680050        0.1906527
## D           4.4836252           15.5554430           4.6786899        5.8399655
##   ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B           0.4494459        0.9219002         1.019642        0.7682215
## C           0.5347276        0.8576913         1.008111        0.7187733
## D           8.0932546        0.9246445         1.670009        1.0419362
##   Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B        1.0372852        0.8378330         1.301350        0.6274917
## C        0.8653986        0.7214883         1.289879        0.7024064
## D        0.8631245        1.3687566         1.987109        1.0826792
##   Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B        0.7871356        0.6077157         1.4541783         0.7329622
## C        0.7915068        0.5552830         0.7418017         0.8437992
## D        1.3053735        1.1813772         2.4026302         1.3353349
##   Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B         0.5023596          1.195860         0.4803417          0.7604147
## C         0.1677623          1.067628         0.1942658          0.4552412
## D         0.6081054          1.051974         1.4597784          0.8501211
##   Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B         0.4241525    1.1991228     1.556785     2.126687     3.118763
## C         0.2438524    4.0578885     4.834811     7.658682    10.395654
## D         1.8540141    0.9332895     1.119707     1.298196     1.785385
##   Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B     1.911459    0.7374661     1.867299    0.8271158   1.070932  0.9005961
## C     7.675609    1.6112997    32.240627   11.0357329   1.167233  0.9874284
## D     1.274429    1.0694527     1.359031    0.7601217   0.728323  0.7148831
##   Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B  0.6757142   1.459335   0.942693  0.8553063
## C  0.3970152   1.309841   1.447286  1.0704964
## D  0.9283540   0.728201   1.000200  0.7712947

Segmentasi B terhadap C dan D

intercept 0.7183477 responden dengan gender laki-laki, pernah menikah, dan sudah menamatkan pendidikan odds memilih segmengtasi B sebesar 0.7183477 dibanding memeilih segmentasi c dan d.

gender laki-laki 0.7703977
responden dengan gender laki-laki oods memilih segmentasi B dibanding segmentasi C dan D adalah 0.7703977.

pernah menikah 0.9971244
responden yang pernah menikah oods memilih segmentasi B dibanding segmentasi C dan D adalah 0.9971244.

umur 1.0222801
setiap pemanambahan umur 1 tahun oods responden memilih segmentasi B adalah 1.0222801 dibanding segmentasi C dan D

dst……

Segmentasi c terhadap B dan D

intercept 0.2192950 responden dengan gender laki-laki, pernah menikah, dan sudah menamatkan pendidikan odds memilih segmengtasi C sebesar 0.2192950 dibanding memeilih segmentasi b dan d.

gender laki-laki 0.6835080
responden dengan gender laki-laki oods memilih segmentasi c dibanding segmentasi b dan d adalah 0.6835080.

pernah menikah 0.7691847
responden yang pernah menikah oods memilih segmentasi C dibanding segmentasi B dan D adalah 0.7691847 .

umur 1.0321712
setiap pemanambahan umur 1 tahun oods responden memilih segmentasi B adalah 1.0321712 dibanding segmentasi C dan D

dst……

Segmentasi D terhadap B dan C 0.4844648 1.4436130 0.7172029 0.9792973
intercept 0.4844648 responden dengan gender laki-laki, pernah menikah, dan sudah menamatkan pendidikan odds memilih segmengtasi D sebesar 0.4844648 dibanding memeilih segmentasi C dan B.

gender laki-laki 1.4436130
responden dengan gender laki-laki oods memilih segmentasi D dibanding segmentasi B dan C adalah 1.4436130.

pernah menikah 0.7172029
responden yang pernah menikah oods memilih segmentasi D dibanding segmentasi B dan C adalah 0.7172029 .

umur 0.9792973
setiap pemanambahan umur 1 tahun oods responden memilih segmentasi D adalah 0.9792973 dibanding segmentasi B dan C

dst……