Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Hier passen we de closed form oplossing toe op de gesimuleerde koffieshop data.

b^=(XTX)−1XTy\hat{\pmb{b}} = (\pmb{X}^T\pmb{X})^{-1}\pmb{X}^T\pmb{y}

Voor ons model met intercept en één predictor wordt de design matrix X\pmb{X}:

X=[1x11x2⋮⋮1xm]\pmb{X} = \begin{bmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_m \end{bmatrix}
Source

Estimated parameters:
b1_hat (intercept) = $0.559
b2_hat (slope) = 0.1426

True parameters:
b1_true = $0.500
b2_true = 0.1500
Source
<Figure size 1000x600 with 1 Axes>

Voordeel

Optimale parameterwaarden op basis van SSE loss via één batch berekening.

Nadeel

De ordinary least squares oplossing heeft een belangrijke beperking: we moeten de matrix (XTX)−1(\pmb{X}^T\pmb{X})^{-1} kunnen berekenen. Dit vereist dat XTX\pmb{X}^T\pmb{X} volledig van rang is.

XTX\pmb{X}^T\pmb{X} is niet inverteerbaar (“singulier”) bij:

  • Perfecte multicollineariteit: Wanneer twee of meerdere features perfecte lineaire combinaties van elkaar zijn (of identiek aan elkaar).

  • Meer features dan observaties: Bij M<NM < N in XX, is XTX\pmb{X}^T\pmb{X} gegarandeerd singulier. De matrix XTX\pmb{X}^T\pmb{X} zal N×NN \times N zijn maar een rang hebben van maximaal M<NM < N.

Gevolgen:

  • Het systeem heeft ofwel geen unieke oplossing of oneindig veel oplossingen

  • Matrix inversie faalt numeriek

  • De parameters b\pmb{b} zijn niet uniek identificeerbaar

Zelf wanneer multicollineariteit niet perfect, maar wel substantieel is (en XTX\pmb{X}^T\pmb{X} inverteerbaar), is er een risico dat kleine veranderingen in de data tot grote verschillen in de parameterschattingen leiden en de onzekerheid over parameterschattingen zeer groot is.

Singulariteit of het risico op onstabiliteit kan gediagnosticeerd worden aan de hand van het zogeheten conditienummer.

Oplossingen:

  • Regularisatie (Ridge, Lasso): Het toevoegen van een penalty zoals λI\lambda\pmb{I} (met λ≥0\lambda\geq0) maakt XTX+λI\pmb{X}^T\pmb{X} + \lambda\pmb{I} inverteerbaar.

  • Feature selectie: Verwijderen van redundante of collinear features.

  • Dimensionaliteitsreductie: PCA of andere technieken.

  • Pseudo-inverse: Het gebruik van de Moore-Penrose pseudo-inverse.

  • Iteratieve methoden: Gradient descent vereist geen matrix inversie.

Dit is waarom iteratieve gradiënt-gebaseerde optimalisatiemethoden vaak de voorkeur genieten in moderne machine learning, vooral voor modellen veel parameters.

Hieronder illustreren we de situatie bij M<NM < N.

X_small shape: (3, 4)
y_small shape: (3,)
Rank of X^T X: 3 (should be 4)
Condition number of X^T X: inf
Estimated parameters: [ 8.84011175 29.07666781 -5.22136417 -1.63398927]

Hoewel NumPy een inverse genereert, geeft het oneindige conditienummer aan dat XTX\pmb{X}^T\pmb{X} wel degelijk singulier is.

Hieronder illustreren we het probleem bij multicollineariteit

Correlation between x1 and x2: 1.000000
Rank of X^T X: 2 (should be 4)
Condition number of X^T X: 1.40e+16
Estimated parameters: [-2.47669566  0.75823902  0.07479962]
Rank of X^T X: 3 (should be 4)
Condition number of X^T X: 3.39e+07
Estimated parameters: [-64.90113349  32.93863669  -0.24796529]

We zien hier geen oneindige, maar wel zeer grote conditienummers. Bovendien zorgt een heel kleine aanpassing van de data voor een grote verschuiving in de schattingen.