IniziaInizia gratis

Mantenere i dati mancanti

In alcune situazioni, il fatto che un input sia mancante è di per sé un’informazione importante. Gli NA possono essere mantenuti in un’apposita categoria "missing" usando la coarse classification.

La coarse classification ti permette di semplificare i dati e migliorare l’interpretabilità del modello. Richiede di suddividere le risposte in gruppi che contengono intervalli di valori. Puoi usare questa tecnica di binning per collocare tutti gli NA in un loro bin dedicato.

Nel video, abbiamo illustrato l’idea di coarse classification per la durata dell’impiego. Il codice di quell’esempio è stato riprodotto nello script R a destra e può essere adattato per applicare la coarse classification alla variabile int_rate.

Questo esercizio fa parte del corso

Credit Risk Modeling in R

Visualizza il corso

Istruzioni dell'esercizio

  • Apporta le modifiche necessarie al codice fornito per applicare la coarse classification a int_rate, salvando il risultato in una nuova variabile chiamata ir_cat.
    • Per prima cosa, sostituisci loan_data$emp_cat con loan_data$ir_cat dove compare nello script R e sostituisci anche loan_data$emp_length con loan_data$int_rate.
    • Poi, le variabili devono essere raggruppate nelle categorie "0-8", "8-11", "11-13.5" e "13.5+" (in sostituzione di "0-15","15-30","30-45" e "45+"). L’uso di > e <= è esattamente come nel video. Ricordati di cambiare anche i numeri nelle istruzioni condizionali (15, 30 e 45 vanno cambiati rispettivamente in 8, 11 e 13.5).
  • Osserva la nuova variabile ir_cat usando plot(loan_data$ir_cat).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Make the necessary replacements in the coarse classification example below 
loan_data$emp_cat <- rep(NA, length(loan_data$emp_length))

loan_data$emp_cat[which(loan_data$emp_length <= 15)] <- "0-15"
loan_data$emp_cat[which(loan_data$emp_length > 15 & loan_data$emp_length <= 30)] <- "15-30"
loan_data$emp_cat[which(loan_data$emp_length > 30 & loan_data$emp_length <= 45)] <- "30-45"
loan_data$emp_cat[which(loan_data$emp_length > 45)] <- "45+"
loan_data$emp_cat[which(is.na(loan_data$emp_length))] <- "Missing"

loan_data$emp_cat <- as.factor(loan_data$emp_cat)

# Look at your new variable using plot()
Modifica ed esegui il codice