La carenza di rango in questo contesto indica che le informazioni contenute nei dati non sono sufficienti per stimare il modello desiderato. Deriva da molte origini. Parlerò qui della modellazione in un contesto abbastanza generale, piuttosto che della regressione esplicitamente logistica, ma tutto si applica ancora al contesto specifico.
La carenza può derivare da dati troppo pochi. In generale, non è possibile stimare in modo univoco n parametri con meno di n punti dati. Ciò non significa che tutto ciò di cui hai bisogno siano n punti, come se ci fosse del rumore nel processo, otterrai risultati piuttosto scarsi. Hai bisogno di più dati per aiutare l'algoritmo a scegliere una soluzione che rappresenterà tutti i dati, in un minimo senso di errore. Questo è il motivo per cui utilizziamo gli strumenti dei minimi quadrati. Di quanti dati hai bisogno? Mi è sempre stata posta questa domanda in una vita passata e la risposta è stata più di quello che hai, o quanto più puoi ottenere. :)
A volte potresti avere più dati del necessario, ma alcuni (troppi) punti sono replicati. La replica è BUONA nel senso che aiuta a ridurre il rumore, ma non aiuta ad aumentare il rango numerico. Supponiamo quindi di avere solo due punti dati. Non è possibile stimare un modello quadratico univoco attraverso i punti. Un milione di replicati di ogni punto non ti consentirà comunque di adattarti più di una linea retta, attraverso quelli che sono ancora effettivamente solo una coppia di punti. In sostanza, la replica non aggiunge contenuto informativo. Tutto ciò che fa è ridurre il rumore nei luoghi in cui sono già presenti informazioni.
A volte hai informazioni nei posti sbagliati. Ad esempio, non puoi adattare un modello quadratico bidimensionale se tutto ciò che hai sono punti che si trovano tutti in una linea retta in due dimensioni. Cioè, supponiamo di avere punti sparsi solo lungo la linea x = y nel piano e che si desidera adattare un modello per la superficie z (x, y). Anche con miliardi di punti (nemmeno replicati) avrai informazioni sufficienti per stimare in modo intelligente più di un modello costante. Sorprendentemente, questo è un problema comune che ho visto nei dati campionati. L'utente si chiede perché non riesca a costruire un buon modello. Il problema è incorporato proprio nei dati che hanno campionato.
A volte è semplicemente la scelta del modello. Questo può essere visto come "dati insufficienti", ma dall'altra parte. Desideri stimare un modello complicato, ma hai fornito dati insufficienti per farlo.
In tutti i casi di cui sopra, la risposta è ottenere più dati, campionati in modo intelligente da luoghi che forniranno informazioni sul processo che attualmente ti manca. La progettazione di esperimenti è un buon punto di partenza.
Tuttavia, anche buoni dati sono talvolta inadeguati, almeno numericamente. (Perché accadono cose brutte a dati buoni?) Il problema qui può essere correlato al modello. Potrebbe non essere altro che una scarsa scelta di unità. Potrebbe derivare dalla programmazione del computer effettuata per risolvere il problema. (Ugh! Da dove cominciare?)
Innanzitutto, parliamo di unità e ridimensionamento. Supponiamo che io provi a risolvere un problema in cui una variabile è MOLTO ordini di grandezza più grandi di un altro. Ad esempio, supponiamo di avere un problema che riguarda la mia altezza e il numero di scarpe. Misurerò la mia altezza in nanometri. Quindi la mia altezza sarebbe di circa 1,78 miliardi (1,78e9) nanometri. Certo, sceglierò di misurare la misura della mia scarpa in chilo-parsec, quindi 9.14e-21 chilo-parsec. Quando si esegue la modellazione della regressione, la regressione lineare riguarda interamente l'algebra lineare, che comporta combinazioni lineari di variabili. Il problema qui è che questi numeri sono diversi per moltissimi ordini di grandezza (e nemmeno per le stesse unità). La matematica fallirà quando un programma per computer cerca di aggiungere e sottrarre numeri che variano di così tanti ordini di grandezza (per una doppia precisione numero,
Il trucco è di solito usare unità comuni, ma su alcuni problemi anche questo è un problema quando le variabili variano di troppi ordini di grandezza. Più importante è ridimensionare i numeri in modo che siano simili in grandezza.
Successivamente, potresti vedere problemi con numeri grandi e piccole variazioni in quei numeri. Supponiamo quindi di provare a costruire un modello polinomiale di ordine moderatamente alto con dati in cui tutti gli input si trovano nell'intervallo [1,2]. Quadratura, cubatura, ecc., I numeri dell'ordine di 1 o 2 non causeranno problemi quando si lavora in aritmetica a doppia precisione. In alternativa, aggiungi 1e12 ad ogni numero. In teoria, la matematica lo permetterà. Tutto ciò che fa è spostare qualsiasi modello polinomiale che costruiamo sull'asse x. Avrebbe esattamente la stessa forma, ma sarebbe tradotto da 1e12 a destra. In pratica, l'algebra lineare fallirà miseramente a causa di problemi di carenza di rango. Non hai fatto altro che tradurre i dati, ma all'improvviso inizi a vedere apparire matrici singolari.
Di solito il commento fatto sarà un suggerimento per "centrare e ridimensionare i dati". In effetti questo dice di spostare e ridimensionare i dati in modo che abbiano una media vicino allo zero e una deviazione standard che è approssimativamente 1. Ciò migliorerà notevolmente il condizionamento della maggior parte dei modelli polinomiali, riducendo i problemi di carenza di rango.
Esistono altri motivi per carenza di rango. In alcuni casi è integrato direttamente nel modello. Ad esempio, supponiamo di fornire la derivata di una funzione, posso inferire in modo univoco la funzione stessa? Certo che no, poiché l'integrazione implica una costante di integrazione, un parametro sconosciuto che viene generalmente dedotto dalla conoscenza del valore della funzione ad un certo punto. In effetti, questo a volte insorge anche in problemi di stima, in cui la singolarità di un sistema deriva dalla natura fondamentale del sistema in esame.
Ho sicuramente tralasciato alcune delle molte ragioni della carenza di rango in un sistema lineare, e ormai sono in chiacchiere da troppo tempo. Spero di essere riuscito a spiegare quelli che ho trattato in termini semplici e un modo per alleviare il problema.