IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

Filtre formeur et Estimation de l'évolution du cours d'un actif financier (LS moindres carres)


Sujet :

Signal

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Filtre formeur et Estimation de l'évolution du cours d'un actif financier (LS moindres carres)
    Bonjour,
    Dans le cadre d'un projet de traitement numérique du signal j'ai un échantillon X décomposé comme tel : X(n)=Y(n)+a+b*n
    à l'aide des moindres carrés j'estime a et b puis j'ai mon signal d'erreur Y
    Il a une moyenne proche de zéro (content ) mais une autocovariance très différente de celle d'un bruit blanc.(pas content )
    Etape suivante je détermine un filtre formeur de type AR d'ordre 2 qui représente au mieux Y (je détermine mes coefficients de l'AR avec YuleWalker)
    Et j'ai mon Y estimé par le filtre formeur. Quand je plot Y et Y estimé j'ai une sorte de décalage (cf photo zoom.png)
    je suis certain à 100% du code de ma fonction yulewalker(testé et re-testé avec différente valeurs connues. Elle est jointe).
    Avec un échantillon X lambda je me serais dit pourquoi pas mais celui utilisé est généré à partir d'un AR 2 donc ça devrait coller parfaitement....
    Il doit y avoir un soucis dans mon filtre formeur mais je m'y arrache les cheveux depuis 2 semaines.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     X=importdata('datanew.xls');
     T=length(X)
     D1=ones(T,1);
     D2=[1:T]';
     D=[D1,D2];
     B=D'*D;
     teta=inv(B)*D'*X
     %Ploter le graphe de X et 
     %la droite dont les coefficients sont dans téta
     
     %ERREUR
     for i=1:T
        Y(i)=X(i)-teta(1)-teta(2)*i ;
     end
    moy=mean(Y)
    Y=Y-moy
    m=sum(Y)/length(Y);
    autocor=vautocov(Y)/var(Y);
     
    % Genereration normale
    a=yulewalker(autocor,2);
    epsilon=randn(1,T+1);
    epsilon=sqrt(a(1))*epsilon;
     
    % Filtre formeur
     
    Ychap(1)=-a(1)*Y(1);
     
    N=length(a)
    for n=2:T+1
        Ychap(n)=0;
        for p=2:N
            if p<=n
                Ychap(n)=Ychap(n)-a(p)*Y(n-p+1);
            end
        end
    end
    Ychap=Ychap+epsilon+moy;
    hold on
    plot(Y,'r')
    plot(Ychap)
    hold off
    Je serais ravis d'avoir un avis extérieur !
    Merci !
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/02/2015, 13h35
  2. Points 3D estimés par moindre carrés
    Par Niagara22 dans le forum Mathématiques
    Réponses: 0
    Dernier message: 02/03/2010, 11h18
  3. Réponses: 9
    Dernier message: 07/11/2009, 03h36
  4. Réponses: 2
    Dernier message: 27/01/2009, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo