{ "cells": [ { "cell_type": "markdown", "id": "a79eaad5-5e70-47ba-8527-f5df267d1de4", "metadata": {}, "source": [ "# Cross validation with `scikit-learn`\n", "\n", "This example shows how `pykoop` works with `scikit-learn` to allow cross-validation over all parameters in the Koopman pipeline." ] }, { "cell_type": "code", "execution_count": 1, "id": "53030cd1-edcc-4cea-b2bb-d24989ee2a2c", "metadata": {}, "outputs": [], "source": [ "# Imports\n", "import numpy as np\n", "import pandas\n", "import sklearn.model_selection\n", "import sklearn.preprocessing\n", "from matplotlib import pyplot as plt\n", "\n", "import pykoop\n", "import pykoop.dynamic_models\n", "\n", "# Set plot defaults\n", "plt.rc('lines', linewidth=2)\n", "plt.rc('axes', grid=True)\n", "plt.rc('grid', linestyle='--')" ] }, { "cell_type": "markdown", "id": "d8e334c3-9094-4a19-a961-f5a4f179d6c8", "metadata": {}, "source": [ "Load example data from the library. `eg` is a `dict` containing training data, validation data, and a few related parameters." ] }, { "cell_type": "code", "execution_count": 2, "id": "0d762dcd-4e7c-44bf-a5a4-06c6675fe2b4", "metadata": {}, "outputs": [], "source": [ "eg = pykoop.example_data_msd()" ] }, { "cell_type": "markdown", "id": "540f9278-1122-4959-8131-4f3031eca4b8", "metadata": {}, "source": [ "Create the Koopman pipeline. We don't need to set any lifting functions since they'll be set during the cross-validation." ] }, { "cell_type": "code", "execution_count": 3, "id": "a3a6f0e6-4047-4762-8b25-226bb4b30d83", "metadata": {}, "outputs": [], "source": [ "kp = pykoop.KoopmanPipeline(regressor=pykoop.Edmd())" ] }, { "cell_type": "markdown", "id": "b5d89a1c-2438-479a-b225-c48613b01995", "metadata": {}, "source": [ "Set up the cross-validation splitting. Here we use the episode feature to ensure that the split keeps individual experiments intact." ] }, { "cell_type": "code", "execution_count": 4, "id": "e2096c1d-3817-41a5-ba8b-3b0f2bb2340a", "metadata": {}, "outputs": [], "source": [ "episode_feature = eg['X_train'][:, 0]\n", "cv = sklearn.model_selection.GroupShuffleSplit(\n", " random_state=1234,\n", " n_splits=3,\n", ").split(eg['X_train'], groups=episode_feature)" ] }, { "cell_type": "markdown", "id": "80831684-dc4a-41a3-9753-a9c80427f459", "metadata": {}, "source": [ "Choose the cross-validation parameters. We can cross-validate over entire lifting functions, or just specific regressor or lifting function parameters using the `scikit-learn` parameter setting conventions." ] }, { "cell_type": "code", "execution_count": 5, "id": "802b9497-a1a5-426e-b089-07d778207149", "metadata": {}, "outputs": [], "source": [ "params = {\n", " # Lifting functions to try\n", " 'lifting_functions': [\n", " [(\n", " 'ss',\n", " pykoop.SkLearnLiftingFn(\n", " sklearn.preprocessing.StandardScaler()),\n", " )],\n", " [\n", " (\n", " 'ma',\n", " pykoop.SkLearnLiftingFn(\n", " sklearn.preprocessing.MaxAbsScaler()),\n", " ),\n", " (\n", " 'pl',\n", " pykoop.PolynomialLiftingFn(order=2),\n", " ),\n", " (\n", " 'ss',\n", " pykoop.SkLearnLiftingFn(\n", " sklearn.preprocessing.StandardScaler()),\n", " ),\n", " ],\n", " ],\n", " # Regressor parameters to try\n", " 'regressor__alpha': [0, 0.1, 1, 10],\n", "}" ] }, { "cell_type": "markdown", "id": "b8629847-03ab-4b85-91ea-d64b1813b53c", "metadata": {}, "source": [ "Set up the grid search cross-validation. We have multiple scoring metrics over different time windows, but we choose the \"ten step ahead\" prediction ranking and refitting." ] }, { "cell_type": "code", "execution_count": 6, "id": "21376df6-a3c4-42c4-ab60-8e94e052ba0b", "metadata": {}, "outputs": [], "source": [ "gs = sklearn.model_selection.GridSearchCV(\n", " kp,\n", " params,\n", " cv=cv,\n", " # Score using short and long prediction time frames\n", " scoring={\n", " f'full_episode': pykoop.KoopmanPipeline.make_scorer(),\n", " f'ten_steps': pykoop.KoopmanPipeline.make_scorer(n_steps=10),\n", " },\n", " # Rank according to short time frame\n", " refit='ten_steps',\n", ")" ] }, { "cell_type": "markdown", "id": "0667f03a-e4a8-4ee4-b74f-430a54e81eeb", "metadata": {}, "source": [ "Perform the cross-valdiation and pick the winner." ] }, { "cell_type": "code", "execution_count": 7, "id": "07bcb7bc-0881-49da-a99c-8408028c9f86", "metadata": {}, "outputs": [], "source": [ "gs.fit(\n", " eg['X_train'],\n", " n_inputs=eg['n_inputs'],\n", " episode_feature=eg['episode_feature'],\n", ")\n", "best_estimator = gs.best_estimator_" ] }, { "cell_type": "markdown", "id": "a6236025-6f40-4d87-96a9-a1d2f4285124", "metadata": {}, "source": [ "This is the matrix approximation of the Koopman operator. It needs to be transposed because `scikit-learn` puts time on the first axis and features on the second." ] }, { "cell_type": "code", "execution_count": 8, "id": "d506a09e-e5d4-4fdb-90e1-4d3699c51b5a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 9.91883440e-01, 8.94273868e-02, 1.79097934e-04,\n", " -3.13640303e-04, -2.95548469e-03, 9.70314627e-03,\n", " -9.98717276e-05, 4.42764949e-03, -1.60312780e-03],\n", " [-1.43815421e-01, 8.73130869e-01, -7.37399270e-04,\n", " -5.08492758e-03, -8.62861954e-03, 1.48763701e-01,\n", " 4.77555077e-03, 1.52077930e-02, -7.06918061e-03],\n", " [ 2.31449054e-04, 4.66948082e-06, 9.82608512e-01,\n", " 1.41282965e-01, 9.42406644e-03, 8.19992260e-05,\n", " 1.93299275e-02, 1.27826191e-03, -1.11644849e-03],\n", " [-1.77900783e-04, -1.75636014e-03, -1.76376390e-01,\n", " 8.48278785e-01, 9.60773702e-02, 1.96343500e-03,\n", " 1.43159804e-01, 3.21235551e-02, -2.91522952e-03],\n", " [ 4.36902662e-04, 1.68738238e-03, 2.18075712e-02,\n", " -1.93181000e-01, 7.61323258e-01, -2.19676979e-03,\n", " -3.54741406e-02, 2.35737972e-01, 1.35329508e-02]])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "best_estimator.regressor_.coef_.T" ] }, { "cell_type": "markdown", "id": "c8567565-3e8b-45b2-9847-90fcb9ba39f4", "metadata": {}, "source": [ "These are the cross-validation results summarized in a big table. Scores are negated mean squared errors." ] }, { "cell_type": "code", "execution_count": 9, "id": "7dc8a2d6-4c51-4186-9992-811b53832648", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mean_fit_timestd_fit_timemean_score_timestd_score_timeparam_lifting_functionsparam_regressor__alphaparamssplit0_test_full_episodesplit1_test_full_episodesplit2_test_full_episodemean_test_full_episodestd_test_full_episoderank_test_full_episodesplit0_test_ten_stepssplit1_test_ten_stepssplit2_test_ten_stepsmean_test_ten_stepsstd_test_ten_stepsrank_test_ten_steps
00.0021290.0010620.0947160.012392[(ss, SkLearnLiftingFn(transformer=StandardSca...0{'lifting_functions': [('ss', SkLearnLiftingFn...-0.000396-0.000421-0.000683-0.0005000.0001304-0.000142-0.000153-0.000406-0.0002330.0001223
10.0015220.0003900.0962140.015442[(ss, SkLearnLiftingFn(transformer=StandardSca...0.1{'lifting_functions': [('ss', SkLearnLiftingFn...-0.000427-0.000373-0.000653-0.0004850.0001212-0.000138-0.000110-0.000361-0.0002030.0001122
20.0017140.0002550.0945660.005554[(ss, SkLearnLiftingFn(transformer=StandardSca...1{'lifting_functions': [('ss', SkLearnLiftingFn...-0.000745-0.000440-0.000645-0.0006100.0001275-0.000140-0.000507-0.000124-0.0002570.0001774
30.0016590.0005840.0891890.012520[(ss, SkLearnLiftingFn(transformer=StandardSca...10{'lifting_functions': [('ss', SkLearnLiftingFn...-0.001322-0.004338-0.003608-0.0030890.0012857-0.000290-0.003897-0.000205-0.0014640.0017217
40.0029780.0006350.1859430.011038[(ma, SkLearnLiftingFn(transformer=MaxAbsScale...0{'lifting_functions': [('ma', SkLearnLiftingFn...-0.000314-0.000411-0.000644-0.0004560.0001381-0.000230-0.000217-0.000369-0.0002720.0000695
50.0038030.0016850.2404370.058409[(ma, SkLearnLiftingFn(transformer=MaxAbsScale...0.1{'lifting_functions': [('ma', SkLearnLiftingFn...-0.000467-0.000384-0.000628-0.0004930.0001013-0.000199-0.000166-0.000120-0.0001620.0000321
60.0030410.0006200.2407460.083650[(ma, SkLearnLiftingFn(transformer=MaxAbsScale...1{'lifting_functions': [('ma', SkLearnLiftingFn...-0.002445-0.001038-0.002982-0.0021550.0008196-0.000429-0.003733-0.000212-0.0014580.0016116
70.0056390.0026750.2373060.016316[(ma, SkLearnLiftingFn(transformer=MaxAbsScale...10{'lifting_functions': [('ma', SkLearnLiftingFn...-0.004469-0.004848-0.003980-0.0044320.0003558-0.001622-0.007135-0.000664-0.0031400.0028528
\n", "
" ], "text/plain": [ " mean_fit_time std_fit_time mean_score_time std_score_time \\\n", "0 0.002129 0.001062 0.094716 0.012392 \n", "1 0.001522 0.000390 0.096214 0.015442 \n", "2 0.001714 0.000255 0.094566 0.005554 \n", "3 0.001659 0.000584 0.089189 0.012520 \n", "4 0.002978 0.000635 0.185943 0.011038 \n", "5 0.003803 0.001685 0.240437 0.058409 \n", "6 0.003041 0.000620 0.240746 0.083650 \n", "7 0.005639 0.002675 0.237306 0.016316 \n", "\n", " param_lifting_functions param_regressor__alpha \\\n", "0 [(ss, SkLearnLiftingFn(transformer=StandardSca... 0 \n", "1 [(ss, SkLearnLiftingFn(transformer=StandardSca... 0.1 \n", "2 [(ss, SkLearnLiftingFn(transformer=StandardSca... 1 \n", "3 [(ss, SkLearnLiftingFn(transformer=StandardSca... 10 \n", "4 [(ma, SkLearnLiftingFn(transformer=MaxAbsScale... 0 \n", "5 [(ma, SkLearnLiftingFn(transformer=MaxAbsScale... 0.1 \n", "6 [(ma, SkLearnLiftingFn(transformer=MaxAbsScale... 1 \n", "7 [(ma, SkLearnLiftingFn(transformer=MaxAbsScale... 10 \n", "\n", " params \\\n", "0 {'lifting_functions': [('ss', SkLearnLiftingFn... \n", "1 {'lifting_functions': [('ss', SkLearnLiftingFn... \n", "2 {'lifting_functions': [('ss', SkLearnLiftingFn... \n", "3 {'lifting_functions': [('ss', SkLearnLiftingFn... \n", "4 {'lifting_functions': [('ma', SkLearnLiftingFn... \n", "5 {'lifting_functions': [('ma', SkLearnLiftingFn... \n", "6 {'lifting_functions': [('ma', SkLearnLiftingFn... \n", "7 {'lifting_functions': [('ma', SkLearnLiftingFn... \n", "\n", " split0_test_full_episode split1_test_full_episode \\\n", "0 -0.000396 -0.000421 \n", "1 -0.000427 -0.000373 \n", "2 -0.000745 -0.000440 \n", "3 -0.001322 -0.004338 \n", "4 -0.000314 -0.000411 \n", "5 -0.000467 -0.000384 \n", "6 -0.002445 -0.001038 \n", "7 -0.004469 -0.004848 \n", "\n", " split2_test_full_episode mean_test_full_episode std_test_full_episode \\\n", "0 -0.000683 -0.000500 0.000130 \n", "1 -0.000653 -0.000485 0.000121 \n", "2 -0.000645 -0.000610 0.000127 \n", "3 -0.003608 -0.003089 0.001285 \n", "4 -0.000644 -0.000456 0.000138 \n", "5 -0.000628 -0.000493 0.000101 \n", "6 -0.002982 -0.002155 0.000819 \n", "7 -0.003980 -0.004432 0.000355 \n", "\n", " rank_test_full_episode split0_test_ten_steps split1_test_ten_steps \\\n", "0 4 -0.000142 -0.000153 \n", "1 2 -0.000138 -0.000110 \n", "2 5 -0.000140 -0.000507 \n", "3 7 -0.000290 -0.003897 \n", "4 1 -0.000230 -0.000217 \n", "5 3 -0.000199 -0.000166 \n", "6 6 -0.000429 -0.003733 \n", "7 8 -0.001622 -0.007135 \n", "\n", " split2_test_ten_steps mean_test_ten_steps std_test_ten_steps \\\n", "0 -0.000406 -0.000233 0.000122 \n", "1 -0.000361 -0.000203 0.000112 \n", "2 -0.000124 -0.000257 0.000177 \n", "3 -0.000205 -0.001464 0.001721 \n", "4 -0.000369 -0.000272 0.000069 \n", "5 -0.000120 -0.000162 0.000032 \n", "6 -0.000212 -0.001458 0.001611 \n", "7 -0.000664 -0.003140 0.002852 \n", "\n", " rank_test_ten_steps \n", "0 3 \n", "1 2 \n", "2 4 \n", "3 7 \n", "4 5 \n", "5 1 \n", "6 6 \n", "7 8 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pandas.DataFrame(gs.cv_results_)" ] }, { "cell_type": "markdown", "id": "991822f5-4611-4f47-8881-9b604d16e13e", "metadata": {}, "source": [ "This was the winner" ] }, { "cell_type": "code", "execution_count": 10, "id": "0e802339-af81-4774-9bdd-8b7ce38b66d8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "KoopmanPipeline(lifting_functions=[('ma',\n", " SkLearnLiftingFn(transformer=MaxAbsScaler())),\n", " ('pl', PolynomialLiftingFn(order=2)),\n", " ('ss',\n", " SkLearnLiftingFn(transformer=StandardScaler()))],\n", " regressor=Edmd(alpha=0.1))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "best_estimator" ] }, { "cell_type": "markdown", "id": "5f7ad1de-9ac8-480a-bda9-2ac5ec527fd0", "metadata": {}, "source": [ "Predict a new trajectory using the best pipeline." ] }, { "cell_type": "code", "execution_count": 11, "id": "c8cda953-c792-4af9-a3c3-784bac40d208", "metadata": {}, "outputs": [], "source": [ "X_pred = best_estimator.predict_trajectory(eg['x0_valid'], eg['u_valid'])" ] }, { "cell_type": "markdown", "id": "e5112b9c-f7c6-43e0-9764-22b58a97b1d1", "metadata": {}, "source": [ "Score a new trajectory using the best pipeline." ] }, { "cell_type": "code", "execution_count": 12, "id": "a38d17a3-76cb-4dd7-b906-2212263664c1", "metadata": {}, "outputs": [], "source": [ "score = best_estimator.score(eg['X_valid'])" ] }, { "cell_type": "markdown", "id": "b8803df6-7afe-4dea-a3ae-d8ac7eafdf2c", "metadata": {}, "source": [ "Plot the prediction" ] }, { "cell_type": "code", "execution_count": 13, "id": "93cbb4c7-d3de-43a1-9d3b-a108c87b7aa6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(\n", " best_estimator.n_states_in_ + best_estimator.n_inputs_in_,\n", " 1,\n", " constrained_layout=True,\n", " sharex=True,\n", " figsize=(6, 6),\n", ")\n", "# Plot true trajectory\n", "ax[0].plot(eg['t'], eg['X_valid'][:, 1], label='True trajectory')\n", "ax[1].plot(eg['t'], eg['X_valid'][:, 2])\n", "ax[2].plot(eg['t'], eg['X_valid'][:, 3])\n", "# Plot predicted trajectory\n", "ax[0].plot(eg['t'], X_pred[:, 1], '--', label='Predicted trajectory')\n", "ax[1].plot(eg['t'], X_pred[:, 2], '--')\n", "# Add labels\n", "ax[-1].set_xlabel('$t$')\n", "ax[0].set_ylabel('$x(t)$')\n", "ax[1].set_ylabel(r'$\\dot{x}(t)$')\n", "ax[2].set_ylabel('$u$')\n", "ax[0].set_title(f'True and predicted states; MSE={-1 * score:.2e}')\n", "ax[0].legend(loc='upper right')" ] } ], "metadata": { "kernelspec": { "display_name": "pykoop", "language": "python", "name": "pykoop" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }