Decimazione, data reduction e campionatura dei dati

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3037
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Decimazione, data reduction e campionatura dei dati

Messaggio da DoctorStrange »

Ciao a tutti.
Ho per le mani una base dati che contiene dati di tipo numerico. Sono tutti decimali per la precisione. A causa di una mia negligenza, ho estratto questi dati usando un oversampling, ho quindi un eccedenza di dati, che ora devo decimare. La domanda è questa. Vorrei decimare i dati, mantenendo un campione statisticamente significativo.
Vorrei quindi chiedere quale potrebbe essere un buon metodo per implementare la decimazione. Al momento ho, per la precisione, 237.873 record. Vorrei arrivare, inizialmente ad averne cinquemila, oppure diecimila. Solo per avere un'idea di massima di come variano i dati.
Inizialmente avevo pensato semplicemente a prendere un campione ogni dieci ed a buttare via tutto quello che avanza. Mi è venuto però il dubbio, che potrei perdere risoluzione laddove i dati hanno piu significato, e conserverei invece dati che hanno poco significato.
Pensavo di implementare qualche tecnica alternativa. Pensavo di usare un'iterazione map-reduce per calcolare l'incidenza percentuale delle varie occorrenze, e decimare dove ci sono dati meno significativi.
Nella community c'è qualcuno che si è già confrontato con problemi simili? Come avete risolto?

Grazie
Avatar utente
garak
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1651
Iscrizione: lunedì 13 giugno 2005, 13:37
Desktop: Gnome
Distribuzione: Ubuntu 24.04
Sesso: Maschile
Località: Roma
Contatti:

Re: Decimazione, data reduction e campionatura dei dati

Messaggio da garak »

Non mi pare sensato togliere in base alla frequenza, tra l'altro stabilendo la significatività in che modo?
Lo scopo dovrebbe essere quello di mantenere la distribuzione originale, quindi dovresti individuare le frequenze e poi applicare un campionamento a grappolo (clustering), quindi eliminando un tot di dati che sia proporzionale (in base alla frequenza atabilita al punto precedente)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 29 ospiti