Avendo a che fare con segnali fisici usati come feature e problematiche nella raccolta dati credo di poter scrivere qualcosa di utile. Poi seleziona tu quello che ti serve, vado un po' a ruota libera dicendo quello che mi viene in mente.
I punti che mi sembrano importanti:
Prima di andare subito al dunque e fare la funzione di minimizzazione lavora il più possibile sulle feature e sulla loro misurazione, calcolo, selezione.
- Prima regola fondamentale: passa anche delle ore a capire tutte le domande possibili da fare ai tecnici che danno le misure per sapere eventuali variazioni nelle condizioni di misurazione del sistema, cosa che ti manderebbe a puttane qualsiasi valutazione del modello. Serve il più possibile omogeneità rispetto a tutte le variabili che non puoi inserire nel sistema (del tipo condizioni ambientali, setup di misurazione...). Questa è una cosa che ha letteralmente mandato all'aria un progetto di ricerca a cui ho lavorato, dovendo dire all'azienda che aveva speso centinaia di migliaia di euro per fare misure in tutto il mondo che non potevamo essere sicuri di una mazza, per un dettaglio banale del tipo che non avevano misurato temperatura e umidità dell'ambiente. Se sei tu stesso il tecnico che fa l'acquisizione dei dati meglio.
Detto questo:
- Parti da ciò che sai a priori su possibili accorpamenti di feature (ad esempio una semplice formula fisica che ti permette di metterne insieme 2 o più), e annotati tutte le correlazioni tra le varie feature, cosa che può essere utile ad eliminare a vista palesi doppioni e informazioni ridondanti.
- Cerca di stare bassissimo sul numero di feature che selezioni da mettere nel modello, e scegli questo numero anche comparandolo col numero di campioni che hai. Ora, hai scritto che le variabili che puoi controllare sono una decina, ma immagino che andando avanti con le analisi vorrai mettere a modello anche le variabili che non controlli. Ovviamente la regola base è #feature < #campioni ma io starei veramente basso per cominciare e non andrei oltre le 10 (selezionate dall'insieme base). Quando sarai sicuro che tutto funziona entro le 10 feature inserite a modello puoi eventualmente provare ad aggiungerne altre.
- Cerca di fare delle valutazioni quantitative su eventuale presenza di rumore nelle misurazioni e su variazioni stagionali/periodiche, e se necessario applica dei pre-filtraggi ai valori delle feature. Ora, io questo lo faccio facilmente perché ho segnali ed in particolare serie temporali, non ho capito se sia questo il tuo caso e se hai dei segnali con una certa frequenza e campionamenti temporali e/o spaziali, oppure valori singoli per ogni feature presi in momenti diversi random (senza una frequenza che conosci).
- Non farei PCA per fare la selezione delle feature, ma per questioni collaterali, generalmente l'ho usata sempre quando avevo già delle feature che funzionavano e avevo bisogno di una dimensionalità più ridotta o per avere dei scatter plot dei campioni entro le 2/3 dimensioni da un numero di feature superiore, per vedere il più possibile a livello grafico cosa sta succedendo.
- Cerca di crearti un percorso graduale di arrivo al risparmio energetico massimo in funzione di:
- numero di campioni che inserisci nella funzione di minimizzazione.
- numero di feature che inserisci.
Quindi cerca di vedere come variano i risultati della funzione che userai come obiettivo (rimani su regressione lineare a più variabili per cominciare) al variare del numero di campioni che ci inserisci dentro e delle feature, in modo tale da capire "a che punto sei", ovvero se hai bisogno di molte altre misurazioni e/o puoi continuare ad aggiungere feature, ma anche per attribuire dei giudizi numerici alle feature, in base a quelle (o ai sottoinsiemi) che danno il contributo maggiore.
- Al di là del contributo della singola feature sul risparmio energetico è possibile che ci siano effetti dalla variazione congiunta di più feature, quindi per la selezione delle feature - se cominciassero ad essere tante, del tipo decine o centinaia - credo dovresti necessariamente usare dei semplicissimi algoritmi tratti dal calcolo combinatorio, per testare un certo sottoinsieme di combinazioni.
Intanto mi sento di dire questo, poi c'è la questione dell'overfitting, e si potrebbero fare tante considerazioni a livello statistico, ma non vorrei scrivere cose che sono fuori tema o eccessive rispetto agli obiettivi che hai te, magari vuoi solo prenderti le feature da un file .csv inserirle in una regressione lineare multivariata e buona lì, non spendendoci più di qualche giorno.