Di solito sento parlare di "minimi quadrati ordinari". È l'algoritmo più utilizzato per la regressione lineare? Ci sono motivi per usarne uno diverso?
Di solito sento parlare di "minimi quadrati ordinari". È l'algoritmo più utilizzato per la regressione lineare? Ci sono motivi per usarne uno diverso?
Risposte:
Per quanto riguarda la domanda nel titolo, qual è l'algoritmo utilizzato:
In una prospettiva di algebra lineare, l'algoritmo di regressione lineare è il modo di risolvere un sistema lineare con più equazioni che incognite. Nella maggior parte dei casi non esiste una soluzione a questo problema. E questo perché il vettore non appartiene allo spazio colonna di , .
È best straight line
quello che rende l'errore complessivo più piccolo possibile. Ed è conveniente pensare che sia piccolo per essere la lunghezza quadrata, , perché non è negativo, ed è uguale a 0 solo quando b \ in C (\ mathbf {A}) .
La proiezione (ortogonale) del vettore sul punto più vicino nello spazio della colonna di fornisce il vettore che risolve il sistema (i suoi componenti giacciono sulla migliore linea retta) con il minimo errore.
e il vettore proiettato è dato da:
Forse il metodo dei minimi quadrati non viene utilizzato esclusivamente perché squaring
compensa eccessivamente i valori anomali.
Lasciami fare un semplice esempio in R, che risolve il problema di regressione usando questo algoritmo:
library(fBasics)
reg.data <- read.table(textConnection("
b x
12 0
10 1
8 2
11 3
6 4
7 5
2 6
3 7
3 8 "), header = T)
attach(reg.data)
A <- model.matrix(b~x)
# intercept and slope
inv(t(A) %*% A) %*% t(A) %*% b
# fitted values - the projected vector b in the C(A)
A %*% inv(t(A) %*%A ) %*% t(A) %*% b
# The projection is easier if the orthogonal matrix Q is used,
# because t(Q)%*%Q = I
Q <- qr.Q(qr(A))
R <- qr.R(qr(A))
# intercept and slope
best.line <- inv(R) %*% t(Q) %*% b
# fitted values
Q %*% t(Q) %*% b
plot(x,b,pch=16)
abline(best.line[1],best.line[2])
could not find inv
?!
lm
è QR, ci sono ragioni per questo, potresti spiegare perché?
Per rispondere alla lettera della domanda, i "minimi quadrati ordinari" non sono un algoritmo; piuttosto è un tipo di problema nell'algebra lineare computazionale, di cui la regressione lineare ne è un esempio. Di solito si hanno dati e una funzione provvisoria ("modello") per adattarsi ai dati, della forma . I sono chiamati "funzioni di base" e possono essere qualsiasi cosa, dai monomi alle funzioni trigonometriche (ad esempio , ) e funzioni esponenziali ( ). Il termine "lineare" in "regressione lineare" qui non si riferisce alle funzioni di base,, in quanto prendere la derivata parziale del modello rispetto a uno qualsiasi dei ti dà il fattore moltiplicando ; cioè .
Si ha ora un matrice rettangolare ( "matrice motivo") che (di solito) ha più righe che colonne e ciascuna voce è la forma , essendo l'indice di riga e è il indice di colonna. OLS ora ha il compito di trovare il vettore che minimizza la quantità (in notazione matriciale, ; qui, è generalmente chiamato "vettore di risposta").
Esistono almeno tre metodi usati nella pratica per calcolare le soluzioni dei minimi quadrati: le equazioni normali, la decomposizione QR e la decomposizione a valore singolare. In breve, sono modi per trasformare la matrice in un prodotto di matrici che possono essere facilmente manipolate per risolvere il vettore .
George ha già mostrato il metodo delle equazioni normali nella sua risposta; si risolve semplicemente l' insieme di equazioni lineari
per . A causa del fatto che la matrice è simmetrica positiva (semi) definita, il solito metodo usato per questo è la decomposizione di Cholesky, che fattori nella forma , con una matrice triangolare inferiore. Il problema con questo approccio, nonostante il vantaggio di poter comprimere la matrice di design in una matrice (solitamente) molto più piccola , è che questa operazione è soggetta alla perdita di cifre significative (questo ha qualcosa da fare con il "numero di condizione" della matrice del disegno).
Un modo leggermente migliore è la decomposizione QR, che funziona direttamente con la matrice di progettazione. Considera come , dove è una matrice ortogonale (moltiplicando tale matrice con il suo recepimento si ottiene una matrice di identità) e è triangolare superiore. viene successivamente calcolato come . Per motivi che non entrerò (vedi solo un testo di algebra lineare numerica decente, come questo ), questo ha proprietà numeriche migliori rispetto al metodo delle equazioni normali.
Una variazione nell'uso della decomposizione QR è il metodo delle equazioni seminormali . In breve, se si ha la decomposizione , il sistema lineare da risolvere prende la forma
In effetti, si sta usando la decomposizione QR per formare il triangolo Cholesky di in questo approccio. Ciò è utile nel caso in cui sia scarso e la memorizzazione e / o la formazione esplicite di (o una sua versione fattorizzata) siano indesiderate o poco pratiche.
Infine, il modo più costoso, ma più sicuro, per risolvere OLS è la decomposizione a valore singolare (SVD). Questa volta, viene considerato come , dove e sono entrambi ortogonali eè una matrice diagonale, le cui voci diagonali sono chiamate "valori singolari". Il potere di questa decomposizione risiede nell'abilità diagnostica concessa dai valori singolari, nel senso che se uno vede uno o più valori singolari minuscoli, è probabile che tu abbia scelto una base non completamente indipendente, richiedendo così una riformulazione di il tuo modello. (Il "numero di condizione" menzionato in precedenza è in effetti correlato al rapporto tra il più grande valore singolare e il più piccolo; il rapporto ovviamente diventa enorme (e la matrice è quindi mal condizionata) se il valore singolare più piccolo è "piccolo" .)
Questo è semplicemente uno schizzo di questi tre algoritmi; qualsiasi buon libro sulle statistiche computazionali e l'algebra lineare numerica dovrebbe essere in grado di darti dettagli più pertinenti.
R^{-1} Q^T y
se A non è quadrato? Rilasci le righe zero in R?
Il link wiki: Metodi di stima per la regressione lineare fornisce un elenco abbastanza completo di metodi di stima tra cui OLS e i contesti in cui vengono utilizzati metodi di stima alternativi.
È facile confondersi tra definizioni e terminologia. Entrambi i termini sono usati, a volte in modo intercambiabile. Una rapida ricerca su Wikipedia dovrebbe aiutare:
Ordinary Least Squares (OLS) è un metodo utilizzato per adattarsi ai modelli di regressione lineare. A causa della coerenza e dell'efficienza dimostrabili (secondo ipotesi supplementari) del metodo OLS, è l'approccio dominante. Vedi gli articoli per ulteriori contatti.
Tendo a pensare ai "minimi quadrati" come un criterio per definire la migliore linea di regressione (cioè quella che rende la somma dei "quadrati" residui "meno") e "l'algoritmo" in questo contesto come l'insieme di passaggi utilizzati per determinare i coefficienti di regressione che soddisfano tale criterio. Questa distinzione suggerisce che è possibile avere algoritmi diversi che soddisferebbero lo stesso criterio.
Sarei curioso di sapere se gli altri fanno questa distinzione e quale terminologia usano.
Un vecchio libro, eppure uno in cui mi trovo più volte, è
Lawson, CL e Hanson, RJ Solving Least Squares Problems , Prentice-Hall, 1974.
Contiene una discussione dettagliata e molto leggibile di alcuni degli algoritmi citati nelle risposte precedenti. Potresti volerlo guardare.