Hi Andrea,
Nice to see you on the list. The theoretical part of the documentation is being 
converted into the new format based on sphinx. In the mean time, you can use 
the old LaTeX documentation 
here:http://doc.openturns.org/old/openturns-1.7/16.03/pdf/OpenTURNS_ReferenceGuide.pdf

Concerning your questions:1) The PenalizedLeastSquaresAlgorithm allows to 
define a general quadratic penalization when used directly, but no penalization 
is done when used through the LeastSquaresStrategy class (and there is no 
penalization based on second derivatives)2) It all depends on what you call 
'performant'. If your model is not sparse, there is no gain in using the LARS 
(Least Angle Regression Stagewise) class, improperly named LAR in the initial 
version of the class. See page 239 in the PDF file.3) In the initial version of 
the PC algorithm (2007), the specifications were to implement only the fixed 
strategy, ie no basis selection. I introduced the SequentialStrategy and 
CleaningStrategy as naive examples of adaptive strategies, and planned to 
implement ridge regression as an evolution of CleaningStrategy, but never found 
the time for it. Now, SequentialStrategy is mainly useless, and 
CleaningStrategy is of marginal interest (it allows to fix the maximum 
complexity of the resulting meta-model but nothing more).
Here is an example of what could be a simplified interface to the 
FunctionalChaosAlgorithm class (not tested ;-)):
import openturns as ot
def learnPC(x, y, inputDistribution, basisSize=10, hyperbolicity=0.7):    
inputDimension = len(x[0])    # Use an isotropic hyperbolic enumerate function 
to favor high marginal degrees    enumerateFunction = 
ot.EnumerateFunction(inputDimension, hyperbolicity)    # Build the adapted 
polynomial basis    orthogonalBasis = 
ot.OrthogonalProductPolynomialFactory([ot.StandardDistributionPolynomialFactory(inputDistribution.getMarginal(i))
 for i in range(inputDimension)], enumerateFunction)    approximationAlgorithm 
= ot.LeastSquaresMetaModelSelectionFactory(ot.LARS(), 
ot.CorrectedLeaveOneOut())    maximumResidual = 1e-10    adaptiveStrategy = 
ot.FixedStrategy(orthogonalBasis, 
enumerateFunction.getStrataCumulatedCardinal(basisSize))    projectionStrategy 
= ot.LeastSquaresStrategy(x, y, approximationAlgorithm)    algo = 
ot.FunctionalChaosAlgorithm(x, y, inputDistribution, adaptiveStrategy, 
projectionStrategy)    algo.setMaximumResidual(maximumResidual)    algo.run()   
 result = algo.getResult()    metaModel = result.getMetaModel()    return 
metaModel, result

Best regards,
Régis
    Le jeudi 31 mai 2018 à 10:26:40 UTC+2, Andrea TRUCCHIA 
<[email protected]> a écrit :  
 
 Dear User Community of OT, 


I am a researcher at CERFACS that is using OT as an important part of his PhD 
thesis.

I have been trying to find a combinations of best procedures that would help me 
giving reasonably good results for a wide range of forest fire simulations, 
having 2 or 3 input parameters. 

The methods I have been using recently for the PC are

- for the Truncature part of the algorithm, an ot.FixedStrategy()  with linear 
EnumerateFunction().  I have planned to try some hyperbolic truncature as soon 
as possible.

-for the ProjectionStrategy, aside from the quadrature method, that is quite 
expensive regarding the number of DOE points to be evaluated, I tried

-- ot.LeastSquareStrategy(X,Y) , the default one that I  imagine is a Penalized 
Least Square algorithm (but without explicitly setting a penalty parameter)
-- ot.LeastSquareStrategy(X, Y, 
LeastSquaresMetaModelSelectionFactory(LARS(),CorrectedLeaveOneOut() )



The questions I have right now are

1) Where can I find some documentation about the Penalized Least Square 
algorithm implemented in LeastSquareStrategy ? Is the penalty applied in the 
code  related to the second derivatives of the response surface?

2) Is the LARS() the most performant algorithm we have in PC right now, in the 
OpenTurns framework? Is there any difference between calling LAR() and LARS() ? 
Where can I find a documentation for the real "flavour" of the LARS() 
implemented?

3) Where can I find some example of the implementation of an AdaptiveStrategy, 
in the form of a  SequentialStrategy or CleaningStrategy ? Talkin about a wide 
range of applications, i.e.  do not dealing with  a specific problem, are they 
worth the effort of their implementation?


Thanks in advance to anyone who will reply


Best Regards

Andrea Trucchia
_______________________________________________
OpenTURNS users mailing list
[email protected]
http://openturns.org/mailman/listinfo/users
  
_______________________________________________
OpenTURNS users mailing list
[email protected]
http://openturns.org/mailman/listinfo/users

Reply via email to