.. only:: html
.. note::
:class: sphx-glr-download-link-note
Click :ref:`here ` to download the full example code
.. rst-class:: sphx-glr-example-title
.. _sphx_glr_auto_probabilistic_modeling_stochastic_processes_plot_processsample_manipulation.py:
Process sample manipulation
===========================
.. code-block:: default
# sphinx_gallery_thumbnail_number = 2
The objective here is to create and manipulate a process sample. A process sample is a collection of fields which share the same mesh :math:`\mathcal{M} \in \mathbb{R}^n`.
A process sample can be obtained as :math:`K` realizations of a multivariate stochastic process :math:`X: \Omega \times \mathcal{D} \rightarrow \mathbb{R}^d` of dimension :math:`d` where :math:`\mathcal{D} \in \mathbb{R}^n`, when the realizations are discretized on the same mesh :math:`\mathcal{M}` of :math:`\mathcal{D}`. The values :math:`(\underline{x}_0^k, \dots, \underline{x}_{N-1}^k)` of the field :math:`k` are defined by:
.. math::
\forall i \in [0, N-1],\quad \underline{x}_i= X(\omega_k)(\underline{t}_i)
.. code-block:: default
from __future__ import print_function
import openturns as ot
import openturns.viewer as viewer
from matplotlib import pylab as plt
import math as m
ot.Log.Show(ot.Log.NONE)
First, define a regular 2-d mesh
.. code-block:: default
discretization = [10, 5]
mesher = ot.IntervalMesher(discretization)
lowerBound = [0.0, 0.0]
upperBound = [2.0, 1.0]
interval = ot.Interval(lowerBound, upperBound)
mesh = mesher.build(interval)
mesh = ot.RegularGrid(0.0, 0.01, 100)
graph = mesh.draw()
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_processsample_manipulation_001.png
:alt: Mesh Unnamed
:class: sphx-glr-single-img
Allocate a process sample from a field
.. code-block:: default
field = ot.Field()
sampleSize = 10
processSample = ot.ProcessSample(sampleSize, field)
#field.draw()
Create a process sample as realizations of a process
.. code-block:: default
amplitude = [1.0]
scale = [0.2]*1
myCovModel = ot.ExponentialModel(scale, amplitude)
myProcess = ot.GaussianProcess(myCovModel, mesh)
processSample = myProcess.getSample(10)
#processSample
draw the sample, without interpolation
.. code-block:: default
graph = processSample.drawMarginal(0, False)
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_processsample_manipulation_002.png
:alt: Unnamed - 0 marginal
:class: sphx-glr-single-img
draw the sample, with interpolation
.. code-block:: default
graph = processSample.drawMarginal(0)
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_processsample_manipulation_003.png
:alt: Unnamed - 0 marginal
:class: sphx-glr-single-img
Compute the mean of the process sample
The result is a field
.. code-block:: default
graph = processSample.computeMean().drawMarginal()
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_processsample_manipulation_004.png
:alt: Unnamed - 0 marginal
:class: sphx-glr-single-img
Draw the quantile field
.. code-block:: default
graph = processSample.computeQuantilePerComponent(0.9).drawMarginal(0)
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_processsample_manipulation_005.png
:alt: Unnamed - 0 marginal
:class: sphx-glr-single-img
Draw the field with interpolation
.. code-block:: default
graph = processSample.drawMarginal(0)
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_processsample_manipulation_006.png
:alt: Unnamed - 0 marginal
:class: sphx-glr-single-img
processSample
.. code-block:: default
plt.show()
.. rst-class:: sphx-glr-timing
**Total running time of the script:** ( 0 minutes 0.557 seconds)
.. _sphx_glr_download_auto_probabilistic_modeling_stochastic_processes_plot_processsample_manipulation.py:
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-example
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download Python source code: plot_processsample_manipulation.py `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download Jupyter notebook: plot_processsample_manipulation.ipynb `
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery `_