giuseppeegentile / AppStatExams

1 stars 0 forks source link

Doubt about decision based on classification #3

Closed giuseppeegentile closed 2 months ago

giuseppeegentile commented 3 months ago

https://github.com/giuseppeegentile/AppStatExams/blob/20d1370557b57d6d5a52fd16ebad7533545a6b54/2023/20230904/Pb2.R#L96-L113 Qui chiede il budget per una futura gara. Usando il nostro classificatore, e senza altri dati possiamo prevedere solo su 50 ciclisti. Io ho calcolato il costo come quello che avrei speso per la gara coi 50 ciclisti moltiplicato per 4, ma penso non sia accurato.

Idem per la domanda d. Qui ho dovuto calcolare anche i guadagni nel caso in cui si usa il classificatore: 1000 euro per ogni identificazione di doping, ma in realtà penso NON vada incluso dato che comunque i 1000 euro per fare il test son stati spesi. Allo stesso tempo però, se non includo quel termine conviene fare tutti i test blood-based.

giuseppeegentile commented 3 months ago

Come ho fatto in questo esercizio era con la predizione sul training set, che generalmente è sbagliato: ho riciclato i calcoli fatti nell'APER più per comodità. Forse l'approccio migliore è calcolare sensitività (TPR) e specificità (TNR) tramite LOOCV.

Lo stesso esercizio è stato proposto il 6 febbraio 2024, Pb2. Qui la mia sol. Usando questa strategia, conviene infatti usare il classificatore, dato che riduce il costo dei test.

Aspetto comunque a chiudere l'issue nel caso abbiate altre idee o sta roba non ha senso.

giacomo-carugati commented 3 months ago

Parlo per quanto riguarda l'esercizio del 6 febbraio 2024.

https://github.com/giuseppeegentile/AppStatExams/blob/8f7f43c40015f425a6b3468ff63fc2742bce0e39/2024/20240206/Pb2.R#L97-L112

Questa è la mia soluzione.

In linea generale mi verrebbe da dire di utilizzare le informazioni derivate dalla stima dell'error rate più accurata, laddove questa venga richiesta nell'esercizio, quindi in questo caso tramite LOOCV. Sulla questione sensitività/specificità francamente non saprei, quindi rimando ad altre opinioni: a me è venuto istintivo considerare la percentuale dell'ammontare dei prodotti che finiscono a fare il test in laboratorio, basandosi sui dati a disposizione. Infine, non mi è affatto chiaro il contesto dell'esercizio specifico: a quanto ho inteso, se un prodotto "high" viene classificato "low", ci perdo del costo relativo al lab test, mentre se viene correttamente classificato "low", il costo del lab test viene in qualche modo compensato; pertanto in ultima analisi nel punto d) ho escluso dal calcolo i casi nei quali ho dei TP, ottenendo una quantità che è diversa dal budget che dovrebbe essere allocato a priori (punto c)).

giacomo-carugati commented 3 months ago

Correggo quanto detto precedentemente (lascio comunque come riflessione).

https://github.com/giuseppeegentile/AppStatExams/blob/5868784869def7e8eb11ccda7e03b50b331e363c/2024/20240206/Pb2.R#L97-L116

Questa è la nuova soluzione aggiornata.

Mi ero dimenticato di includere nel discorso le priors, che intuitivamente giocano un ruolo fondamentale, dal momento che il dataset è bilanciato ma non corrisponde alla realtà; pertanto non è di certo vero che (FP + TP) / length(hl) * total_products sia il numero di prodotti che vengono portati a fare il test in laboratorio. Ho voluto includere la faccenda di sensitività/specificità perché mi sembrava una nozione più "precisa" nel momento in cui ho inserito le priors, però attenderei altri riscontri. Per il punto c) ho ottenuto lo stesso risultato di @giuseppeegentile, mentre per il punto d) mi è sembrato opportuno prendere in considerazione anche i falsi negativi, oltre a non includere i veri positivi, come detto precedentemente.

[Nota: ho indicato come positivi i prodotti "low", a differenza di Beppe, dal momento che l'obbiettivo del classificatore dovrebbe essere quello di riconoscere quest'ultimi]