Hi all,

Here is an attempt at providing a PCA algorithm in OpenTURNS. I wrote it for 
Pamphile while we were working in the HDR algorithm.

Please use it with caution : the testing was rather fast and the implementation 
is quite slow, because of several for loop I could not remove.

I wrote it in order to make the algorithm written by Pamphile rely entirely on 
OpenTURNS. The main goal was not to avoid Sklearn, but rather to be able to 
integrate it into OT if later needed (and I think it will be needed soon).

While discussing with Pamphile, we were wondering if the current Karhunen-Love 
algorithm available in OT could be used in order to compute the PCA ?

Best regards,


De : users-boun...@openturns.org [mailto:users-boun...@openturns.org]
Envoyé : mercredi 9 août 2017 09:17
À : users@openturns.org
Objet : Re: [ot-users] Functional curves

nice work!

the black curve is the median right ? I'm confused with the other 2 red ones.


De : users-boun...@openturns.org<mailto:users-boun...@openturns.org> 
<users-boun...@openturns.org<mailto:users-boun...@openturns.org>> de la part de 
Pamphile ROY <r...@cerfacs.fr<mailto:r...@cerfacs.fr>>
Envoyé : mardi 8 août 2017 16:28:28
À : users
Objet : [ot-users] Functional curves

Hi everyone,

Thanks to Michaël Baudin's inputs, I have made a function which enables 
functional plots using openTURNS.
If you don't know this, it is useful when you have lots of 1D curves and you 
want to find the mean curve, outliers, etc.

Here is the GitHub:


and in case, here is the reddit link:


The master branch is making heavy use of scikit-learn instead of OT. This 
choice is motivated by the speed and
by the ability to optimize easily the bandwidth (for kernel smoothing).

The openTURNS branch uses the class ot.KernelSmoothing and the function 
Michaël has done some work for replacing the PCA's class from scikit-learn with 
OT. I will eventually get some time to integrate this (or someone can ;)).

Both branches are tested and slightly documented. Feel free to comment and even 
do pull requests :)


Pamphile ROY

Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à 
l'intention exclusive des destinataires et les informations qui y figurent sont 
strictement confidentielles. Toute utilisation de ce Message non conforme à sa 
destination, toute diffusion ou toute publication totale ou partielle, est 
interdite sauf autorisation expresse.

Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le 
copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si 
vous avez reçu ce Message par erreur, merci de le supprimer de votre système, 
ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support 
que ce soit. Nous vous remercions également d'en avertir immédiatement 
l'expéditeur par retour du message.

Il est impossible de garantir que les communications par messagerie 
électronique arrivent en temps utile, sont sécurisées ou dénuées de toute 
erreur ou virus.

This message and any attachments (the 'Message') are intended solely for the 
addressees. The information contained in this Message is confidential. Any use 
of information contained in this Message not in accord with its purpose, any 
dissemination or disclosure, either whole or partial, is prohibited except 
formal approval.

If you are not the addressee, you may not copy, forward, disclose or use any 
part of it. If you have received this message in error, please delete it and 
all copies from your system and notify the sender immediately by return message.

E-mail communication cannot be guaranteed to be timely secure, error or 

Attachment: PrincipalComponentAnalysisAlgorithm.py
Description: PrincipalComponentAnalysisAlgorithm.py

OpenTURNS users mailing list

Reply via email to