LeastSquaresExpansion¶
- class LeastSquaresExpansion(*args)¶
- L2 approximation on an orthonormal basis using least-squares and a fixed basis. - Available constructors:
- LeastSquaresExpansion(inputSample, outputSample, distribution) - LeastSquaresExpansion(inputSample, weights, outputSample, distribution) - LeastSquaresExpansion(inputSample, outputSample, distribution, basis, basisSize, methodName) - LeastSquaresExpansion(inputSample, weights, outputSample, distribution, basis, basisSize, methodName) 
 - Parameters:
- inputSample2-d sequence of float of size 
- Input sample. 
- weightsequence of float of size , optional 
- Input weights. By default, a uniform weight equals to - is used. 
- outputSample2-d sequence of floats of size 
- Output sample. 
- distributionDistribution
- The distribution associated to the weighted sample (inputSample, weights) 
- basisOrthogonalBasis, optional
- The orthonormal basis of the vector space on which the approximation is built. By default, a basis is built using an hyperbolic enumerate function - HyperbolicAnisotropicEnumerateFunctionassociated to the- norm specified by the FunctionalChaosAlgorithm-QNorm key in - ResourceMap. The basis is obtained through a tensorization of the univariate orthonormal polynomial bases associated to each marginal distributions of distribution.
- basisSizeint, optional
- The size of the basis on which the approximation is built. If not given, it is given by the FunctionalChaosAlgorithm-BasisSize key in - ResourceMapif this value is positive, or as the cardinal of the set of basis functions up to a degree given by the FunctionalChaosAlgorithm-MaximumTotalDegree key in- ResourceMap.
- methodNamestr, optional
- The decomposition method used to solve the least-squares problem, of type - LeastSquaresMethod. If not given, it is given by the LeastSquaresExpansion-DecompositionMethod key in- ResourceMap.
 
- inputSample2-d sequence of float of size 
 - Methods - BuildDistribution(inputSample)- Recover the distribution, with metamodel performance in mind. - Accessor to the active functions in the basis. - Get the adaptive strategy. - Accessor to the object's name. - Accessor to the joint probability density function of the physical input vector. - Accessor to the input sample. - Get the maximum residual. - getName()- Accessor to the object's name. - Accessor to the output sample. - Get the projection strategy. - Get the results of the metamodel computation. - Return the weights of the input sample. - hasName()- Test if the object is named. - run()- Compute the metamodel. - setActiveFunctions(activeFunctions)- Accessor to the active functions in the basis. - setDistribution(distribution)- Accessor to the joint probability density function of the physical input vector. - setMaximumResidual(residual)- Set the maximum residual. - setName(name)- Accessor to the object's name. - setProjectionStrategy(projectionStrategy)- Set the projection strategy. - Examples - Solves a functional linear least squares approximation using residual minimization with QR method: - >>> import openturns as ot >>> g = ot.SymbolicFunction('x', 'sin(x)') >>> distribution = ot.Uniform(-2.0, 2.0) >>> inSample = distribution.getSample(10) >>> outSample = g(inSample) >>> basis = ot.OrthogonalProductPolynomialFactory([ot.LegendreFactory()]) >>> basisSize = 5 >>> algo = ot.LeastSquaresExpansion(inSample, outSample, distribution, basis, basisSize, 'QR') >>> algo.run() - __init__(*args)¶
 - static BuildDistribution(inputSample)¶
- Recover the distribution, with metamodel performance in mind. - For each marginal, find the best 1-d continuous parametric model else fallback to the use of a nonparametric one. - The selection is done as follow: - We start with a list of all parametric models (all factories) 
- For each model, we estimate its parameters if feasible. 
- We check then if model is valid, ie if its Kolmogorov score exceeds a threshold fixed in the MetaModelAlgorithm-PValueThreshold ResourceMap key. Default value is 5% 
- We sort all valid models and return the one with the optimal criterion. 
 - For the last step, the criterion might be BIC, AIC or AICC. The specification of the criterion is done through the MetaModelAlgorithm-ModelSelectionCriterion ResourceMap key. Default value is fixed to BIC. Note that if there is no valid candidate, we estimate a non-parametric model ( - KernelSmoothingor- Histogram). The MetaModelAlgorithm-NonParametricModel ResourceMap key allows selecting the preferred one. Default value is Histogram- One each marginal is estimated, we use the Spearman independence test on each component pair to decide whether an independent copula. In case of non independence, we rely on a - NormalCopula.- Parameters:
- sampleSample
- Input sample. 
 
- sample
- Returns:
- distributionDistribution
- Input distribution. 
 
- distribution
 
 - getActiveFunctions()¶
- Accessor to the active functions in the basis. - Returns:
- activeFunctionssequence of int
- The indices of the functions used for the approximation in the basis. 
 
 
 - getAdaptiveStrategy()¶
- Get the adaptive strategy. - Returns:
- adaptiveStrategyAdaptiveStrategy
- Strategy of selection of the different terms of the multivariate basis. 
 
- adaptiveStrategy
 
 - getClassName()¶
- Accessor to the object’s name. - Returns:
- class_namestr
- The object class name (object.__class__.__name__). 
 
 
 - getDistribution()¶
- Accessor to the joint probability density function of the physical input vector. - Returns:
- distributionDistribution
- Joint probability density function of the physical input vector. 
 
- distribution
 
 - getInputSample()¶
- Accessor to the input sample. - Returns:
- inputSampleSample
- Input sample of a model evaluated apart. 
 
- inputSample
 
 - getMaximumResidual()¶
- Get the maximum residual. - Returns:
- residualfloat
- Residual value needed in the projection strategy. - Default value is - . 
 
 
 - getName()¶
- Accessor to the object’s name. - Returns:
- namestr
- The name of the object. 
 
 
 - getOutputSample()¶
- Accessor to the output sample. - Returns:
- outputSampleSample
- Output sample of a model evaluated apart. 
 
- outputSample
 
 - getProjectionStrategy()¶
- Get the projection strategy. - Returns:
- strategyProjectionStrategy
- Projection strategy. 
 
- strategy
 - Notes - The projection strategy selects the different terms of the multivariate basis to define the subset K. 
 - getResult()¶
- Get the results of the metamodel computation. - Returns:
- resultFunctionalChaosResult
- Result structure, created by the method - run().
 
- result
 
 - getWeights()¶
- Return the weights of the input sample. - Returns:
- weightssequence of float
- The weights of the points in the input sample. 
 
 
 - hasName()¶
- Test if the object is named. - Returns:
- hasNamebool
- True if the name is not empty. 
 
 
 - run()¶
- Compute the metamodel. - Notes - Evaluates the metamodel and stores all the results in a result structure. 
 - setActiveFunctions(activeFunctions)¶
- Accessor to the active functions in the basis. - Parameters:
- activeFunctionssequence of int
- The indices of the functions used for the approximation in the basis. 
 
 
 - setDistribution(distribution)¶
- Accessor to the joint probability density function of the physical input vector. - Parameters:
- distributionDistribution
- Joint probability density function of the physical input vector. 
 
- distribution
 
 - setMaximumResidual(residual)¶
- Set the maximum residual. - Parameters:
- residualfloat
- Residual value needed in the projection strategy. - Default value is - . 
 
 
 - setName(name)¶
- Accessor to the object’s name. - Parameters:
- namestr
- The name of the object. 
 
 
 - setProjectionStrategy(projectionStrategy)¶
- Set the projection strategy. - Parameters:
- projectionStrategyProjectionStrategy
- Strategy to estimate the coefficients - . 
 
- projectionStrategy
 
 
 OpenTURNS
      OpenTURNS