.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/smoothing/plot_smooth_data_2d.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_smoothing_plot_smooth_data_2d.py: Smoothing of dense two-dimensional functional data ================================================== .. GENERATED FROM PYTHON SOURCE LINES 6-17 .. code-block:: Python # Author: Steven Golovkine # License: MIT # Load packages import numpy as np from FDApy.representation import DenseArgvals from FDApy.simulation import KarhunenLoeve from FDApy.visualization import plot .. GENERATED FROM PYTHON SOURCE LINES 18-19 The package includes different smoothing methods to smooth functional data. In this section, we are showing the building blocks of the smoothing of dense two-dimensional functional data. First, we simulate functional data using the Karhunen-Loève decomposition using B-splines basis functions. We then add some noise to the simulation. .. GENERATED FROM PYTHON SOURCE LINES 19-43 .. code-block:: Python # Set general parameters rng = 42 n_obs = 4 # Parameters of the basis name = ("bsplines", "bsplines") n_functions = (5, 5) argvals = DenseArgvals({ "input_dim_0": np.linspace(0, 1, 51), "input_dim_1": np.linspace(0, 1, 51) }) kl = KarhunenLoeve( basis_name=name, argvals=argvals, n_functions=n_functions, random_state=rng ) kl.new(n_obs=n_obs) data = kl.data # Add some noise to the simulation. kl.add_noise(0.05) .. GENERATED FROM PYTHON SOURCE LINES 44-45 Smoothing two-dimensional functional data is similar to smoothing one-dimensional functional data. The main difference is that the smoothing is done in two dimensions. In this example, we will smooth the noisy data using the :func:`~FDApy.representation.DenseFunctionalData.smooth` function. This function allows to smooth the data using different methods such as local polynomials and P-splines. In this example, we will use the local polynomials smoothing method with an Epanechnikov kernel and a bandwidth of :math:`0.5`. We plot the smoothed data. .. GENERATED FROM PYTHON SOURCE LINES 45-64 .. code-block:: Python # Smooth the data points = DenseArgvals({ "input_dim_0": np.linspace(0, 1, 11), "input_dim_1": np.linspace(0, 1, 11) }) kernel_name = "epanechnikov" bandwidth = 0.5 degree = 1 data_smooth = kl.noisy_data.smooth( points=points, method="LP", kernel_name=kernel_name, bandwidth=bandwidth, degree=degree, ) _ = plot(data_smooth) .. image-sg:: /auto_examples/smoothing/images/sphx_glr_plot_smooth_data_2d_001.png :alt: plot smooth data 2d :srcset: /auto_examples/smoothing/images/sphx_glr_plot_smooth_data_2d_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.235 seconds) .. _sphx_glr_download_auto_examples_smoothing_plot_smooth_data_2d.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_smooth_data_2d.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_smooth_data_2d.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_smooth_data_2d.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_