Clustering di dati

ReggaetonDj
Ciao a tutti, ho bisogno di un consiglio.

Sto osservando la durata di un processo durante il giorno. Ho bisogno di stimare qual è la durata più probabile del processo in questione per ogni istante di tempo. Ho a disposizione una serie di dati bidimensionali tempo di inizio - durata, che indico con [tex]$(t,d)$[/tex].

Ebbene, come fare a risolvere questo problema? In pratica vorrei partizionare l'asse [tex]$t$[/tex] in delle "face orarie" tali che i dati [tex]$d$[/tex] di durata, osservati in quel lasso di tempo, presentino una varianza minima.

Non credo che si tratti di un problema di clustering standard (che di solito associa ogni punto ad un cluster in base a dei criteri di distanza), piuttosto ho bisogno di partizionare l'ascissa in funzione della varianza dei dati che appartengono a quel tratto.

C'è qualche algoritmo standard?

Grazie in anticipo!

Risposte
hamming_burst
Ciao,
si con algoritmi di ottimizzazione puoi far qualcosa, ma non mi sembra il metodo più affine al tuo scopo.
Hai valutato di fare test d'ipotesi statistici?

ReggaetonDj
Ciao non ho ben presente come poter applicare il test di ipotesi a questo problema, come faresti? L'ho sempre visto applicato in altri contesti.

Io pensavo di usare un'euristica costruttiva, un qualcosa simile a:

0. Ordino i dati in ordine cronologico, quindi ho un ordinamento tale che [tex]$t_1 < t_2 < ... < t_n$[/tex]
1. Associo il primo dato al primo cluster
2. WHILE (la varianza dei dati appratente al cluster < di un valore di soglia) DO
>>>>>>2.0 IF ho analizzato tutti i dati THEN BREAK
>>>>>>2.1 leggo il dato successivo al corrente (con [tex]$t$[/tex] immediatamente maggiore)
>>>>>>2.2 calcolo media e varianza delle durate appartenenti al cluster

Cosi facendo potrei delimitare il tempo grazie ai dati che in esso sono distribuiti. Tuttavia vedo dei problemi:
a. nello stimare un valore di soglia ottimale;
b. nelle derive dei dati. Prima di uscire dalla varianza di soglia devo incontrare una certa deriva dei valori di [tex]$d$[/tex]. Questi valori apparterranno ancora al cluster precedente, mentre forse avrebbe più senso che appartenessero al cluster successivo...

Insomma, non mi sembra un'ottima idea...

hamming_burst
Na rileggendo, forse in questo caso non ha senso l'utilizzo di test, ecc.
A me sembra un problema di scheduling, oppure di partizionamento del tempo, ci son vari algoritmi che risolvono approssimando la soluzione (essendo un problema "difficile"), la tua versione è un qualche sotto-problema di questo.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.