1 Introduzione ad alcuni argomenti del corso
Gli esempi sono tratti dai seguenti dataset del mio package MLANP:
*antropometric
*children.rid
*fraud1
L’installazione del package potrebbe essere utile per le successive lezioni. Lo trovate su www.marcellochiodi.com nella sezione software (ma anche sulle pagine teams alla fine di questa lezione)
Non tutti gli argomenti verranno in effetti sviscerati e completati in questo brevissimo corso ma mi aggancerò comunque al precorso di inferenza che avete appena terminato per descrivervi alcune delle peculiarità dei cosiddetti modelli lineari a partire dalla regressione lineare semplice.
Prima di affrontare gli argomenti di inferenza vera e propria come faccio sempre all’inizio dei miei corsi vi sottopongo alcuni classici problemi pratici reali dai quali prenderemo spunto per capire perché Per alcuni problemi è utile un’impostazione basata in qualche modo sui modelli lineari.
In effetti alcuni degli insiemi di dati che vi presento oggi sono ben più complessi di quanto effettivamente riusciremo ad analizzare con gli strumenti che vedremo in questi giorni ma vi danno un’idea della complessità dei problemi che possiamo affrontare. In effetti partirò per la parte teorica con un richiamo della cosiddetta regressione lineare semplice.
Le versioni dei data set e del package della versione più recente potrebbero differire leggermente da quelli utilizzati nel materiale didattico che state leggendo
2 Primo data set
Vengono caricati i packages necessari per realizzare questo documento
2.1 Esempio con 7 variabili
Utilizziamo il data frame antropometric e prendiamo 7 variabili, di cui riportiamo ancora delle statistiche e grafici descrittivi, insieme con la matrice dei grafici a coppia.
2.1.1 Summary dei dati
Data Frame Summary
dati
Dimensions: 1427 x 7Duplicates: 0
| No | Variable | Stats / Values | Freqs (% of Valid) | Graph | Valid | Missing | 
|---|---|---|---|---|---|---|
| 1 | Altezza [numeric] | Mean (sd) : 151.9 (10.1) min < med < max: 127 < 151 < 183 IQR (CV) : 15 (0.1) | 54 distinct values | 1427 (100%) | 0 (0%) | |
| 2 | Peso [numeric] | Mean (sd) : 45 (10.7) min < med < max: 21 < 43 < 100 IQR (CV) : 14 (0.2) | 65 distinct values | 1427 (100%) | 0 (0%) | |
| 3 | Torace [numeric] | Mean (sd) : 75.6 (7.8) min < med < max: 57 < 74 < 104 IQR (CV) : 10 (0.1) | 44 distinct values | 1427 (100%) | 0 (0%) | |
| 4 | Cranio [numeric] | Mean (sd) : 54.8 (1.6) min < med < max: 50 < 55 < 60 IQR (CV) : 2 (0) | 11 distinct values | 1427 (100%) | 0 (0%) | |
| 5 | Bisacrom [numeric] | Mean (sd) : 34.5 (3) min < med < max: 23 < 34 < 46 IQR (CV) : 4 (0.1) | 21 distinct values | 1427 (100%) | 0 (0%) | |
| 6 | Bitrocan [numeric] | Mean (sd) : 26.3 (2.8) min < med < max: 20 < 26 < 38 IQR (CV) : 4 (0.1) | 18 distinct values | 1427 (100%) | 0 (0%) | |
| 7 | Span [numeric] | Mean (sd) : 153.6 (11.2) min < med < max: 123 < 153 < 184 IQR (CV) : 16 (0.1) | 60 distinct values | 1427 (100%) | 0 (0%) | 
Generated by summarytools 0.9.6 (R version 4.0.2)
2020-09-25
2.1.2 Alcune righe del data frame
| Altezza | Peso | Torace | Cranio | Bisacrom | Bitrocan | Span | |
|---|---|---|---|---|---|---|---|
| 1 | 143 | 36 | 67 | 53 | 30 | 23 | 138 | 
| 2 | 144 | 34 | 66 | 54 | 33 | 23 | 149 | 
| 3 | 142 | 35 | 69 | 54 | 30 | 24 | 139 | 
| 712 | 158 | 62 | 86 | 58 | 37 | 29 | 161 | 
| 713 | 154 | 36 | 65 | 54 | 33 | 24 | 148 | 
| 714 | 153 | 41 | 71 | 55 | 31 | 26 | 148 | 
| 1425 | 142 | 35 | 63 | 54 | 32 | 22 | 144 | 
| 1426 | 164 | 49 | 82 | 55 | 39 | 29 | 163 | 
| 1427 | 152 | 40 | 67 | 54 | 32 | 25 | 150 | 
2.1.3 Matrice dei grafici a due a due
2.1.4 Matrice di correlazione
| Altezza | Peso | Torace | Cranio | Bisacrom | Bitrocan | Span | |
|---|---|---|---|---|---|---|---|
| Altezza | 1.00 | 0.72 | 0.59 | 0.48 | 0.75 | 0.74 | 0.89 | 
| Peso | 0.72 | 1.00 | 0.91 | 0.54 | 0.75 | 0.84 | 0.69 | 
| Torace | 0.59 | 0.91 | 1.00 | 0.48 | 0.69 | 0.77 | 0.58 | 
| Cranio | 0.48 | 0.54 | 0.48 | 1.00 | 0.50 | 0.49 | 0.47 | 
| Bisacrom | 0.75 | 0.75 | 0.69 | 0.50 | 1.00 | 0.76 | 0.78 | 
| Bitrocan | 0.74 | 0.84 | 0.77 | 0.49 | 0.76 | 1.00 | 0.71 | 
| Span | 0.89 | 0.69 | 0.58 | 0.47 | 0.78 | 0.71 | 1.00 | 
La matrice di correlazione insieme ove possibile alla matrice dei grafici accocchi delle varie variabili ci dà un’ idea delle interrelazioni presenti tra coppie di variabili è usuale vedere la variabile dipendente sulla Y e la variabile esplicativa sull’asse delle X.
Correlazioni molto elevate in valore assoluto indicano un legame lineare forte fra le variabili qualora questo concetto non fosse ancora noto a tutti verrà ripreso successivamente.
Vediamo che esistono legami forti fra tutte le variabili.
Ovviamente con più di tre variabili non possiamo rappresentarle graficamente simultaneamente.
Inoltre le variabili sono a due a due correlate, alcune anche molto correlate: ci chiediamo se è possibile trovare un modo di riassumere queste informazioni e se è possibile misurare questa forma di correlazione complessiva che sembra esserci fra tutte le variabili
Se ne avremo il tempo proveremo a trovare qualche indice che ci consenta di misurare il grado di correlazione globale che esiste fra tutte le variabili.
3 Secondo data set di esempio
3.1 Statistiche descrittive e grafici del data set children.rid
Data Frame Summary
children.rid
Dimensions: 24553 x 6Duplicates: 2352
| No | Variable | Stats / Values | Freqs (% of Valid) | Graph | Valid | Missing | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | gestazione [integer] | Mean (sd) : 38.7 (2.1) min < med < max: 25 < 39 < 43 IQR (CV) : 2 (0.1) | 19 distinct values | 24553 (100%) | 0 (0%) | |||||||||||||||||||||||||||||||||||||
| 2 | lunghezza [integer] | Mean (sd) : 491.8 (30) min < med < max: 255 < 500 < 580 IQR (CV) : 30 (0.1) | 123 distinct values | 24553 (100%) | 0 (0%) | |||||||||||||||||||||||||||||||||||||
| 3 | peso [integer] | Mean (sd) : 3207.6 (580.9) min < med < max: 300 < 3250 < 5600 IQR (CV) : 640 (0.2) | 472 distinct values | 24553 (100%) | 0 (0%) | |||||||||||||||||||||||||||||||||||||
| 4 | Fumatrici [integer] | Mean (sd) : 0.1 (0.3) min < med < max: 0 < 0 < 3 IQR (CV) : 0 (5.3) | 
 | 24553 (100%) | 0 (0%) | |||||||||||||||||||||||||||||||||||||
| 5 | parti.pretermine [integer] | Mean (sd) : 0 (0.1) min < med < max: 0 < 0 < 5 IQR (CV) : 0 (13) | 
 | 24553 (100%) | 0 (0%) | |||||||||||||||||||||||||||||||||||||
| 6 | cranio [integer] | Mean (sd) : 338.1 (18.1) min < med < max: 165 < 340 < 400 IQR (CV) : 20 (0.1) | 170 distinct values | 24553 (100%) | 0 (0%) | 
Generated by summarytools 0.9.6 (R version 4.0.2)
2020-09-25
3.1.1 Alcune righe del data frame
| gestazione | lunghezza | peso | Fumatrici | parti.pretermine | cranio | |
|---|---|---|---|---|---|---|
| 1 | 41 | 495 | 3360 | 0 | 0 | 335 | 
| 2 | 36 | 430 | 1900 | 1 | 0 | 305 | 
| 3 | 32 | 430 | 1750 | 2 | 0 | 300 | 
| 12275 | 39 | 510 | 3650 | 0 | 0 | 340 | 
| 12276 | 38 | 490 | 3280 | 0 | 0 | 337 | 
| 12277 | 37 | 515 | 3890 | 0 | 0 | 350 | 
| 24551 | 38 | 505 | 3220 | 0 | 0 | 355 | 
| 24552 | 38 | 515 | 3440 | 0 | 0 | 330 | 
| 24553 | 41 | 500 | 2920 | 0 | 0 | 360 | 
3.1.2 Matrice dei grafici a due a due
Matrice di grafici per le sole variabili gestazione, lunghezza, peso, cranio e su un campione di 24553 righe del data.frame, che ha un totale di 24553 righe.
A differenza del caso precedente in questo contesto possiamo tranquillamente assumere che la variabile peso sia la variabile risposta. Questo perché in effetti quando si ragiona sullo stato di salute del nascituro e successivamente del neonato, questo è rappresentato dal peso e quindi si sa che per esempio alla nascita se il peso è inferiore a 2 kg 2,5 kg siamo in una situazione particolare di parto sottopeso.
Nel grafico riportato più avanti vediamo sull’asse delle ascisse la settimana di gestazione e sull’asse delle ordinate il peso alla nascita si tratta di un campione piuttosto ampio di neonati di cui è stata rilevata la settimana di gestazione ehi peso alla nascita come prevedibile all’aumentare del numero di settimane di gestazione aumenta mediamente il peso, Per cui risulta evidente che se io voglio fare inferenze sul peso medio di questi neonati ovviamente faccio bene a tenere in considerazione l’informazione fornita dalla settimana di gestazione ossia conoscere la settimana di gestazione migliora la mia informazione sulla variabile risposta peso.
In effetti vediamo che all’aumentare della settimana di gestazione aumenta il peso medio magari non in modo esattamente lineare ma la prima impressione che abbiamo dal grafico che è una retta rispecchierebbe discretamente l’andamento della media
3.2 retta di regressione e curve di regressione
Warning in smooth.spline(y ~ x, cv = TRUE): cross-validation with non-unique 'x' values seems doubtfulUn boxblot per gli stessi dati
[1] "medie parziali dei pesi in funzione delle altezze"     [,1]
25  917.3
26  864.8
27  925.6
28 1093.0
29 1268.8
30 1528.5
31 1566.2
32 1752.0
33 2000.5
34 2186.4
35 2389.8
36 2632.8
37 2944.8
38 3154.5
39 3313.6
40 3419.5
41 3525.4
42 3546.7
43 3467.5Warning in smooth.spline(y ~ x, cv = TRUE): cross-validation with non-unique 'x' values seems doubtfulProbabilmente invece per questo insieme di dati bisognerebbe fare qualcosa di un po’ diverso per la relazione fra peso e altezza ma non è argomento che affronteremo in questa giornata.
3.3 Data set ridotto eliminando le osservazioni con valori non plausibili
sel=gestazione>24&gestazione<45&lunghezza<650&lunghezza>250
3.4 Rappresentazione interattiva in 3d
You must enable Javascript to view this page properly.
Opportuna strumentazione tecnica potremmo riuscire a trovare una relazione soddisfacente che faccia dipendere la variabile peso dalle altre due variabili e poi magari potremmo porci una serie di problemi più complessi che però oggi non ci poniamo.
In effetti il modello base che noi ci Apprestiamo a studiare e il cosiddetto modello lineare in cui immaginiamo che il valore atteso di una variabile di risposta dipende in qualche modo da una variabile esplicativa.
La situazione più semplice è quella in cui abbiamo due sole variabili una variabile risposta Y ed una variabile esplicativa X e assumiamo che il valore atteso della variabile risposta Dipende linearmente dei valori assunti dalla X.
\[ \mathrm{E}\left[Y_i\right]= \beta_0 +\beta_1 x_i \] ## Esempi di modelli lineari
Da riprendere al momento della lezione sui modelli lineari
Un applicazione ai dati precedenti per le variabili gestazione, lunghezza, peso
Proviamo ad estendere il concetto di regressione semplice alla regressione multipla, intanto con due sole variabili esplicative, in modo che sia visalizzabile.
Più avanti ovviamente generalizzeremo a più variabili.
più avanti ancora, in altri moduli, affronterete casi in cui addirittura le variabili sono più delle unità, caso frequente ad esempio nell’analisi di dati genetici
You must enable Javascript to view this page properly.
3.5 Primissime annotazioni sulla regressione a due variabili
I dettagli teorici a dopo…
Call:
lm(formula = peso ~ gestazione + lunghezza, data = children.rid)
Residuals:
    Min      1Q  Median      3Q     Max 
-2950.2  -205.6   -20.2   183.5  3712.1 
Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -5.448e+03  3.726e+01 -146.22   <2e-16 ***
gestazione   4.261e+01  1.282e+00   33.22   <2e-16 ***
lunghezza    1.424e+01  9.033e-02  157.67   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 306.1 on 24550 degrees of freedom
Multiple R-squared:  0.7224,    Adjusted R-squared:  0.7224 
F-statistic: 3.194e+04 on 2 and 24550 DF,  p-value: < 2.2e-16Con l’istruzione lm() ottengo le stime dei parametri in modo del tutto simile alla regressione lineare semplice (e dal punto di vista delle istruzioni R sarà quasi sempre lo stesso nei modelli lineari, il metodo è ancora quello dei minimi quadrati)
Il significato dei parametri è analogo: sono delle pendenze, ma indicano una dipendenza parziale, ossia a parità di altre condizioni, oppure tenute costanti le altre variabili (vedere spiegazione geometrica nel grafico 3d)
Abbiamo le tre stime dei coefficienti: -5447.807, 42.609, 14.243, quindi la variabile di risposta varia mediamente di 42.609, al variare unitario di x1, per valori costanti di x2.
3.5.1 Confronto con le regressioni lineari semplici
Call:
lm(formula = peso ~ gestazione, data = children.rid)
Residuals:
     Min       1Q   Median       3Q      Max 
-2587.94  -279.86    -8.72   273.98  2240.91 
Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -3871.709     50.918  -76.04   <2e-16 ***
gestazione    182.693      1.312  139.24   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 434.2 on 24551 degrees of freedom
Multiple R-squared:  0.4412,    Adjusted R-squared:  0.4412 
F-statistic: 1.939e+04 on 1 and 24551 DF,  p-value: < 2.2e-16
Call:
lm(formula = peso ~ lunghezza, data = children.rid)
Residuals:
    Min      1Q  Median      3Q     Max 
-3041.9  -208.6   -18.3   186.9  4047.7 
Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -4.819e+03  3.281e+01  -146.9   <2e-16 ***
lunghezza    1.632e+01  6.659e-02   245.1   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 312.9 on 24551 degrees of freedom
Multiple R-squared:  0.7099,    Adjusted R-squared:  0.7099 
F-statistic: 6.008e+04 on 1 and 24551 DF,  p-value: < 2.2e-163.6 Alcune considerazioni e commenti
- Le stime dei coefficienti di regressione sono sempre delle pendenze 
- In generale queste pendenze sono diverse da quelle delle rette di regressione semplice fatte su x1 e x2 - Nella regressione multipla abbiamo ottenuto due stime: - 42.609, 14.243 - diverse dalle due stime delle due regressioni semplici - 182.693 e 16.322 
- La devianza spiegata dalla regressione multipla è maggiore di quella spiegata da ciascuna delle singole rette ma non può essere superiore alla somma delle spiegazioni delle singole variabili (spiegare e vedere con i numeri) - Infatti il coefficiente di determinazione multipla della regressione con due variabili esplicative (modello ) è: - \[R^2_{y.12} = 0.722\] - mentre i singoli coefficienti di determinazione multipla dei due modelli di regressione sono: - \[R^2_{y.1} = 0.441\] \[R^2_{y.2} = 0.71\] 
4 Terzo esempio: frodi negli acquisti online
Classes 'data.table' and 'data.frame':  310134 obs. of  14 variables:
 $ isFraud       : int  0 0 0 0 0 0 0 0 0 0 ...
 $ TransactionDT : int  86400 86469 86510 86522 86536 86618 86725 86761 86808 86972 ...
 $ TransactionAmt: num  68.5 59 49 159 117 ...
 $ ProductCD     : Factor w/ 5 levels "C","H","R","S",..: 5 5 5 5 5 5 5 5 5 5 ...
 $ card4         : Factor w/ 5 levels "","american express",..: 3 5 5 5 4 5 5 4 4 5 ...
 $ card6         : Factor w/ 5 levels "","charge card",..: 3 4 4 4 4 4 4 4 4 4 ...
 $ C1            : int  1 1 1 1 2 4 1 1 1 4 ...
 $ C2            : int  1 1 1 1 2 4 1 1 1 2 ...
 $ D1            : int  14 0 0 0 61 0 0 0 0 0 ...
 $ D10           : int  13 0 0 0 40 465 0 0 0 0 ...
 $ D11           : int  13 315 0 0 302 423 237 0 0 35 ...
 $ D15           : int  0 315 0 0 318 0 0 0 0 0 ...
 $ hour          : num  0 0 0 0 0 0 0 0 0 0 ...
 $ day           : num  1 1 1 1 1 1 1 1 1 1 ...4.1 Summary dei dati
Data Frame Summary
fraud0
Dimensions: 310134 x 14Duplicates: 57
| No | Variable | Stats / Values | Freqs (% of Valid) | Graph | Valid | Missing | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | isFraud [integer] | Min : 0 Mean : 0 Max : 1 | 
 | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 2 | TransactionDT [integer] | Mean (sd) : 8765654.5 (4371378.3) min < med < max: 86400 < 9124508.5 < 15811131 IQR (CV) : 7101428.5 (0.5) | 304681 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 3 | TransactionAmt [numeric] | Mean (sd) : 153.1 (272.5) min < med < max: 2 < 78.5 < 31937.4 IQR (CV) : 97 (1.8) | 9571 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 4 | ProductCD [factor] | 1. C 2. H 3. R 4. S 5. W | 
 | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 5 | card4 [factor] | 1. (Empty string) 2. american express 3. discover 4. mastercard 5. visa | 
 | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 6 | card6 [factor] | 1. (Empty string) 2. charge card 3. credit 4. debit 5. debit or credit | 
 | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 7 | C1 [integer] | Mean (sd) : 9 (29.2) min < med < max: 0 < 2 < 344 IQR (CV) : 2 (3.2) | 321 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 8 | C2 [integer] | Mean (sd) : 8.3 (26.6) min < med < max: 1 < 2 < 297 IQR (CV) : 2 (3.2) | 276 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 9 | D1 [integer] | Mean (sd) : 116 (170.2) min < med < max: 0 < 26 < 639 IQR (CV) : 171 (1.5) | 640 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 10 | D10 [integer] | Mean (sd) : 141.8 (191.5) min < med < max: 0 < 36 < 679 IQR (CV) : 240 (1.4) | 676 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 11 | D11 [integer] | Mean (sd) : 146.7 (186.1) min < med < max: -53 < 43 < 670 IQR (CV) : 274 (1.3) | 675 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 12 | D15 [integer] | Mean (sd) : 182.8 (209.5) min < med < max: -60 < 82 < 672 IQR (CV) : 351 (1.1) | 680 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 13 | hour [numeric] | Mean (sd) : 14.2 (7.5) min < med < max: 0 < 17 < 23 IQR (CV) : 9 (0.5) | 24 distinct values | 310134 (100%) | 0 (0%) | |||||||||||||||||||||
| 14 | day [numeric] | Mean (sd) : 100.8 (50.6) min < med < max: 1 < 105 < 182 IQR (CV) : 83 (0.5) | 182 distinct values | 310134 (100%) | 0 (0%) | 
Generated by summarytools 0.9.6 (R version 4.0.2)
2020-09-25
4.2 Alcune righe del data frame
| isFraud | TransactionDT | TransactionAmt | ProductCD | card4 | card6 | C1 | C2 | D1 | D10 | D11 | D15 | hour | day | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 86400 | 68.50 | W | discover | credit | 1 | 1 | 14 | 13 | 13 | 0 | 0 | 1 | 
| 2 | 0 | 86469 | 59.00 | W | visa | debit | 1 | 1 | 0 | 0 | 315 | 315 | 0 | 1 | 
| 3 | 0 | 86510 | 49.00 | W | visa | debit | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 
| 155065 | 0 | 9124493 | 107.95 | W | visa | debit | 3 | 1 | 104 | 580 | 580 | 580 | 14 | 105 | 
| 155066 | 0 | 9124497 | 134.95 | W | mastercard | credit | 1 | 1 | 0 | 0 | 0 | 0 | 14 | 105 | 
| 155067 | 0 | 9124507 | 66.95 | W | visa | debit | 2 | 2 | 0 | 0 | 0 | 0 | 14 | 105 | 
| 310132 | 0 | 15811079 | 30.95 | W | mastercard | debit | 1 | 1 | 0 | 0 | 0 | 0 | 23 | 182 | 
| 310133 | 0 | 15811088 | 117.00 | W | mastercard | debit | 1 | 1 | 22 | 22 | 22 | 22 | 23 | 182 | 
| 310134 | 0 | 15811131 | 279.95 | W | mastercard | credit | 2 | 1 | 0 | 1 | 0 | 1 | 23 | 182 | 
4.3 Descrizione dei dati
Si tratta di un campione estratto dal sito kaggle.com, notevolmente ridotto e semplificato, relativo a 310134 transazioni on line.
Ogni record corrisponde a una transazione effettuata. Non sono presenti dati mancanti
Per semplicità non ho incluso i record con osservazioni mancanti, che in qualche caso possono essere invece informativi.
Le variabili presenti sono le seguenti (Il significato effettivo di alcune variabili è mascherato dall’ente che ha messo a disposizione i dati):
- la variabile di interesse - isFraud: è una variabile dicotomica che assume modalità “0” se la transazione è regolare oppure “1” se la transazione è risultata poi fraudolenta;
- TransactionDT: è una variabile temporale espressa in secondi;
- TransactionAmt: è una variabile quantitativa che indica l’importo del pagamento della transazione in dollari;
- ProductCD: inutile perchè costante in questo sottoinsieme di dati;
- card1e- card6: sono due variabili qualitative che indicano vari tipi di informazioni sulla carta di pagamento come il tipo di carta, la categoria, la banca, il Paese, ecc.;
- C1e- C2: sono variabili di conteggio. Ad esempio il numero di indirizzi associati alla carta di pagamento, ecc.;
- D1,- D10,- D11,- D15: sono variabili quantitative che indicano intervalli temporali misurati in giorni come ad esempio i giorni tra la transazione precedente, etc.
- hour,- day: ora e giorno della transazione
Warning in xy.coords(x, y, xlabel, ylabel, log): Si è prodotto un NaN$m
         0          1          2          3          4          5          6          7          8          9 
0.01647686 0.01568811 0.01632025 0.01768049 0.01995284 0.03406814 0.03246753 0.04487659 0.03764479 0.04489796 
        10         11         12         13         14         15         16         17         18         19 
0.02790462 0.02267685 0.02271827 0.01736527 0.01744897 0.01705332 0.01955496 0.02027244 0.02145443 0.02181074 
        20         21         22         23 
0.02010050 0.01907502 0.01784312 0.02097966 
$x
 [1]  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
$n
    0     1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18    19 
20635 17083 12990  9502  5513  2994  2002  1337  1036  1225  1971  4057  7571 11690 15531 18061 20762 21803 22373 22466 
   20    21    22    23 
22089 22595 22922 21926 4.4 Il problema statistico di previsione.
Alcune di queste variabili ci possono aiutare a valutare se una transazione è fraudolenta?
E’ basilare in questo contesto che tutte le variabili (tranne la risposta isFraud) siano osservabili immediatamente prima dell’esecuzione della transazione, mentre la variabile isFraud ragionevolmente sarà nota dopo alcuni giorni
Potremo commettere due tipi di errori: Falsi Positivi e Falsi negativi
Non potremo ovviamente, in generale, ottenere previsioni esatte, ma magari avere una valutazione della probabilità che una transazione sia fraudolenta