Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Français


reglin

Régréssion linéaire

Séquence d'appel

[a,b,sig]=reglin(x,y)

Paramètres

x, y, a, b, sig

Vecteurs or Matrices numériques.

Description

Résout le problème de régréssion y=a*x+b au sens des moindres carrés. sig est l'écart-type du résidu. x et y sont deux matrices de taille x(p,n) et y(q,n), où n est le nombre d'échantillons.

L'estimateur a est une matrice de taille (q,p) et b est un vecteur de taille (q,1).

Si x ou y contient des NaN, utilisez nanreglin.

Exemples

// Simulation de données pour a(3, 5) et b(3, 1)
x  = rand(5, 100);
aa = testmatrix("magi", 5); aa = aa(1:3, :);
bb = [9; 10; 11];
y  = aa*x +bb*ones(1, 100)+ 0.1*rand(3, 100);

// Identification
[a, b, sig] = reglin(x, y);
max(abs(aa-a))
max(abs(bb-b))

// Autre exemple : adaptation d'un polynôme
f = 1:100; x = [f.*f; f];
y = [2 3]*x + 10*ones(f) + 0.1*rand(f);
[a, b] = reglin(x, y)

Exemple graphique :

// Génération d'une fonction impaire (symétrique à l'origine)
x = -30:30;
y = x.^3;

// Extraction de la moyenne des moindres carrés de cette fonction et affichage
[a, b] = reglin(x, y);
plot(x, y, "red")
plot(x, a*x+b)

Exemple avec un NaN :

// Mêmes valeurs que dans l'exemple précédent, mais avec un NaN
x = -30:30;
y = x.^3;
y(10) = %nan;

// Extraction de la moyenne des moindres carrés de cette fonction et affichage
[a, b] = reglin(x, y);
plot(x, y, "red")
plot(x, a*x+b)
// Le point [x(10), y(10)] a été ignoré, résultant en une valeur non-nulle pour b.

Vori aussi

  • nanreglin — Régréssion linéaire
  • pinv — pseudo-inverse
  • leastsq — Solves non-linear least squares problems
  • qr — factorisation QR
Report an issue
<< princomp Multivariables - regress correl covar PCA show_pca >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:39:43 CEST 2023