Matrixrangschikking - Tutorials over beeldvorming, informatica en wiskunde (2023)

\(\newcommand{L}[1]{\| #1 \|}\newcommand{VL}[1]{\L{ \vec{#1} }}\newcommand{R}[1]{\operatornaam{ Re}\,(#1)}\nieuwcommando{I}[1]{\operatornaam{Im}\, (#1)}\)

Derangvan een matrix is ​​het aantal onafhankelijke rijen en/of kolommen van een matrix.

We zullen binnenkort definiëren wat we bedoelen met het woordonafhankelijk.

Voor een matrix met meer kolommen dan rijen is dit het aantal onafhankelijke rijen.

Voor een matrix met meer rijen dan kolommen, zoals een ontwerpmatrix, is dit het aantal onafhankelijke kolommen.

In feite vertelt lineaire algebra ons dat het onmogelijk is om meer onafhankelijke kolommen te hebben dan rijen, of meer onafhankelijke rijen dan kolommen. Probeer het eens met enkele testmatrices.

Een kolom isafhankelijkop andere kolommen als de waarden in de kolom kunnen worden gegenereerd door een gewogen som van een of meer andere kolommen.

Om dit formeler te zeggen: laten we zeggen dat we een matrix hebben\(\mathbf{X}\)met\(M\)rijen en\(N\)kolommen. Schrijf kolom\(i\)van\(\mathbf{X}\)als\(X_{:,i}\). Kolom\(i\)isonafhankelijkvan de rest van\(\mathbf{X}\)als er geen lengte is\(N\)kolomvector van gewichten\(\ding{c}\), waar\(c_i = 0\), zoals dat\(\mathbf{X}\cdot \vec{c} = X_{:,i}\).

Laten we een ontwerp maken met onafhankelijke kolommen:

>>>#: Standaard import>>>importeren onnozel als np>>># Maak numpy print 4 significante cijfers voor schoonheid>>>np.set_printopties(precisie=4, onderdrukken=WAAR)>>>importeren matplotlib.pyplot als plt>>># Standaard naar interpolatie van de dichtstbijzijnde buur, grijze kleurenkaart>>>importeren matplotlib>>>matplotlib.rcParams['beeld.interpolatie'] = 'dichtstbijzijnde'>>>matplotlib.rcParams['afbeelding.cmap'] = 'grijs'

Tip

Als u in de IPython-console draait, overweeg dan om te rennen%matplotlibom interactieve plots in te schakelen. Als u in de Jupyter Notebook draait, gebruikt u%matplotlibin lijn.

>>>tendens = np.linspatie(0, 1, 10)>>>X = np.degenen((10, 3))>>>X[:, 0] = tendens>>>X[:, 1] = tendens ** 2>>>plt.imshow(X)<...>

(png,huurt.png,pdf)

Matrixrangschikking - Tutorials over beeldvorming, informatica en wiskunde (1)

In dit geval kan er geen kolom worden gegenereerd door een gewogen som van de andere twee. We kunnen dit testen metnp.linalg.matrix_rank:

>>>importeren numpy.linalg als nl>>>nl.matrix_rang(X)3

Dit betekent niet dat de kolommen orthogonaal zijn:

>>># Orthogonale kolommen hebben puntproducten van nul>>>X.T.punt(X)matrix([[ 3.5185, 2.7778, 5. ],[ 2.7778, 2.337, 3.5185],[ 5. , 3.5185, 10. ]])

Het betekent ook niet dat de kolommen geen correlatie hebben (zieCorrelatie en projectievoor de relatie tussen correlatie en het puntproduct van de vector):

>>>np.corrcoef(X[:,0], X[:, 1])matrix([[ 1. , 0.9627],[ 0.9627, 1. ]])

Zolang elke kolom dat niet kan zijngeheelvoorspeld door de anderen, is de colonne onafhankelijk.

Laten we nu een vierde kolom toevoegen die een gewogen som is van de eerste drie:

>>>X_not_full_rank = np.nullen((10, 4))>>>X_not_full_rank[:, :3] = X>>>X_not_full_rank[:, 3] = np.punt(X, [-1, 0,5, 0,5])>>>plt.imshow(X_not_full_rank)<...>

(png,huurt.png,pdf)

Matrixrangschikking - Tutorials over beeldvorming, informatica en wiskunde (2)

matrix_rangis aan het werk:

>>>nl.matrix_rang(X_not_full_rank)3

Een meer typische situatie met ontwerpmatrices is dat we enkele kolommen met dummyvariabelen hebben die coderen voor groepslidmaatschap, wat neerkomt op een kolom met enen.

>>>dummy's = np.kroon(np.oog(3), np.degenen((4, 1)))>>>plt.imshow(dummy's)<...>

(png,huurt.png,pdf)

Matrixrangschikking - Tutorials over beeldvorming, informatica en wiskunde (3)

Tot nu toe, zo goed:

>>>nl.matrix_rang(dummy's)3

Als we een kolom met enen toevoegen om het gemiddelde te modelleren, hebben we nu een extra kolom die een lineaire combinatie is van andere kolommen in het model:

>>>dummies_with_mean = np.hstapel((dummy's, np.degenen((12, 1))))>>>plt.imshow(dummies_with_mean)<...>

(png,huurt.png,pdf)

Matrixrangschikking - Tutorials over beeldvorming, informatica en wiskunde (4)

>>>nl.matrix_rang(dummies_with_mean)3

Een matrix isvolledige rangals de matrixrang gelijk is aan het aantal kolommen / rijen. Dat wil zeggen, een matrix is ​​een volledige rang als alle kolommen (of rijen) onafhankelijk zijn.

Als een matrix geen volledige rang heeft, dan is het dat welrang tekort.

Top Articles
Latest Posts
Article information

Author: Arline Emard IV

Last Updated: 31/08/2023

Views: 6486

Rating: 4.1 / 5 (52 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Arline Emard IV

Birthday: 1996-07-10

Address: 8912 Hintz Shore, West Louie, AZ 69363-0747

Phone: +13454700762376

Job: Administration Technician

Hobby: Paintball, Horseback riding, Cycling, Running, Macrame, Playing musical instruments, Soapmaking

Introduction: My name is Arline Emard IV, I am a cheerful, gorgeous, colorful, joyous, excited, super, inquisitive person who loves writing and wants to share my knowledge and understanding with you.