LinearLeastSquares¶
- class LinearLeastSquares(*args)¶
- First order polynomial response surface by least squares. - Parameters:
- dataIn2-d sequence of float
- Input data. 
- dataOut2-d sequence of float
- Output data. If not specified, this sample is computed such as: - . 
 
 - Methods - Accessor to the object's name. - Get the constant vector of the approximation. - Get the input data. - Get the output data. - Get the linear matrix of the approximation. - Get an approximation of the function. - getName()- Accessor to the object's name. - hasName()- Test if the object is named. - run()- Perform the least squares approximation. - setDataOut(dataOut)- Set the output data. - setName(name)- Accessor to the object's name. - See also - Notes - Instead of replacing the model response - for a local approximation around a given set - of input parameters as in Taylor approximations, one may seek a global approximation of - over its whole domain of definition. A common choice to this end is global polynomial approximation. - We consider here a global approximation of the model response using a linear function: - where - is a set of unknown coefficients and the family - gathers the constant monomial - and the monomials of degree one - . Using the vector notation - and - , this rewrites: - A global approximation of the model response over its whole definition domain is sought. To this end, the coefficients - may be computed using a least squares regression approach. In this context, an experimental design - , i.e. a set of realizations of input parameters is required, as well as the corresponding model evaluations - . - The following minimization problem has to be solved: - The solution is given by: - where: - Examples - >>> import openturns as ot >>> formulas = ['cos(x1 + x2)', '(x2 + 1) * exp(x1 - 2 * x2)'] >>> f = ot.SymbolicFunction(['x1', 'x2'], formulas) >>> X = [[0.5,0.5], [-0.5,-0.5], [-0.5,0.5], [0.5,-0.5]] >>> X += [[0.25,0.25], [-0.25,-0.25], [-0.25,0.25], [0.25,-0.25]] >>> Y = f(X) >>> myLeastSquares = ot.LinearLeastSquares(X, Y) >>> myLeastSquares.run() >>> mm = myLeastSquares.getMetaModel() >>> x = [0.1, 0.1] >>> y = mm(x) - __init__(*args)¶
 - getClassName()¶
- Accessor to the object’s name. - Returns:
- class_namestr
- The object class name (object.__class__.__name__). 
 
 
 - getConstant()¶
- Get the constant vector of the approximation. - Returns:
- constantVectorPoint
- Constant vector of the approximation, equal to - . 
 
- constantVector
 
 - getDataOut()¶
- Get the output data. - Returns:
- dataOutSample
- Output data. If not specified in the constructor, the sample is computed such as: - . 
 
- dataOut
 
 - getLinear()¶
- Get the linear matrix of the approximation. - Returns:
- linearMatrixMatrix
- Linear matrix of the approximation of the function - . 
 
- linearMatrix
 
 - getMetaModel()¶
- Get an approximation of the function. - Returns:
- approximationFunction
- An approximation of the function - by Linear Least Squares. 
 
- approximation
 
 - getName()¶
- Accessor to the object’s name. - Returns:
- namestr
- The name of the object. 
 
 
 - hasName()¶
- Test if the object is named. - Returns:
- hasNamebool
- True if the name is not empty. 
 
 
 - run()¶
- Perform the least squares approximation. 
 - setDataOut(dataOut)¶
- Set the output data. - Parameters:
- dataOut2-d sequence of float
- Output data. 
 
 
 - setName(name)¶
- Accessor to the object’s name. - Parameters:
- namestr
- The name of the object. 
 
 
 
 OpenTURNS
      OpenTURNS