.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/plot_05_simulate.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_plot_05_simulate.py: Simulating Data with Leaspy ===================================================== This example demonstrates how to use Leaspy to simulate longitudinal data based on a fitted model. .. GENERATED FROM PYTHON SOURCE LINES 9-11 The following imports bring in the required modules and load the synthetic Parkinson dataset from Leaspy. A logistic model will be fitted on this dataset and then used to simulate new longitudinal data. .. GENERATED FROM PYTHON SOURCE LINES 11-16 .. code-block:: Python from leaspy.datasets import load_dataset from leaspy.io.data import Data df = load_dataset("parkinson") .. GENERATED FROM PYTHON SOURCE LINES 17-19 The clinical and imaging features of interest are selected and the DataFrame is converted into a Leaspy `Data` object that can be used for model fitting. .. GENERATED FROM PYTHON SOURCE LINES 19-36 .. code-block:: Python data = Data.from_dataframe( df[ [ "MDS1_total", "MDS2_total", "MDS3_off_total", "SCOPA_total", "MOCA_total", "REM_total", "PUTAMEN_R", "PUTAMEN_L", "CAUDATE_R", "CAUDATE_L", ] ] ) .. GENERATED FROM PYTHON SOURCE LINES 37-38 A logistic model with a two-dimensional latent space is initialized. .. GENERATED FROM PYTHON SOURCE LINES 38-42 .. code-block:: Python from leaspy.models import LogisticModel model = LogisticModel(name="test-model", source_dimension=2) .. GENERATED FROM PYTHON SOURCE LINES 43-45 The model is fitted to the data using the MCMC-SAEM algorithm. A fixed seed is used for reproducibility and 100 iterations are performed. .. GENERATED FROM PYTHON SOURCE LINES 45-52 .. code-block:: Python model.fit( data, "mcmc_saem", n_iter=100, progress_bar=False, ) .. rst-class:: sphx-glr-script-out .. code-block:: none Fit with `AlgorithmName.FIT_MCMC_SAEM` took: 7s .. GENERATED FROM PYTHON SOURCE LINES 53-55 The parameters for simulating patient visits are defined. These parameters specify the number of patients, the visit spacing, and the timing variability. .. GENERATED FROM PYTHON SOURCE LINES 55-69 .. code-block:: Python visit_params = { "patient_number": 5, "visit_type": "random", # The visit type could also be 'dataframe' with df_visits. # "df_visits": df_test # Example for custom visit schedule. "first_visit_mean": 0.0, # The mean of the first visit age/time. "first_visit_std": 0.4, # The standard deviation of the first visit age/time. "time_follow_up_mean": 11, # The mean follow-up time. "time_follow_up_std": 0.5, # The standard deviation of the follow-up time. "distance_visit_mean": 2 / 12, # The mean spacing between visits in years. "distance_visit_std": 0.75 / 12, # The standard deviation of the spacing between visits in years. "min_spacing_between_visits": 1, # The minimum allowed spacing between visits. } .. GENERATED FROM PYTHON SOURCE LINES 70-71 A new longitudinal dataset is simulated from the fitted model using the specified parameters. .. GENERATED FROM PYTHON SOURCE LINES 71-88 .. code-block:: Python df_sim = model.simulate( algorithm="simulate", features=[ "MDS1_total", "MDS2_total", "MDS3_off_total", "SCOPA_total", "MOCA_total", "REM_total", "PUTAMEN_R", "PUTAMEN_L", "CAUDATE_R", "CAUDATE_L", ], visit_parameters=visit_params, ) .. rst-class:: sphx-glr-script-out .. code-block:: none Simulate with `simulate` took: 0s .. GENERATED FROM PYTHON SOURCE LINES 89-90 The simulated data is converted back to a pandas DataFrame for inspection. .. GENERATED FROM PYTHON SOURCE LINES 90-92 .. code-block:: Python df_sim = df_sim.data.to_dataframe() .. GENERATED FROM PYTHON SOURCE LINES 93-94 The simulated longitudinal dataset is displayed below. .. GENERATED FROM PYTHON SOURCE LINES 94-95 .. code-block:: Python print(df_sim) .. rst-class:: sphx-glr-script-out .. code-block:: none ID TIME MDS1_total MDS2_total ... PUTAMEN_R PUTAMEN_L CAUDATE_R CAUDATE_L 0 0 59.0 0.189939 0.112294 ... 0.610849 0.806895 0.347635 0.404080 1 0 60.0 0.194089 0.066156 ... 0.501993 0.776347 0.540903 0.561378 2 0 61.0 0.030512 0.175505 ... 0.717203 0.693641 0.370752 0.572413 3 0 62.0 0.119541 0.156830 ... 0.738911 0.726752 0.502189 0.493689 4 0 63.0 0.086805 0.224038 ... 0.786160 0.829731 0.566986 0.551572 5 0 64.0 0.141513 0.291274 ... 0.782231 0.841130 0.720109 0.607043 6 0 65.0 0.272452 0.286645 ... 0.895019 0.820283 0.824561 0.606303 7 0 66.0 0.245043 0.258475 ... 0.807644 0.911036 0.743751 0.780685 8 0 67.0 0.277930 0.157324 ... 0.809695 0.913771 0.662261 0.870641 9 0 68.0 0.308450 0.328545 ... 0.804564 0.830837 0.670492 0.796148 10 0 69.0 0.324895 0.325250 ... 0.850327 0.858201 0.868501 0.927926 11 0 70.0 0.319666 0.443039 ... 0.911180 0.931071 0.861369 0.830026 12 1 65.0 0.121414 0.222224 ... 0.828942 0.691873 0.564565 0.688706 13 1 66.0 0.040760 0.108624 ... 0.814398 0.876737 0.519739 0.474029 14 1 67.0 0.129288 0.455297 ... 0.854192 0.906250 0.675482 0.615470 15 1 68.0 0.044313 0.160242 ... 0.849999 0.893450 0.820203 0.594268 16 1 69.0 0.045160 0.169726 ... 0.770018 0.696688 0.718772 0.722142 17 1 70.0 0.047836 0.194882 ... 0.907968 0.855295 0.814611 0.688449 18 1 71.0 0.065118 0.138083 ... 0.763811 0.626895 0.874124 0.846976 19 1 72.0 0.195403 0.198115 ... 0.936061 0.969157 0.850622 0.782209 20 1 73.0 0.055530 0.149858 ... 0.837723 0.962256 0.879176 0.752671 21 1 74.0 0.260755 0.291046 ... 0.860677 0.831510 0.696963 0.867249 22 1 75.0 0.264688 0.161277 ... 0.913787 0.941464 0.720730 0.838277 23 1 76.0 0.098442 0.186268 ... 0.900725 0.875494 0.869940 0.942322 24 2 68.0 0.182791 0.086153 ... 0.577744 0.629605 0.467519 0.532292 25 2 69.0 0.243044 0.070629 ... 0.887326 0.751850 0.550713 0.550929 26 2 70.0 0.118436 0.119586 ... 0.808526 0.891738 0.509327 0.726000 27 2 71.0 0.261068 0.221197 ... 0.663529 0.844126 0.825212 0.682973 28 2 72.0 0.256566 0.512039 ... 0.899953 0.938835 0.772484 0.662235 29 2 73.0 0.428748 0.240621 ... 0.726195 0.897710 0.860066 0.859125 30 2 74.0 0.326572 0.509671 ... 0.863287 0.873742 0.849937 0.863990 31 2 75.0 0.525620 0.434300 ... 0.991943 0.922922 0.860801 0.867301 32 2 76.0 0.430416 0.471770 ... 0.969796 0.961168 0.964843 0.957182 33 2 77.0 0.622178 0.624307 ... 0.998086 0.993630 0.992073 0.766310 34 2 78.0 0.581200 0.632386 ... 0.992706 0.962883 0.747308 0.999341 35 3 56.0 0.134610 0.124035 ... 0.717391 0.731399 0.534670 0.342360 36 3 57.0 0.078028 0.236096 ... 0.780150 0.736094 0.476870 0.350677 37 3 58.0 0.080540 0.235337 ... 0.743304 0.721075 0.494028 0.464229 38 3 59.0 0.246473 0.286679 ... 0.608832 0.675320 0.360504 0.405648 39 3 60.0 0.157468 0.184091 ... 0.798021 0.695018 0.626350 0.620815 40 3 61.0 0.447728 0.423680 ... 0.791102 0.751383 0.525980 0.488774 41 3 62.0 0.292670 0.243179 ... 0.811854 0.711317 0.614433 0.697378 42 3 63.0 0.280289 0.192707 ... 0.930976 0.875044 0.637860 0.566104 43 3 64.0 0.290556 0.348490 ... 0.774849 0.850594 0.586130 0.646002 44 3 65.0 0.233718 0.353004 ... 0.896448 0.782456 0.776951 0.701641 45 3 66.0 0.383449 0.168052 ... 0.822230 0.946817 0.715118 0.760198 46 3 67.0 0.493583 0.394476 ... 0.902239 0.952384 0.833269 0.810425 47 3 68.0 0.376743 0.231466 ... 0.652938 0.855918 0.755145 0.764546 48 4 71.0 0.101106 0.168326 ... 0.814374 0.781793 0.525062 0.340506 49 4 72.0 0.246301 0.112069 ... 0.519374 0.665495 0.510266 0.452574 50 4 73.0 0.134864 0.161323 ... 0.894641 0.645769 0.476589 0.489455 51 4 74.0 0.123802 0.290941 ... 0.720495 0.768238 0.399612 0.400241 52 4 75.0 0.134085 0.119196 ... 0.827463 0.852753 0.563742 0.568400 53 4 76.0 0.376549 0.225019 ... 0.776040 0.589515 0.560445 0.393720 54 4 77.0 0.390951 0.323386 ... 0.862339 0.707368 0.675938 0.377041 55 4 78.0 0.339961 0.216669 ... 0.827882 0.891702 0.611568 0.641374 56 4 79.0 0.224103 0.276478 ... 0.760263 0.879511 0.680437 0.531347 57 4 80.0 0.294964 0.381846 ... 0.863098 0.739219 0.706242 0.659499 58 4 81.0 0.128703 0.198115 ... 0.812475 0.771272 0.799491 0.599024 59 4 82.0 0.325457 0.293852 ... 0.822453 0.874950 0.778589 0.672610 [60 rows x 12 columns] .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 7.327 seconds) .. _sphx_glr_download_auto_examples_plot_05_simulate.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_05_simulate.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_05_simulate.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_05_simulate.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_