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

C++ Discussion :

Kernel Density Estimation


Sujet :

C++

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Kernel Density Estimation
    Bonjour,

    Ceci est un appel d'aide, afin de programmer une fonction mathématique.

    J'ai besoin d'implémenté une fonction qui retourne l'estimation de la fonction de densité d'un échantillon (X1....Xn) de valeurs numérique.
    En effet l'estimation de cette densité peut se faire par l'estimation par noyau "kernel density estimation"
    En resumé j'ai besoin de coder ceci:
    http://support.sas.com/onlinedoc/913...ist_sect24.htm
    en C++ ou C...
    Savez vous si il existe des codes déja implémenté qui réaliserai ceci, j'ai juste besoin de l'implémentation en univarié (un seul échantillon de valeur X1....Xn)

    Cordialement.

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bonjour et bienvenue sur le forum

    As tu fais une petite recherche google ? Il y a plusieurs liens et tu auras déjà un début de réponse

    Merci

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Ui j'ai déjà effectué une recherche, mais en vain...

    J'ai dejà l'implémentation R et Matlab de cette fonction mais j'en ai besoin en C ou C++.
    Apres les recherches google je trouve des choses vraiment compliquées souvent du code qui fait "KDE" pour des problèmes multivariés, souvent des programmes assez lourd, qui intègre un tas de fichier et je me perds...

    Je n'est pas vraiment d'expérience en C et C++...

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Google me donne wikipédia en premier, avec 2 libs en référence
    il y a également un exemple d'implémentation pour Boost.random
    Regarde ces liens et leurs implémentations et si tu as un problème, on pourra t'aider

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    parmi ces 2 librairies en référence une seule semble vraiment faire ce qui m'interesse:
    http://www.ics.uci.edu/~ihler/code/kde.html
    mais c'est pour du multivarié et quand je telecharge le fichier il ya un tas de routine .m et .cpp mélangés et je ne comprend clairement pas....
    ce que je demande me semble beacoup plus simple....

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    C'est dans C++11 (bibliothèque random) ou Boost.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    perdu dans mes recherches je ne sais plus ou donner de la tête...
    need help, qq'un qui me guide et qui me pose les bases...

  8. #8
    Invité
    Invité(e)
    Par défaut
    slt,

    voilà un exemple si tu souhaites réinventer la roue...ou éviter de te taper du boost.
    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
     
    #include <iostream>
    #include <vector>
    typedef std::vector<float> Data;
    float Ko(const float &t){
      //implement here Ko(t)
      return t;
    }
     
    float estimator(const Data& v, const float &y, const float &lambda, float(*ko)(const float &t)){
      float sum=0;
      for(size_t i=0; i<v.size(); ++i){
        sum+=ko((y-v[i])/lambda);
      }
      return sum;
    }
    int main(int argc, char* argv[]){
      Data v;
      v.push_back(1.0);
      v.push_back(2.0);
      v.push_back(3.0);
      std::cout<<estimator(v, 5.0, 2.0, &Ko)<<std::endl;
    }
    je te laisse vérifier que pour Ko(t)=t, tu as bien le résultat escompté et corriger le code le cas échéant.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci bien je vais essayer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fast kernel density
    Par saturn1 dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 27/08/2012, 17h09
  2. Estimation par la méthode des noyaux (kernel smoothing)
    Par mikael.jaffre dans le forum MATLAB
    Réponses: 0
    Dernier message: 20/10/2011, 14h28
  3. Que pensez vous du nouveau kernel 2.6 ?
    Par GLDavid dans le forum Administration système
    Réponses: 58
    Dernier message: 02/08/2004, 15h45
  4. Upgrade kernel 2.4 vers 2.6 sur MDK9.2
    Par Sph@x dans le forum Administration système
    Réponses: 14
    Dernier message: 02/02/2004, 18h58
  5. Estimation de Temps d'un requete, lancement asynchrone
    Par maveric dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/10/2003, 23h13

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