Home | Develop | Download | Contact
example_linearmodel_outlier.cpp

Programa para el testeo de las funciones.Para compilar o código example_linearmodel_outlier.cpp:

g++ -static -o example_linearmodel_outlier example_linearmodel_outlier.cpp -lpdsmlmm -lpdsramm -lpdsspmm

Para executar o programa:

./example_linearmodel_outlier

Retornando por consola:

W:
0.16076878997905 0.51976819199234 
Training :: R2 : 0.26923944283949

W:
0.025100329361696 0.91921647375166  
Training :: R2 : 0.035913187011475
Ajuste de curva con meansquare
Ajuste de curva con robust bisquare

Código example_linearmodel_outlier.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Vector W;
Pds::Vector Ypr;
Pds::Octave::XLabel="x1";
Pds::Octave::YLabel="x2";
Pds::Octave::Legend={"Data","Curve"};
// Generating data
unsigned int L=2000;
Pds::Matrix X;
Pds::Vector Y;
// Training Pds::LinearModel::FittingNormalMeanSquare()
W.T().Print("\nW:\n");
// Testing
std::cout<<"Training :: R2 : "<<Y.R2(Ypr)<<std::endl;
Pds::Octave::Plot::CurveXYXY(X,Y,X,Ypr,"testando.m","example_linearmodel_meansquare_outlier.png");
// Training Pds::LinearModel::FittingRobustBisquare()
W.T().Print("\nW:\n");
// Testing
std::cout<<"Training :: R2 : "<<Y.R2(Ypr)<<std::endl;
Pds::Octave::Plot::CurveXYXY(X,Y,X,Ypr,"testando.m","example_linearmodel_bisquare_outlier.png");
return 0;
}
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
void LoadDataLineOutlierBall(unsigned int L, Pds::Matrix &X, Pds::Vector &Y, double outlier_percent=5)
Regresion de datos ajustados por una linea e outliers en una bola.
Pds::Vector Predict(const Pds::Vector &W, const Pds::Matrix &X)
Calculo del resultado del predictor.
Pds::Vector FittingRobustBisquare(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, unsigned int N=1)
Calculo de pesos.
Pds::Vector FittingNormalMeanSquare(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y)
Calculo de pesos.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed