def generate_data(): defectDist = ot.Uniform(0.11, 0.59) epsilon = ot.Normal(0, sigmaEps) def computeSignal(a): a = np.array(a) size = a.size y = beta0 + beta1 * a + np.array(epsilon.getSample(size)) return y defectSupport = defectDist.getSample(N) signal = computeSignal(defectSupport) invBoxCox = ot.InverseBoxCoxTransform(lamb) signalInvBoxCox = invBoxCox(signal) return defectSupport, signalInvBoxCox
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View # Create a Box Cox transformation lambdas = [0.0, 0.1, 1.0, 1.5] graph = ot.Graph("Inverse Box Cox transformations", 'x', 'y', True) for i in range(len(lambdas)): iBoxCoxT = ot.InverseBoxCoxTransform(lambdas[i]) graph.add(iBoxCoxT.draw(0.1, 2.1)) graph.setColors(['red', 'blue', 'black', 'green']) graph.setLegends(['lambda = ' + str(lam) for lam in lambdas]) graph.setLegendPosition("topleft") fig = plt.figure(figsize=(8, 4)) axis = fig.add_subplot(111) axis.set_xlim(auto=True) View(graph, figure=fig, axes=[axis], add_legend=True)
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View # Create a Box Cox transformation myLambda = ot.NumericalPoint([0.0, 0.1, 1.0, 1.5]) graph = ot.Graph() for i in range(myLambda.getDimension()): myBoxCox = ot.InverseBoxCoxTransform(myLambda[i]) graph.add(myBoxCox.draw(0.1, 2.1)) graph.setColors(['red', 'blue', 'black', 'green']) graph.setLegends(['lambda = ' + str(lam) for lam in myLambda]) graph.setLegendPosition("topleft") fig = plt.figure(figsize=(8, 4)) plt.suptitle("Inverse Box Cox transformations") axis = fig.add_subplot(111) axis.set_xlim(auto=True) View(graph, figure=fig, axes=[axis], add_legend=True)