MTX_REGRESSIONE_LINEARE
Questa procedura crea il modello di regressione lineare utilizzando i dati memorizzati in una matrice.
Utilizzo
- MTX_LINEAR_REGRESSION modelName,predictorsMatrixName,predictedMatrixName,includeIntercept,calculateDiagnostics,useSVDSolver )
- Parametri
- modelName
- Il nome del modello creato.
- predictorsMatrixName
- Il nome della matrice contenente i predittori.
- predictedMatrixName
- Il nome della matrice contenente i valori previsti.
- includeIntercept
- Specifica se il termine di intercetta deve essere incluso nel modello.
- useSVDSolver
- Specifica se utilizzare la Singular Value Decomposition e la moltiplicazione matriciale per risolvere l'equazione della matrice.
Dettagli
- modelName_linearmodel_R2: vettore di righe contenente R^2 (frazione della varianza spiegata dal modello) dei modelli creati per ogni attributo di output (quando calculateDiagnostics è TRUE)
- modelName_linearmodel_RSS: vettore di righe contenente la somma residua dei quadrati dei modelli creati per ciascun attributo di output (quando calculateDiagnostics è TRUE)
- modelName_linearmodel_SDEV: matrice delle deviazioni standard dei coefficienti del modello (quando calculateDiagnostics è TRUE, la diagnostica è possibile e il modello è sovradeterminato)
- modelName_linearmodel_TVAL: matrice delle statistiche di test per i coefficienti dei modelli (quando calcu-lateDiagnostics è TRUE, la diagnostica è possibile e il modello è sovradeterminato)
- modelName_linearmodel_PVAL: matrice dei valori di p a due facce per i coefficienti dei modelli (quando calculateDiagnostics è TRUE, la diagnostica è possibile e il modello è sovradeterminato)
- modelName_linearmodel_Y_VAR_EST: vettore di righe contenente gli stimatori della varianza del termine di errore per ogni variabile prevista (quando calculateDiagnostics è TRUE, la diagnostica è possibile e il modello è sovradeterminato)
I coefficienti del modello vengono salvati come matrice denominata modelName_linearmodel.
Il modello costruito può essere applicato ai dati utilizzando la procedura MTX_LINEAR_REGRESSION_APPLY. Si noti che l'uso della Singular Value Decomposition e della moltiplicazione matriciale è più lento del calcolo standard, ma è più stabile nel caso di un modello di regressione malposto, cioè quasi colineare.
Esempi
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)