MTX_LINEARE_REGRESSION
Dieses Verfahren erstellt das lineare Regressionsmodell anhand der in einer Matrix gespeicherten Daten.
Verwendung
- MTX_LINEAR_REGRESSION modelName,predictorsMatrixName,predictedMatrixName,includeIntercept,calculateDiagnostics,useSVDSolver )
- Parameter
- modelName
- Der Name des erstellten Modells.
- predictorsMatrixName
- Der Name der Matrix, die die Prädiktoren enthält.
- predictedMatrixName
- Der Name der Matrix, die die vorhergesagten Werte enthält.
- includeIntercept
- Gibt an, ob der Intercept-Term in das Modell aufgenommen werden soll.
- useSVDSolver
- Gibt an, ob Singulärwertzerlegung und Matrixmultiplikation zur Lösung der Matrixgleichung verwendet werden sollen.
Details zu
- modelName_linearmodel_R2: Zeilenvektor mit R^2 (als Anteil der durch das Modell erklärten Varianz) der für jedes Ausgangsattribut erstellten Modelle (wenn calculateDiagnostics TRUE ist)
- modelName_linearmodel_RSS: Zeilenvektor, der die Residualquadratsummen der für jedes Ausgangsattribut erstellten Modelle enthält (wenn calculateDiagnostics TRUE ist)
- modelName_linearmodel_SDEV: die Matrix der Standardabweichungen der Modellkoeffizienten (wenn calculateDiagnostics TRUE ist, ist eine Diagnose möglich und das Modell ist überdeterminiert)
- modelName_linearmodel_TVAL: die Matrix der Teststatistiken für die Koeffizienten der Modelle (wenn calcu-lateDiagnostics TRUE ist, ist eine Diagnose möglich und das Modell ist überbestimmt)
- modelName_linearmodel_PVAL: die Matrix der zweiseitigen p-Werte für die Koeffizienten der Modelle (wenn calculateDiagnostics TRUE ist, ist eine Diagnose möglich und das Modell ist überdeterminiert)
- modelName_linearmodel_Y_VAR_EST: der Zeilenvektor, der die Schätzer der Varianz des Fehlerterms für jede vorhergesagte Variable enthält (wenn calculateDiagnostics TRUE ist, ist eine Diagnose möglich und das Modell ist überdeterminiert)
Die Modellkoeffizienten werden als Matrix mit dem Namen modelName_linearmodel gespeichert.
Das konstruierte Modell kann mit der Prozedur MTX_LINEAR_REGRESSION_APPLY auf die Daten angewendet werden. Beachten Sie, dass die Verwendung der Singulärwertzerlegung und der Matrixmultiplikation langsamer ist als die Standardberechnung, aber im Falle eines schlecht gestellten, d. h. nahezu kolinearen Regressionsmodells stabiler ist.
Beispiele
call nzm..shape('1,2,3,4,5,6,7,8,9',100,10,'LR_EXAMPLE');
call nzm..shape('9,8,7,6,5,4,3,2,1',10,1,'LR_EXAMPLE_TRUE_COEFFS');
call nzm..gemm('LR_EXAMPLE','LR_EXAMPLE_TRUE_COEFFS',
'LR_EXAMPLE_PREDICTED');
call nzm..mtx_linear_regression('LR_EXAMPLE_MODEL','LR_EXAMPLE ',
'LR_EXAMPLE_PREDICTED', FALSE, FALSE, FALSE);
--- result verification
call nzm..copy_submatrix('LR_EXAMPLE_MODEL_linearmodel',
'LR_EXAMPLE_MODEL_linearmodel_eff',1,10,1,1);
call nzm..subtract('LR_EXAMPLE_TRUE_COEFFS',
'LR_EXAMPLE_MODEL_linearmodel_eff', 'LR_EXAMPLE_MODEL_verif1');
call nzm..red_max_abs('LR_EXAMPLE_MODEL_verif1');
call nzm..delete_all_matrices();
SHAPE
-------
t
(1 row)
SHAPE
-------
t
(1 row)
GEMM
------
t
(1 row)
MTX_LINEAR_REGRESSION
-----------------------
f
(1 row)
COPY_SUBMATRIX
----------------
t
(1 row)
SUBTRACT
----------
t
(1 row)
RED_MAX_ABS
-----------------
8.3857463735873
(1 row)
DELETE_ALL_MATRICES
---------------------
t
(1 row)