Skip to content

Instantly share code, notes, and snippets.

@nirum
Forked from szapp/cell07.ipynb
Created December 6, 2018 18:56
Show Gist options
  • Save nirum/e1b6f08ec2e1cd87a1efc682f72d46df to your computer and use it in GitHub Desktop.
Save nirum/e1b6f08ec2e1cd87a1efc682f72d46df to your computer and use it in GitHub Desktop.
Attempt to recreate figure 3 from Maheswaranathan et al, 2018
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook shows (1) a fit using the default of just two optimization alternations and (2) another fit with 15 alternations. Both are done with regularization weights of 1.25 for sparsity and 1.7 for nuclear norm."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import h5py\n",
"from matplotlib import pyplot as plt\n",
"from nems import models\n",
"import numpy as np\n",
"\n",
"with h5py.File('rgc_whitenoise.h5', 'r') as f:\n",
" stimulus = np.array(f['stimulus'])\n",
" rates = np.array(f['firing_rates'])\n",
"stim_dim = stimulus.shape[0]\n",
"hist_dim = 40\n",
"cell = 7"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1. Fitting with only 2 optimization alternations\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 965x497 with 17 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"lnln = models.LNLN(stimulus, rates[cell], (stim_dim, hist_dim), num_subunits=4)\n",
"lnln.add_regularizer('W', 'sparse', gamma=1.25)\n",
"lnln.add_regularizer('W', 'nucnorm', gamma=1.7)\n",
"lnln.fit(disp=0)\n",
"\n",
"# Removed code for plotting..."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the figure above the nonlinearity of the first subunit dips below zero and the third subunit filter is flipped in sign and its nonlinearity is reversed."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_______"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2. Fitting with 15 optimization alternations\n",
"Below is the code I used to fit the LNLN model (including the stdout output of the fitting function) followed by a figure showing the results. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"During fitting of the filter the test/train scores drop quite severly at times."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 48/48 [00:00<00:00, 152059.36it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Setting random seed to: 4701\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Initial parameters │\n",
"╘══════════════════════════════╛\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.00425 │ -1.84 │ 17.1 │ -0.0418 │\n",
"│ Train │ 0.000812 │ -1.96 │ 17.2 │ -0.046 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 4.71 │ 2.633 │ 388.5 │ 5 │\n",
"│ 9.343 │ 2.754 │ 14.08 │ 5 │\n",
"│ 13.9 │ 2.633 │ 10.86 │ 5 │\n",
"│ 18.42 │ 2.265 │ 20.33 │ 5 │\n",
"│ 22.96 │ 2.73 │ 61.41 │ 2.5 │\n",
"│ 27.49 │ 3.908 │ 11.04 │ 2.5 │\n",
"│ 33.1 │ 3.314 │ 4.75 │ 2.5 │\n",
"│ 40.53 │ 51.95 │ 245.2 │ 2.5 │\n",
"│ 45.91 │ 35.87 │ 126.1 │ 2.5 │\n",
"│ 51.63 │ 43.03 │ 213.6 │ 2.5 │\n",
"│ 57.53 │ 35.61 │ 186.6 │ 2.5 │\n",
"│ 63.52 │ 31.31 │ 147.8 │ 2.5 │\n",
"│ 69.57 │ 31.9 │ 148.7 │ 2.5 │\n",
"│ 76.51 │ 34.92 │ 170.2 │ 2.5 │\n",
"│ 83.16 │ 31.22 │ 145 │ 2.5 │\n",
"│ 89.86 │ 29.84 │ 150.2 │ 2.5 │\n",
"│ 96.52 │ 37.12 │ 182.3 │ 2.5 │\n",
"│ 102.5 │ 37.85 │ 175.7 │ 2.5 │\n",
"│ 109.9 │ 32.77 │ 148.6 │ 2.5 │\n",
"│ 116.1 │ 35.81 │ 176.1 │ 2.5 │\n",
"│ 122.4 │ 36.91 │ 180.5 │ 2.5 │\n",
"│ 128.3 │ 34.7 │ 164.7 │ 2.5 │\n",
"│ 133.8 │ 35.87 │ 172.4 │ 2.5 │\n",
"│ 140.3 │ 30.81 │ 136 │ 2.5 │\n",
"│ 146.2 │ 41.83 │ 208.6 │ 2.5 │\n",
"│ 152.7 │ 32.34 │ 149.4 │ 2.5 │\n",
"│ 159.2 │ 33.38 │ 157.8 │ 2.5 │\n",
"│ 165.6 │ 39.16 │ 199.2 │ 2.5 │\n",
"│ 172.9 │ 31.84 │ 143.4 │ 2.5 │\n",
"│ 178.7 │ 37.36 │ 180 │ 2.5 │\n",
"│ 184.7 │ 33.04 │ 155.9 │ 2.5 │\n",
"│ 190.5 │ 35.09 │ 168.1 │ 2.5 │\n",
"│ 196.3 │ 38.13 │ 184.4 │ 2.5 │\n",
"│ 202.2 │ 37.2 │ 178.9 │ 2.5 │\n",
"│ 209.2 │ 29.69 │ 135.1 │ 2.5 │\n",
"│ 215.2 │ 34.6 │ 172.6 │ 2.5 │\n",
"│ 221.4 │ 38.03 │ 186.9 │ 2.5 │\n",
"│ 227.7 │ 36.52 │ 170.2 │ 2.5 │\n",
"│ 233.6 │ 37.06 │ 175.3 │ 2.5 │\n",
"│ 240.1 │ 30.48 │ 139.2 │ 2.5 │\n",
"│ 240.1 │ 30.48 │ 139.2 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 89.9506 ms\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.0353 │ -1.94 │ 17 │ -0.0345 │\n",
"│ Train │ 0.0363 │ -2.18 │ 17.2 │ -0.0377 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.507 │ 0 │ 143.3 │ 5 │\n",
"│ 5.022 │ 0 │ 24.85 │ 2.5 │\n",
"│ 7.599 │ 0 │ 7.491 │ 1.25 │\n",
"│ 10.11 │ 0 │ 2.525 │ 0.625 │\n",
"│ 12.74 │ 0 │ 0.8036 │ 0.3125 │\n",
"│ 15.45 │ 0 │ 0.2298 │ 0.1562 │\n",
"│ 18.16 │ 0 │ 0.03907 │ 0.07812 │\n",
"│ 20.73 │ 0 │ 0.01742 │ 0.03906 │\n",
"│ 23.33 │ 0 │ 0.004835 │ 0.01953 │\n",
"│ 25.94 │ 0 │ 0.001285 │ 0.009766 │\n",
"│ 28.52 │ 0 │ 0.0003423 │ 0.004883 │\n",
"│ 28.52 │ 0 │ 0.0003423 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 28.5216 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.0303 │ -0.0315 │ 16.7 │ -0.00337 │\n",
"│ Train │ 0.0816 │ 0.0368 │ 16.8 │ 0.00368 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 4.742 │ 2.494 │ 350 │ 5 │\n",
"│ 9.399 │ 2.388 │ 41.47 │ 2.5 │\n",
"│ 14.18 │ 2.709 │ 7.412 │ 2.5 │\n",
"│ 19.18 │ 2.509 │ 2.814 │ 2.5 │\n",
"│ 23.87 │ 2.232 │ 7.152 │ 2.5 │\n",
"│ 29.04 │ 2.269 │ 6.129 │ 2.5 │\n",
"│ 34.29 │ 2.104 │ 5.37 │ 2.5 │\n",
"│ 39.48 │ 2.022 │ 5.826 │ 2.5 │\n",
"│ 45.58 │ 2.018 │ 5.418 │ 2.5 │\n",
"│ 51.31 │ 2.081 │ 5.321 │ 2.5 │\n",
"│ 57.44 │ 1.93 │ 5.148 │ 2.5 │\n",
"│ 64.06 │ 2.036 │ 5.824 │ 2.5 │\n",
"│ 69.51 │ 2.279 │ 7.176 │ 2.5 │\n",
"│ 75.82 │ 2.476 │ 7.036 │ 2.5 │\n",
"│ 82.35 │ 2.638 │ 9.021 │ 2.5 │\n",
"│ 88.58 │ 2.948 │ 11.47 │ 2.5 │\n",
"│ 93.87 │ 3.344 │ 14.22 │ 2.5 │\n",
"│ 98.98 │ 3.216 │ 12.78 │ 2.5 │\n",
"│ 105.7 │ 3.185 │ 13.25 │ 2.5 │\n",
"│ 111.9 │ 3.087 │ 10.8 │ 2.5 │\n",
"│ 118.1 │ 3.274 │ 11.44 │ 2.5 │\n",
"│ 124.4 │ 3.306 │ 10.4 │ 2.5 │\n",
"│ 130.5 │ 3.506 │ 12.92 │ 2.5 │\n",
"│ 136.2 │ 3.737 │ 14.31 │ 2.5 │\n",
"│ 141.3 │ 3.746 │ 16.65 │ 2.5 │\n",
"│ 146.9 │ 3.744 │ 16.5 │ 2.5 │\n",
"│ 153.5 │ 3.654 │ 15.84 │ 2.5 │\n",
"│ 159.6 │ 3.838 │ 16.34 │ 2.5 │\n",
"│ 165.1 │ 3.625 │ 15.34 │ 2.5 │\n",
"│ 170.7 │ 3.434 │ 13.92 │ 2.5 │\n",
"│ 176.6 │ 3.463 │ 13.56 │ 2.5 │\n",
"│ 182.5 │ 3.574 │ 14.01 │ 2.5 │\n",
"│ 187.9 │ 3.558 │ 14.59 │ 2.5 │\n",
"│ 193.4 │ 3.432 │ 12.11 │ 2.5 │\n",
"│ 198.6 │ 3.358 │ 12.26 │ 2.5 │\n",
"│ 204.6 │ 3.216 │ 10.45 │ 2.5 │\n",
"│ 210.9 │ 3.375 │ 11.96 │ 2.5 │\n",
"│ 217 │ 3.371 │ 11.37 │ 2.5 │\n",
"│ 222.8 │ 3.285 │ 11.87 │ 2.5 │\n",
"│ 229.1 │ 3.288 │ 10.25 │ 2.5 │\n",
"│ 229.1 │ 3.288 │ 10.25 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 3 min., 49.09 s\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.318 │ 0.389 │ 16.3 │ 0.049 │\n",
"│ Train │ 0.378 │ 0.464 │ 16.3 │ 0.0615 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.552 │ 0 │ 52.07 │ 5 │\n",
"│ 5.062 │ 0 │ 18.76 │ 2.5 │\n",
"│ 7.584 │ 0 │ 8.38 │ 1.25 │\n",
"│ 10.15 │ 0 │ 3.206 │ 0.625 │\n",
"│ 12.67 │ 0 │ 1.047 │ 0.3125 │\n",
"│ 15.19 │ 0 │ 0.3314 │ 0.1562 │\n",
"│ 17.71 │ 0 │ 0.1034 │ 0.07812 │\n",
"│ 20.22 │ 0 │ 0.02545 │ 0.03906 │\n",
"│ 22.94 │ 0 │ 0.002818 │ 0.01953 │\n",
"│ 25.45 │ 0 │ 0.003261 │ 0.009766 │\n",
"│ 27.98 │ 0 │ 0.0007498 │ 0.004883 │\n",
"│ 27.98 │ 0 │ 0.0007498 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 27.9788 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.405 │ 0.953 │ 15.3 │ 0.158 │\n",
"│ Train │ 0.469 │ 1.17 │ 14.9 │ 0.213 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 4.778 │ 2.266 │ 291.8 │ 5 │\n",
"│ 9.554 │ 2.52 │ 40.96 │ 2.5 │\n",
"│ 14.72 │ 2.601 │ 1.763 │ 2.5 │\n",
"│ 19.44 │ 2.557 │ 3.147 │ 2.5 │\n",
"│ 24.24 │ 2.311 │ 4.32 │ 2.5 │\n",
"│ 29.14 │ 2.266 │ 3.283 │ 2.5 │\n",
"│ 34.22 │ 2.186 │ 3.339 │ 2.5 │\n",
"│ 40.13 │ 2.034 │ 4.188 │ 2.5 │\n",
"│ 46.94 │ 1.885 │ 4.795 │ 2.5 │\n",
"│ 52.55 │ 1.935 │ 4.506 │ 2.5 │\n",
"│ 59.11 │ 1.929 │ 4.522 │ 2.5 │\n",
"│ 65.27 │ 1.775 │ 4.755 │ 2.5 │\n",
"│ 70.59 │ 1.728 │ 3.968 │ 2.5 │\n",
"│ 78.15 │ 1.658 │ 3.519 │ 2.5 │\n",
"│ 85.29 │ 1.599 │ 3.417 │ 2.5 │\n",
"│ 91.42 │ 1.647 │ 3.847 │ 2.5 │\n",
"│ 96.92 │ 1.583 │ 3.522 │ 2.5 │\n",
"│ 103.3 │ 1.593 │ 3.202 │ 2.5 │\n",
"│ 110 │ 1.591 │ 4.038 │ 2.5 │\n",
"│ 115.6 │ 1.515 │ 4.341 │ 2.5 │\n",
"│ 122.4 │ 1.473 │ 4.282 │ 2.5 │\n",
"│ 129.3 │ 1.844 │ 6.326 │ 2.5 │\n",
"│ 136.2 │ 1.838 │ 7.63 │ 2.5 │\n",
"│ 141.7 │ 2.185 │ 9.268 │ 2.5 │\n",
"│ 146.9 │ 1.966 │ 7.641 │ 2.5 │\n",
"│ 152.1 │ 1.781 │ 5.384 │ 2.5 │\n",
"│ 158.4 │ 1.818 │ 3.725 │ 2.5 │\n",
"│ 165.1 │ 1.935 │ 4.727 │ 2.5 │\n",
"│ 170.5 │ 1.914 │ 5.629 │ 2.5 │\n",
"│ 176.2 │ 1.956 │ 4.62 │ 2.5 │\n",
"│ 181.5 │ 1.904 │ 5.009 │ 2.5 │\n",
"│ 187.4 │ 1.868 │ 4.049 │ 2.5 │\n",
"│ 193.1 │ 1.929 │ 3.966 │ 2.5 │\n",
"│ 199.7 │ 2.014 │ 4.536 │ 2.5 │\n",
"│ 205.9 │ 2.151 │ 5.449 │ 2.5 │\n",
"│ 211.6 │ 2.279 │ 6.978 │ 2.5 │\n",
"│ 217.3 │ 2.249 │ 5.808 │ 2.5 │\n",
"│ 223.2 │ 2.244 │ 5.248 │ 2.5 │\n",
"│ 229 │ 2.25 │ 5.51 │ 2.5 │\n",
"│ 235.5 │ 2.37 │ 6.274 │ 2.5 │\n",
"│ 235.5 │ 2.37 │ 6.274 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 3 min., 55.467 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.433 │ 1.13 │ 15.1 │ 0.179 │\n",
"│ Train │ 0.479 │ 1.32 │ 14.9 │ 0.216 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.644 │ 0 │ 27.34 │ 5 │\n",
"│ 5.187 │ 0 │ 8.847 │ 2.5 │\n",
"│ 7.848 │ 0 │ 3.604 │ 1.25 │\n",
"│ 10.52 │ 0 │ 1.368 │ 0.625 │\n",
"│ 13.18 │ 0 │ 0.4737 │ 0.3125 │\n",
"│ 15.73 │ 0 │ 0.1897 │ 0.1562 │\n",
"│ 18.29 │ 0 │ 0.03828 │ 0.07812 │\n",
"│ 20.98 │ 0 │ 0.01835 │ 0.03906 │\n",
"│ 23.58 │ 0 │ 0.008471 │ 0.01953 │\n",
"│ 26.13 │ 0 │ 0.002264 │ 0.009766 │\n",
"│ 28.69 │ 0 │ 0.0006122 │ 0.004883 │\n",
"│ 28.69 │ 0 │ 0.0006122 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 28.6879 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.479 │ 1.26 │ 14.7 │ 0.221 │\n",
"│ Train │ 0.521 │ 1.49 │ 14.4 │ 0.262 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.027 │ 2.161 │ 266.6 │ 5 │\n",
"│ 10.01 │ 2.459 │ 38.88 │ 2.5 │\n",
"│ 15.04 │ 2.638 │ 3.258 │ 2.5 │\n",
"│ 19.96 │ 2.628 │ 2.22 │ 2.5 │\n",
"│ 24.85 │ 2.361 │ 3.458 │ 2.5 │\n",
"│ 29.89 │ 2.238 │ 3.761 │ 2.5 │\n",
"│ 35.14 │ 2.166 │ 3.631 │ 2.5 │\n",
"│ 40.39 │ 2.028 │ 4.003 │ 2.5 │\n",
"│ 47.12 │ 2.014 │ 3.542 │ 2.5 │\n",
"│ 54.64 │ 1.9 │ 3.804 │ 2.5 │\n",
"│ 62.24 │ 2.155 │ 7.538 │ 2.5 │\n",
"│ 69.14 │ 2.343 │ 10.7 │ 2.5 │\n",
"│ 74.75 │ 2.692 │ 11.69 │ 2.5 │\n",
"│ 79.93 │ 2.421 │ 9.916 │ 2.5 │\n",
"│ 84.89 │ 2.26 │ 6.977 │ 2.5 │\n",
"│ 90.45 │ 2.168 │ 4.916 │ 2.5 │\n",
"│ 95.68 │ 2.072 │ 4.893 │ 2.5 │\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"│ 101.8 │ 1.981 │ 3.401 │ 2.5 │\n",
"│ 108.6 │ 2.044 │ 3.312 │ 2.5 │\n",
"│ 114.8 │ 1.979 │ 3.523 │ 2.5 │\n",
"│ 121.5 │ 2.177 │ 4.633 │ 2.5 │\n",
"│ 127.1 │ 2.133 │ 4.595 │ 2.5 │\n",
"│ 132.1 │ 2.018 │ 3.813 │ 2.5 │\n",
"│ 138.5 │ 2.043 │ 3.457 │ 2.5 │\n",
"│ 144.8 │ 2.064 │ 4.446 │ 2.5 │\n",
"│ 150.8 │ 2.033 │ 5.026 │ 2.5 │\n",
"│ 157.2 │ 2.046 │ 4.971 │ 2.5 │\n",
"│ 163.6 │ 1.989 │ 5.231 │ 2.5 │\n",
"│ 170.9 │ 2.055 │ 5.525 │ 2.5 │\n",
"│ 177.9 │ 2.375 │ 6.9 │ 2.5 │\n",
"│ 184.1 │ 2.532 │ 7.622 │ 2.5 │\n",
"│ 190.7 │ 2.516 │ 7.802 │ 2.5 │\n",
"│ 196.6 │ 2.57 │ 7.516 │ 2.5 │\n",
"│ 202.8 │ 2.866 │ 8.209 │ 2.5 │\n",
"│ 209.1 │ 3.008 │ 9.686 │ 2.5 │\n",
"│ 215.1 │ 3.181 │ 10.09 │ 2.5 │\n",
"│ 221.7 │ 3.163 │ 10.15 │ 2.5 │\n",
"│ 227.6 │ 2.992 │ 9.913 │ 2.5 │\n",
"│ 233.5 │ 2.924 │ 8.865 │ 2.5 │\n",
"│ 239.6 │ 2.781 │ 7.676 │ 2.5 │\n",
"│ 239.6 │ 2.781 │ 7.676 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 3 min., 59.5606 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.393 │ 0.607 │ 15.7 │ 0.116 │\n",
"│ Train │ 0.456 │ 0.942 │ 15.4 │ 0.162 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.78 │ 0 │ 53.69 │ 5 │\n",
"│ 5.547 │ 0 │ 15.1 │ 2.5 │\n",
"│ 8.326 │ 0 │ 6.14 │ 1.25 │\n",
"│ 11.11 │ 0 │ 2.199 │ 0.625 │\n",
"│ 13.91 │ 0 │ 0.7457 │ 0.3125 │\n",
"│ 16.77 │ 0 │ 0.225 │ 0.1562 │\n",
"│ 19.52 │ 0 │ 0.06287 │ 0.07812 │\n",
"│ 22.28 │ 0 │ 0.01511 │ 0.03906 │\n",
"│ 25.05 │ 0 │ 0.006989 │ 0.01953 │\n",
"│ 27.76 │ 0 │ 0.001845 │ 0.009766 │\n",
"│ 30.57 │ 0 │ 0.0004064 │ 0.004883 │\n",
"│ 30.57 │ 0 │ 0.0004064 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.5673 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.443 │ 1.11 │ 15 │ 0.188 │\n",
"│ Train │ 0.494 │ 1.38 │ 14.7 │ 0.235 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.013 │ 2.071 │ 245.6 │ 5 │\n",
"│ 10.11 │ 2.421 │ 40.23 │ 2.5 │\n",
"│ 15.23 │ 2.614 │ 3.945 │ 2.5 │\n",
"│ 20.26 │ 2.55 │ 1.677 │ 2.5 │\n",
"│ 25.31 │ 2.261 │ 2.826 │ 2.5 │\n",
"│ 30.36 │ 2.029 │ 3.392 │ 2.5 │\n",
"│ 35.93 │ 1.983 │ 4.34 │ 2.5 │\n",
"│ 42.89 │ 2.097 │ 5.836 │ 2.5 │\n",
"│ 50.22 │ 2.398 │ 7.106 │ 2.5 │\n",
"│ 57.65 │ 2.465 │ 7.848 │ 2.5 │\n",
"│ 64.37 │ 2.584 │ 9.278 │ 2.5 │\n",
"│ 72.48 │ 2.44 │ 7.625 │ 2.5 │\n",
"│ 80.92 │ 2.648 │ 8.064 │ 2.5 │\n",
"│ 89.13 │ 3.061 │ 14.39 │ 2.5 │\n",
"│ 97.04 │ 6.935 │ 36.86 │ 2.5 │\n",
"│ 102.4 │ 6.996 │ 24.83 │ 2.5 │\n",
"│ 108.5 │ 7.426 │ 27.6 │ 2.5 │\n",
"│ 115.8 │ 7.402 │ 25.1 │ 2.5 │\n",
"│ 124.2 │ 8.739 │ 36.1 │ 2.5 │\n",
"│ 132.5 │ 14.48 │ 71.5 │ 2.5 │\n",
"│ 137.8 │ 11.65 │ 46.06 │ 2.5 │\n",
"│ 144.3 │ 13.58 │ 54.89 │ 2.5 │\n",
"│ 150.5 │ 14.25 │ 63.21 │ 2.5 │\n",
"│ 156.3 │ 16.91 │ 79.7 │ 2.5 │\n",
"│ 161.9 │ 17.04 │ 69.27 │ 2.5 │\n",
"│ 169.3 │ 14.75 │ 56.74 │ 2.5 │\n",
"│ 175.1 │ 18.47 │ 92.99 │ 2.5 │\n",
"│ 181 │ 16.21 │ 74.14 │ 2.5 │\n",
"│ 187.2 │ 16.55 │ 73.91 │ 2.5 │\n",
"│ 193.9 │ 16.74 │ 77.73 │ 2.5 │\n",
"│ 199.8 │ 18 │ 85.28 │ 2.5 │\n",
"│ 206.1 │ 19.38 │ 96.68 │ 2.5 │\n",
"│ 213.3 │ 15.8 │ 67.6 │ 2.5 │\n",
"│ 221.1 │ 14.38 │ 64.58 │ 2.5 │\n",
"│ 228.3 │ 14.14 │ 66.74 │ 2.5 │\n",
"│ 233.9 │ 19.63 │ 97.38 │ 2.5 │\n",
"│ 240.3 │ 15.61 │ 57.57 │ 2.5 │\n",
"│ 246.7 │ 15.85 │ 73.62 │ 2.5 │\n",
"│ 253 │ 17.67 │ 87.42 │ 2.5 │\n",
"│ 259.8 │ 17.43 │ 80.59 │ 2.5 │\n",
"│ 259.8 │ 17.43 │ 80.59 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 19.7573 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.0168 │ -1.87 │ 19.6 │ -0.378 │\n",
"│ Train │ 0.0299 │ -1.67 │ 19.6 │ -0.365 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.785 │ 0 │ 77.79 │ 5 │\n",
"│ 5.566 │ 0 │ 19.53 │ 2.5 │\n",
"│ 8.688 │ 0 │ 8.802 │ 1.25 │\n",
"│ 11.55 │ 0 │ 3.935 │ 0.625 │\n",
"│ 14.32 │ 0 │ 1.718 │ 0.3125 │\n",
"│ 17.13 │ 0 │ 0.6521 │ 0.1562 │\n",
"│ 19.9 │ 0 │ 0.2243 │ 0.07812 │\n",
"│ 22.67 │ 0 │ 0.05379 │ 0.03906 │\n",
"│ 25.42 │ 0 │ 0.006381 │ 0.01953 │\n",
"│ 28.37 │ 0 │ 0.0007445 │ 0.009766 │\n",
"│ 28.37 │ 0 │ 0.0007445 │ 0.009766 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 10 iterations!\n",
"Finished optimizing f. Elapsed time: 28.3739 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.0843 │ 0.00284 │ 16.8 │ -0.012 │\n",
"│ Train │ 0.142 │ 0.136 │ 16.7 │ 0.0114 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.295 │ 2.379 │ 394.7 │ 5 │\n",
"│ 10.41 │ 2.359 │ 20.73 │ 5 │\n",
"│ 15.52 │ 2.165 │ 11.36 │ 5 │\n",
"│ 20.71 │ 1.847 │ 19.17 │ 2.5 │\n",
"│ 25.84 │ 1.894 │ 5.063 │ 2.5 │\n",
"│ 31.05 │ 1.793 │ 2.894 │ 2.5 │\n",
"│ 36.31 │ 1.743 │ 2.552 │ 2.5 │\n",
"│ 41.73 │ 1.666 │ 2.789 │ 2.5 │\n",
"│ 47.09 │ 1.569 │ 3.289 │ 2.5 │\n",
"│ 54.41 │ 1.63 │ 2.709 │ 2.5 │\n",
"│ 61.81 │ 1.811 │ 4.449 │ 2.5 │\n",
"│ 67.68 │ 1.695 │ 5.939 │ 2.5 │\n",
"│ 74.48 │ 1.62 │ 5.277 │ 2.5 │\n",
"│ 81.16 │ 1.73 │ 5.858 │ 2.5 │\n",
"│ 86.81 │ 1.805 │ 6.368 │ 2.5 │\n",
"│ 92.86 │ 1.683 │ 4.796 │ 2.5 │\n",
"│ 99.71 │ 1.801 │ 5.788 │ 2.5 │\n",
"│ 105.5 │ 1.668 │ 5.629 │ 2.5 │\n",
"│ 111.6 │ 1.538 │ 4.633 │ 2.5 │\n",
"│ 117.2 │ 1.567 │ 3.258 │ 2.5 │\n",
"│ 123.4 │ 1.521 │ 2.826 │ 2.5 │\n",
"│ 129.4 │ 1.541 │ 2.666 │ 2.5 │\n",
"│ 136.5 │ 1.575 │ 3.495 │ 2.5 │\n",
"│ 142.4 │ 1.557 │ 3.447 │ 2.5 │\n",
"│ 148.4 │ 1.493 │ 3.358 │ 2.5 │\n",
"│ 154.2 │ 1.443 │ 2.874 │ 2.5 │\n",
"│ 161.4 │ 1.606 │ 3.206 │ 2.5 │\n",
"│ 168.8 │ 1.63 │ 3.797 │ 2.5 │\n",
"│ 174.6 │ 1.531 │ 5.822 │ 2.5 │\n",
"│ 181 │ 1.569 │ 4.325 │ 2.5 │\n",
"│ 186.5 │ 1.571 │ 4.507 │ 2.5 │\n",
"│ 193.4 │ 1.671 │ 4.937 │ 2.5 │\n",
"│ 199.9 │ 1.687 │ 4.815 │ 2.5 │\n",
"│ 206.4 │ 1.711 │ 5.244 │ 2.5 │\n",
"│ 212.2 │ 1.652 │ 4.446 │ 2.5 │\n",
"│ 217.8 │ 1.688 │ 4.347 │ 2.5 │\n",
"│ 224.8 │ 1.742 │ 3.84 │ 2.5 │\n",
"│ 230.8 │ 1.861 │ 4.926 │ 2.5 │\n",
"│ 237.6 │ 1.897 │ 5.282 │ 2.5 │\n",
"│ 243.7 │ 1.906 │ 5.179 │ 2.5 │\n",
"│ 243.7 │ 1.906 │ 5.179 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 3.70923 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.319 │ 0.552 │ 16.1 │ 0.0718 │\n",
"│ Train │ 0.384 │ 0.673 │ 15.8 │ 0.118 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.635 │ 0 │ 62.13 │ 5 │\n",
"│ 5.319 │ 0 │ 17.07 │ 2.5 │\n",
"│ 8.025 │ 0 │ 5.913 │ 1.25 │\n",
"│ 10.75 │ 0 │ 2.261 │ 0.625 │\n",
"│ 13.43 │ 0 │ 0.7695 │ 0.3125 │\n",
"│ 16.16 │ 0 │ 0.2775 │ 0.1562 │\n",
"│ 18.94 │ 0 │ 0.1015 │ 0.07812 │\n",
"│ 21.76 │ 0 │ 0.006708 │ 0.03906 │\n",
"│ 24.61 │ 0 │ 0.01317 │ 0.01953 │\n",
"│ 27.37 │ 0 │ 0.003229 │ 0.009766 │\n",
"│ 30.18 │ 0 │ 0.000819 │ 0.004883 │\n",
"│ 30.18 │ 0 │ 0.000819 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.1791 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.422 │ 1.07 │ 15.2 │ 0.173 │\n",
"│ Train │ 0.49 │ 1.33 │ 14.7 │ 0.232 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.228 │ 2.264 │ 297.6 │ 5 │\n",
"│ 10.71 │ 2.408 │ 39.18 │ 2.5 │\n",
"│ 16.52 │ 2.543 │ 4.332 │ 2.5 │\n",
"│ 21.88 │ 2.593 │ 2.17 │ 2.5 │\n",
"│ 27.24 │ 2.417 │ 2.636 │ 2.5 │\n",
"│ 32.47 │ 2.324 │ 3.311 │ 2.5 │\n",
"│ 37.94 │ 2.249 │ 2.932 │ 2.5 │\n",
"│ 43.26 │ 2.115 │ 4.039 │ 2.5 │\n",
"│ 50.02 │ 2.085 │ 4.249 │ 2.5 │\n",
"│ 55.85 │ 2.037 │ 4.205 │ 2.5 │\n",
"│ 62.93 │ 2.313 │ 6.586 │ 2.5 │\n",
"│ 69.07 │ 2.496 │ 7.254 │ 2.5 │\n",
"│ 75.57 │ 2.58 │ 6.826 │ 2.5 │\n",
"│ 81.54 │ 2.621 │ 7.18 │ 2.5 │\n",
"│ 87.43 │ 2.535 │ 6.814 │ 2.5 │\n",
"│ 94.13 │ 2.513 │ 6.626 │ 2.5 │\n",
"│ 100 │ 2.531 │ 7.446 │ 2.5 │\n",
"│ 107 │ 2.528 │ 6.376 │ 2.5 │\n",
"│ 114.1 │ 2.561 │ 6.496 │ 2.5 │\n",
"│ 120.1 │ 2.576 │ 6.912 │ 2.5 │\n",
"│ 126.3 │ 2.641 │ 7.033 │ 2.5 │\n",
"│ 132.6 │ 2.65 │ 5.81 │ 2.5 │\n",
"│ 138.5 │ 2.632 │ 5.441 │ 2.5 │\n",
"│ 143.9 │ 2.662 │ 5.374 │ 2.5 │\n",
"│ 150.2 │ 2.688 │ 5.015 │ 2.5 │\n",
"│ 156.2 │ 2.693 │ 5.269 │ 2.5 │\n",
"│ 162.2 │ 2.662 │ 5.146 │ 2.5 │\n",
"│ 168.3 │ 2.688 │ 5.685 │ 2.5 │\n",
"│ 174.3 │ 2.592 │ 5.748 │ 2.5 │\n",
"│ 180.2 │ 2.558 │ 5.594 │ 2.5 │\n",
"│ 187.2 │ 2.583 │ 5.48 │ 2.5 │\n",
"│ 193 │ 2.542 │ 5.496 │ 2.5 │\n",
"│ 198.5 │ 2.487 │ 5.875 │ 2.5 │\n",
"│ 205.5 │ 2.483 │ 5.668 │ 2.5 │\n",
"│ 211.6 │ 2.521 │ 6.019 │ 2.5 │\n",
"│ 217.6 │ 2.489 │ 5.674 │ 2.5 │\n",
"│ 223 │ 2.472 │ 4.765 │ 2.5 │\n",
"│ 229.6 │ 2.541 │ 4.699 │ 2.5 │\n",
"│ 235.3 │ 2.594 │ 5.995 │ 2.5 │\n",
"│ 241.6 │ 2.615 │ 5.745 │ 2.5 │\n",
"│ 241.6 │ 2.615 │ 5.745 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 1.57988 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.466 │ 1.24 │ 14.8 │ 0.209 │\n",
"│ Train │ 0.502 │ 1.4 │ 14.6 │ 0.242 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.751 │ 0 │ 17.29 │ 5 │\n",
"│ 5.514 │ 0 │ 6.848 │ 2.5 │\n",
"│ 8.227 │ 0 │ 3.06 │ 1.25 │\n",
"│ 10.93 │ 0 │ 1.145 │ 0.625 │\n",
"│ 13.66 │ 0 │ 0.4571 │ 0.3125 │\n",
"│ 16.71 │ 0 │ 0.1093 │ 0.1562 │\n",
"│ 19.6 │ 0 │ 0.07548 │ 0.07812 │\n",
"│ 22.34 │ 0 │ 0.02489 │ 0.03906 │\n",
"│ 25.43 │ 0 │ 0.007497 │ 0.01953 │\n",
"│ 28.28 │ 0 │ 0.002232 │ 0.009766 │\n",
"│ 31.01 │ 0 │ 0.0006282 │ 0.004883 │\n",
"│ 31.01 │ 0 │ 0.0006282 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 31.0118 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.477 │ 1.25 │ 14.7 │ 0.219 │\n",
"│ Train │ 0.535 │ 1.52 │ 14.3 │ 0.278 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.512 │ 2.103 │ 264.5 │ 5 │\n",
"│ 11.47 │ 2.433 │ 34.93 │ 2.5 │\n",
"│ 16.97 │ 2.593 │ 6.859 │ 2.5 │\n",
"│ 22.57 │ 2.59 │ 1.519 │ 2.5 │\n",
"│ 28.05 │ 2.365 │ 3.629 │ 2.5 │\n",
"│ 34.18 │ 2.279 │ 3.489 │ 2.5 │\n",
"│ 39.7 │ 2.047 │ 4.143 │ 2.5 │\n",
"│ 46.59 │ 1.959 │ 4.396 │ 2.5 │\n",
"│ 54.37 │ 2.1 │ 6.32 │ 2.5 │\n",
"│ 59.92 │ 1.988 │ 6.049 │ 2.5 │\n",
"│ 67.25 │ 2.062 │ 5.127 │ 2.5 │\n",
"│ 75.09 │ 2.302 │ 6.934 │ 2.5 │\n",
"│ 80.78 │ 2.303 │ 9.045 │ 2.5 │\n",
"│ 86.66 │ 2.166 │ 7.017 │ 2.5 │\n",
"│ 93.28 │ 2.192 │ 5.349 │ 2.5 │\n",
"│ 100.1 │ 2.294 │ 6.295 │ 2.5 │\n",
"│ 105.5 │ 2.487 │ 6.365 │ 2.5 │\n",
"│ 111.4 │ 2.415 │ 5.836 │ 2.5 │\n",
"│ 117.1 │ 2.362 │ 5.241 │ 2.5 │\n",
"│ 123.9 │ 2.508 │ 5.375 │ 2.5 │\n",
"│ 130.9 │ 2.578 │ 5.868 │ 2.5 │\n",
"│ 137.2 │ 2.693 │ 6.909 │ 2.5 │\n",
"│ 143.5 │ 2.798 │ 6.473 │ 2.5 │\n",
"│ 149.4 │ 2.907 │ 6.002 │ 2.5 │\n",
"│ 154.9 │ 2.916 │ 6.247 │ 2.5 │\n",
"│ 161.6 │ 2.898 │ 6.198 │ 2.5 │\n",
"│ 167.6 │ 2.87 │ 6.935 │ 2.5 │\n",
"│ 173.8 │ 2.839 │ 7.079 │ 2.5 │\n",
"│ 179.4 │ 2.897 │ 7.186 │ 2.5 │\n",
"│ 185.2 │ 2.935 │ 7.16 │ 2.5 │\n",
"│ 192 │ 2.928 │ 6.633 │ 2.5 │\n",
"│ 199.1 │ 2.95 │ 6.848 │ 2.5 │\n",
"│ 205.7 │ 2.977 │ 5.534 │ 2.5 │\n",
"│ 211.5 │ 3.065 │ 5.532 │ 2.5 │\n",
"│ 219.7 │ 3.108 │ 5.672 │ 2.5 │\n",
"│ 226.8 │ 3.372 │ 9.073 │ 2.5 │\n",
"│ 232.5 │ 3.024 │ 9.605 │ 2.5 │\n",
"│ 238.6 │ 2.867 │ 7.832 │ 2.5 │\n",
"│ 244 │ 2.752 │ 6.545 │ 2.5 │\n",
"│ 249.8 │ 2.618 │ 5.216 │ 2.5 │\n",
"│ 249.8 │ 2.618 │ 5.216 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 9.82348 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.474 │ 1.21 │ 14.8 │ 0.215 │\n",
"│ Train │ 0.542 │ 1.54 │ 14.3 │ 0.279 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.802 │ 0 │ 10.18 │ 5 │\n",
"│ 5.574 │ 0 │ 7.053 │ 2.5 │\n",
"│ 8.32 │ 0 │ 2.695 │ 1.25 │\n",
"│ 11.01 │ 0 │ 1.013 │ 0.625 │\n",
"│ 13.67 │ 0 │ 0.1792 │ 0.3125 │\n",
"│ 16.35 │ 0 │ 0.124 │ 0.1562 │\n",
"│ 19.05 │ 0 │ 0.03919 │ 0.07812 │\n",
"│ 21.75 │ 0 │ 0.0125 │ 0.03906 │\n",
"│ 24.45 │ 0 │ 0.00364 │ 0.01953 │\n",
"│ 27.14 │ 0 │ 0.001089 │ 0.009766 │\n",
"│ 29.84 │ 0 │ 0.0003591 │ 0.004883 │\n",
"│ 29.84 │ 0 │ 0.0003591 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 29.8394 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.472 │ 1.21 │ 14.8 │ 0.212 │\n",
"│ Train │ 0.547 │ 1.59 │ 14.2 │ 0.291 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.233 │ 2.205 │ 277.2 │ 5 │\n",
"│ 10.66 │ 2.483 │ 38.72 │ 2.5 │\n",
"│ 16.01 │ 2.61 │ 3.047 │ 2.5 │\n",
"│ 21.09 │ 2.6 │ 1.731 │ 2.5 │\n",
"│ 26.15 │ 2.401 │ 2.767 │ 2.5 │\n",
"│ 31.67 │ 2.258 │ 3.386 │ 2.5 │\n",
"│ 37.09 │ 2.091 │ 3.954 │ 2.5 │\n",
"│ 42.59 │ 1.925 │ 4.487 │ 2.5 │\n",
"│ 50.6 │ 1.931 │ 6.23 │ 2.5 │\n",
"│ 58.33 │ 2.247 │ 6.849 │ 2.5 │\n",
"│ 65.37 │ 2.321 │ 8.6 │ 2.5 │\n",
"│ 72.3 │ 2.391 │ 8.941 │ 2.5 │\n",
"│ 79.29 │ 2.445 │ 8.338 │ 2.5 │\n",
"│ 87.09 │ 2.545 │ 7.613 │ 2.5 │\n",
"│ 94.51 │ 2.665 │ 7.366 │ 2.5 │\n",
"│ 100.4 │ 2.636 │ 7.776 │ 2.5 │\n",
"│ 105.8 │ 2.372 │ 6.407 │ 2.5 │\n",
"│ 111.2 │ 2.233 │ 5.388 │ 2.5 │\n",
"│ 117.2 │ 2.146 │ 4.584 │ 2.5 │\n",
"│ 124.5 │ 2.196 │ 3.325 │ 2.5 │\n",
"│ 130.1 │ 2.126 │ 4.008 │ 2.5 │\n",
"│ 136.6 │ 2.017 │ 3.593 │ 2.5 │\n",
"│ 142.9 │ 2.103 │ 3.697 │ 2.5 │\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"│ 148.4 │ 2.058 │ 3.843 │ 2.5 │\n",
"│ 154.5 │ 2.03 │ 3.155 │ 2.5 │\n",
"│ 160.3 │ 2 │ 3.204 │ 2.5 │\n",
"│ 167 │ 1.994 │ 2.467 │ 2.5 │\n",
"│ 174.4 │ 2.001 │ 2.591 │ 2.5 │\n",
"│ 180.8 │ 1.918 │ 2.292 │ 2.5 │\n",
"│ 187.3 │ 1.95 │ 2.396 │ 2.5 │\n",
"│ 193.9 │ 2.008 │ 2.653 │ 2.5 │\n",
"│ 201.3 │ 2.101 │ 3.207 │ 2.5 │\n",
"│ 208.4 │ 2.207 │ 5.268 │ 2.5 │\n",
"│ 214.3 │ 2.306 │ 5.377 │ 2.5 │\n",
"│ 221.2 │ 2.45 │ 5.133 │ 2.5 │\n",
"│ 226.8 │ 2.434 │ 5.74 │ 2.5 │\n",
"│ 233.6 │ 2.563 │ 5.811 │ 2.5 │\n",
"│ 241.2 │ 2.676 │ 5.771 │ 2.5 │\n",
"│ 247.3 │ 2.762 │ 7.509 │ 2.5 │\n",
"│ 253.3 │ 2.865 │ 6.817 │ 2.5 │\n",
"│ 253.3 │ 2.865 │ 6.817 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 13.2596 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.483 │ 1.12 │ 14.7 │ 0.222 │\n",
"│ Train │ 0.523 │ 1.41 │ 14.5 │ 0.26 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.789 │ 0 │ 27.12 │ 5 │\n",
"│ 5.5 │ 0 │ 7.953 │ 2.5 │\n",
"│ 8.212 │ 0 │ 3.327 │ 1.25 │\n",
"│ 11.02 │ 0 │ 1.326 │ 0.625 │\n",
"│ 13.75 │ 0 │ 0.4472 │ 0.3125 │\n",
"│ 16.47 │ 0 │ 0.1014 │ 0.1562 │\n",
"│ 19.2 │ 0 │ 0.03548 │ 0.07812 │\n",
"│ 21.99 │ 0 │ 0.01639 │ 0.03906 │\n",
"│ 24.82 │ 0 │ 0.004187 │ 0.01953 │\n",
"│ 27.59 │ 0 │ 0.001236 │ 0.009766 │\n",
"│ 30.29 │ 0 │ 0.0003437 │ 0.004883 │\n",
"│ 30.29 │ 0 │ 0.0003437 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.2882 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.495 │ 1.24 │ 14.6 │ 0.236 │\n",
"│ Train │ 0.541 │ 1.55 │ 14.2 │ 0.285 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.317 │ 2.146 │ 266.2 │ 5 │\n",
"│ 12.44 │ 2.487 │ 33.15 │ 2.5 │\n",
"│ 17.6 │ 2.562 │ 5.4 │ 2.5 │\n",
"│ 22.97 │ 2.577 │ 1.85 │ 2.5 │\n",
"│ 28.92 │ 2.338 │ 2.948 │ 2.5 │\n",
"│ 35.07 │ 2.014 │ 4.34 │ 2.5 │\n",
"│ 42.54 │ 1.874 │ 4.79 │ 2.5 │\n",
"│ 50.73 │ 2.085 │ 7.229 │ 2.5 │\n",
"│ 56.74 │ 2.047 │ 7.85 │ 2.5 │\n",
"│ 63.37 │ 2.123 │ 6.076 │ 2.5 │\n",
"│ 69.52 │ 1.972 │ 4.781 │ 2.5 │\n",
"│ 75.99 │ 1.956 │ 4.319 │ 2.5 │\n",
"│ 82.09 │ 1.944 │ 3.457 │ 2.5 │\n",
"│ 87.95 │ 1.967 │ 2.878 │ 2.5 │\n",
"│ 93.44 │ 1.991 │ 2.558 │ 2.5 │\n",
"│ 100.8 │ 2.076 │ 2.424 │ 2.5 │\n",
"│ 108.9 │ 2.02 │ 2.493 │ 2.5 │\n",
"│ 116 │ 2.007 │ 3.764 │ 2.5 │\n",
"│ 122.6 │ 1.952 │ 5.093 │ 2.5 │\n",
"│ 130.6 │ 2.061 │ 5.076 │ 2.5 │\n",
"│ 137 │ 2.109 │ 6.477 │ 2.5 │\n",
"│ 142.9 │ 1.939 │ 5.045 │ 2.5 │\n",
"│ 148.9 │ 1.834 │ 3.524 │ 2.5 │\n",
"│ 155.2 │ 1.903 │ 2.879 │ 2.5 │\n",
"│ 160.8 │ 1.787 │ 2.877 │ 2.5 │\n",
"│ 167 │ 1.75 │ 2.203 │ 2.5 │\n",
"│ 173.1 │ 1.693 │ 2.566 │ 2.5 │\n",
"│ 180 │ 1.748 │ 3.108 │ 2.5 │\n",
"│ 186.3 │ 1.841 │ 3.948 │ 2.5 │\n",
"│ 192.2 │ 1.789 │ 3.546 │ 2.5 │\n",
"│ 198.3 │ 1.918 │ 3.248 │ 2.5 │\n",
"│ 204.3 │ 1.906 │ 3.322 │ 2.5 │\n",
"│ 212 │ 1.91 │ 3.012 │ 2.5 │\n",
"│ 219.1 │ 2.189 │ 4.293 │ 2.5 │\n",
"│ 225.4 │ 2.296 │ 4.966 │ 2.5 │\n",
"│ 231.2 │ 2.212 │ 4.43 │ 2.5 │\n",
"│ 237.6 │ 2.341 │ 4.48 │ 2.5 │\n",
"│ 243.8 │ 2.211 │ 4.044 │ 2.5 │\n",
"│ 250.7 │ 2.219 │ 3.724 │ 2.5 │\n",
"│ 256.2 │ 2.187 │ 3.601 │ 2.5 │\n",
"│ 256.2 │ 2.187 │ 3.601 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 16.1604 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.509 │ 1.34 │ 14.4 │ 0.251 │\n",
"│ Train │ 0.56 │ 1.63 │ 14 │ 0.303 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.829 │ 0 │ 10.55 │ 5 │\n",
"│ 5.698 │ 0 │ 5.267 │ 2.5 │\n",
"│ 8.438 │ 0 │ 2.09 │ 1.25 │\n",
"│ 11.17 │ 0 │ 0.9631 │ 0.625 │\n",
"│ 14.06 │ 0 │ 0.1971 │ 0.3125 │\n",
"│ 16.88 │ 0 │ 0.1182 │ 0.1562 │\n",
"│ 19.6 │ 0 │ 0.04039 │ 0.07812 │\n",
"│ 22.35 │ 0 │ 0.01199 │ 0.03906 │\n",
"│ 25.13 │ 0 │ 0.003504 │ 0.01953 │\n",
"│ 27.94 │ 0 │ 0.001135 │ 0.009766 │\n",
"│ 30.71 │ 0 │ 0.0003646 │ 0.004883 │\n",
"│ 30.71 │ 0 │ 0.0003646 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.7146 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.509 │ 1.31 │ 14.4 │ 0.25 │\n",
"│ Train │ 0.57 │ 1.68 │ 13.9 │ 0.316 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.181 │ 2.16 │ 250.7 │ 5 │\n",
"│ 11.77 │ 2.534 │ 34.79 │ 2.5 │\n",
"│ 17.15 │ 2.579 │ 6.495 │ 2.5 │\n",
"│ 22.51 │ 2.592 │ 1.646 │ 2.5 │\n",
"│ 27.94 │ 2.361 │ 2.959 │ 2.5 │\n",
"│ 34.1 │ 2.089 │ 3.569 │ 2.5 │\n",
"│ 41.56 │ 2.141 │ 7.159 │ 2.5 │\n",
"│ 47.57 │ 2.056 │ 9.334 │ 2.5 │\n",
"│ 53.35 │ 1.962 │ 7.491 │ 2.5 │\n",
"│ 59.44 │ 1.833 │ 5.222 │ 2.5 │\n",
"│ 65.91 │ 1.871 │ 4.478 │ 2.5 │\n",
"│ 73.1 │ 1.842 │ 4.142 │ 2.5 │\n",
"│ 79.54 │ 1.765 │ 3.436 │ 2.5 │\n",
"│ 85.28 │ 1.78 │ 2.801 │ 2.5 │\n",
"│ 90.76 │ 1.777 │ 2.178 │ 2.5 │\n",
"│ 98.24 │ 1.798 │ 2.121 │ 2.5 │\n",
"│ 104.9 │ 1.845 │ 2.56 │ 2.5 │\n",
"│ 111.1 │ 1.897 │ 2.622 │ 2.5 │\n",
"│ 117.7 │ 1.864 │ 2.589 │ 2.5 │\n",
"│ 124.5 │ 1.898 │ 2.624 │ 2.5 │\n",
"│ 131.3 │ 1.844 │ 2.791 │ 2.5 │\n",
"│ 137.6 │ 1.831 │ 3.414 │ 2.5 │\n",
"│ 143.5 │ 1.809 │ 2.849 │ 2.5 │\n",
"│ 149.6 │ 1.773 │ 2.308 │ 2.5 │\n",
"│ 156.6 │ 1.817 │ 2.049 │ 2.5 │\n",
"│ 162.5 │ 1.72 │ 2.019 │ 2.5 │\n",
"│ 168.7 │ 1.649 │ 2.334 │ 2.5 │\n",
"│ 174.8 │ 1.626 │ 2.39 │ 2.5 │\n",
"│ 181.5 │ 1.625 │ 2.218 │ 2.5 │\n",
"│ 188.2 │ 1.609 │ 2.715 │ 2.5 │\n",
"│ 196 │ 1.625 │ 3.891 │ 2.5 │\n",
"│ 201.4 │ 1.638 │ 3.804 │ 2.5 │\n",
"│ 207.3 │ 1.594 │ 3.145 │ 2.5 │\n",
"│ 214 │ 1.638 │ 3.179 │ 2.5 │\n",
"│ 220.9 │ 1.604 │ 2.825 │ 2.5 │\n",
"│ 227.5 │ 1.662 │ 3.48 │ 2.5 │\n",
"│ 233.2 │ 1.705 │ 3.671 │ 2.5 │\n",
"│ 240 │ 1.731 │ 3.073 │ 2.5 │\n",
"│ 246.3 │ 1.787 │ 3.372 │ 2.5 │\n",
"│ 252.8 │ 1.872 │ 3.834 │ 2.5 │\n",
"│ 252.8 │ 1.872 │ 3.834 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 12.7865 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.453 │ 1.05 │ 15.3 │ 0.148 │\n",
"│ Train │ 0.523 │ 1.4 │ 14.7 │ 0.233 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.821 │ 0 │ 32.9 │ 5 │\n",
"│ 5.804 │ 0 │ 10.76 │ 2.5 │\n",
"│ 8.622 │ 0 │ 4.634 │ 1.25 │\n",
"│ 11.54 │ 0 │ 1.936 │ 0.625 │\n",
"│ 14.38 │ 0 │ 0.715 │ 0.3125 │\n",
"│ 17.09 │ 0 │ 0.2388 │ 0.1562 │\n",
"│ 19.81 │ 0 │ 0.09086 │ 0.07812 │\n",
"│ 22.51 │ 0 │ 0.009049 │ 0.03906 │\n",
"│ 25.28 │ 0 │ 0.009253 │ 0.01953 │\n",
"│ 28 │ 0 │ 0.001905 │ 0.009766 │\n",
"│ 30.7 │ 0 │ 0.0003594 │ 0.004883 │\n",
"│ 30.7 │ 0 │ 0.0003594 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.7026 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.512 │ 1.32 │ 14.4 │ 0.251 │\n",
"│ Train │ 0.567 │ 1.69 │ 13.9 │ 0.313 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.209 │ 2.083 │ 258.5 │ 5 │\n",
"│ 10.4 │ 2.455 │ 36.6 │ 2.5 │\n",
"│ 16.23 │ 2.642 │ 3.675 │ 2.5 │\n",
"│ 21.69 │ 2.592 │ 1.674 │ 2.5 │\n",
"│ 27.16 │ 2.356 │ 2.928 │ 2.5 │\n",
"│ 32.47 │ 2.065 │ 3.936 │ 2.5 │\n",
"│ 39.26 │ 1.925 │ 3.769 │ 2.5 │\n",
"│ 46.93 │ 2.248 │ 8.1 │ 2.5 │\n",
"│ 53.29 │ 2.409 │ 9.444 │ 2.5 │\n",
"│ 61.91 │ 2.756 │ 9.948 │ 2.5 │\n",
"│ 69.67 │ 2.713 │ 13.14 │ 2.5 │\n",
"│ 76.67 │ 2.707 │ 12.09 │ 2.5 │\n",
"│ 82.52 │ 2.468 │ 8.517 │ 2.5 │\n",
"│ 88.24 │ 2.329 │ 5.75 │ 2.5 │\n",
"│ 93.88 │ 2.289 │ 4.444 │ 2.5 │\n",
"│ 99.34 │ 2.22 │ 3.42 │ 2.5 │\n",
"│ 105.1 │ 2.171 │ 2.707 │ 2.5 │\n",
"│ 111.3 │ 2.129 │ 2.445 │ 2.5 │\n",
"│ 117.8 │ 2.132 │ 2.394 │ 2.5 │\n",
"│ 125.4 │ 2.108 │ 2.605 │ 2.5 │\n",
"│ 131.6 │ 2.111 │ 4.103 │ 2.5 │\n",
"│ 137.9 │ 2.052 │ 3.178 │ 2.5 │\n",
"│ 145.3 │ 2.048 │ 3.159 │ 2.5 │\n",
"│ 151.5 │ 2.071 │ 4.07 │ 2.5 │\n",
"│ 158.2 │ 2.092 │ 4.14 │ 2.5 │\n",
"│ 164.8 │ 2.066 │ 4.024 │ 2.5 │\n",
"│ 170.9 │ 2.03 │ 3.765 │ 2.5 │\n",
"│ 176.8 │ 2.003 │ 3.615 │ 2.5 │\n",
"│ 182.7 │ 1.968 │ 3.622 │ 2.5 │\n",
"│ 188.3 │ 2.033 │ 3.774 │ 2.5 │\n",
"│ 195.3 │ 2.151 │ 3.315 │ 2.5 │\n",
"│ 201.9 │ 2.235 │ 4.04 │ 2.5 │\n",
"│ 208.2 │ 2.365 │ 5.085 │ 2.5 │\n",
"│ 215.3 │ 2.583 │ 5.66 │ 2.5 │\n",
"│ 223.4 │ 2.699 │ 5.661 │ 2.5 │\n",
"│ 230.4 │ 2.814 │ 7.626 │ 2.5 │\n",
"│ 236.2 │ 2.688 │ 6.927 │ 2.5 │\n",
"│ 243.3 │ 2.659 │ 6.065 │ 2.5 │\n",
"│ 249.9 │ 2.717 │ 6.332 │ 2.5 │\n",
"│ 255.4 │ 2.56 │ 5.601 │ 2.5 │\n",
"│ 255.4 │ 2.56 │ 5.601 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 15.3719 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.487 │ 1.12 │ 14.7 │ 0.223 │\n",
"│ Train │ 0.538 │ 1.49 │ 14.3 │ 0.277 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.787 │ 0 │ 17.94 │ 5 │\n",
"│ 5.539 │ 0 │ 6.93 │ 2.5 │\n",
"│ 8.375 │ 0 │ 2.971 │ 1.25 │\n",
"│ 11.12 │ 0 │ 1.171 │ 0.625 │\n",
"│ 14.06 │ 0 │ 0.429 │ 0.3125 │\n",
"│ 16.81 │ 0 │ 0.1693 │ 0.1562 │\n",
"│ 19.7 │ 0 │ 0.02424 │ 0.07812 │\n",
"│ 22.47 │ 0 │ 0.01725 │ 0.03906 │\n",
"│ 25.23 │ 0 │ 0.005195 │ 0.01953 │\n",
"│ 27.99 │ 0 │ 0.001635 │ 0.009766 │\n",
"│ 30.94 │ 0 │ 0.0003757 │ 0.004883 │\n",
"│ 30.94 │ 0 │ 0.0003757 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.9398 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.495 │ 1.27 │ 14.6 │ 0.235 │\n",
"│ Train │ 0.559 │ 1.64 │ 14 │ 0.305 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.191 │ 2.124 │ 250.8 │ 5 │\n",
"│ 10.5 │ 2.459 │ 35.93 │ 2.5 │\n",
"│ 15.65 │ 2.628 │ 4.564 │ 2.5 │\n",
"│ 20.89 │ 2.581 │ 1.186 │ 2.5 │\n",
"│ 26.16 │ 2.27 │ 3.134 │ 2.5 │\n",
"│ 31.34 │ 1.997 │ 4.044 │ 2.5 │\n",
"│ 38.86 │ 1.89 │ 4.342 │ 2.5 │\n",
"│ 46.19 │ 1.813 │ 4.669 │ 2.5 │\n",
"│ 54.15 │ 1.874 │ 5.238 │ 2.5 │\n",
"│ 61.93 │ 1.848 │ 6.902 │ 2.5 │\n",
"│ 68.43 │ 1.945 │ 7.818 │ 2.5 │\n",
"│ 74.18 │ 1.821 │ 6.6 │ 2.5 │\n",
"│ 80.25 │ 1.772 │ 5.084 │ 2.5 │\n",
"│ 86.78 │ 1.788 │ 4.306 │ 2.5 │\n",
"│ 93.38 │ 1.917 │ 4.009 │ 2.5 │\n",
"│ 100.2 │ 1.96 │ 4.081 │ 2.5 │\n",
"│ 106.2 │ 1.957 │ 3.878 │ 2.5 │\n",
"│ 112.2 │ 1.965 │ 3.029 │ 2.5 │\n",
"│ 118.4 │ 1.966 │ 1.863 │ 2.5 │\n",
"│ 125.7 │ 1.891 │ 2.771 │ 2.5 │\n",
"│ 131.6 │ 1.936 │ 2.916 │ 2.5 │\n",
"│ 137.8 │ 1.882 │ 3.358 │ 2.5 │\n",
"│ 144.6 │ 1.878 │ 3.092 │ 2.5 │\n",
"│ 151.5 │ 1.837 │ 2.764 │ 2.5 │\n",
"│ 157.7 │ 1.806 │ 2.929 │ 2.5 │\n",
"│ 164 │ 1.763 │ 2.451 │ 2.5 │\n",
"│ 170.5 │ 1.731 │ 2.66 │ 2.5 │\n",
"│ 176.6 │ 1.713 │ 2.554 │ 2.5 │\n",
"│ 182.5 │ 1.681 │ 2.907 │ 2.5 │\n",
"│ 188.9 │ 1.618 │ 2.727 │ 2.5 │\n",
"│ 195.4 │ 1.614 │ 2.369 │ 2.5 │\n",
"│ 201.9 │ 1.561 │ 2.067 │ 2.5 │\n",
"│ 207.9 │ 1.501 │ 2.229 │ 2.5 │\n",
"│ 214.4 │ 1.499 │ 2.099 │ 2.5 │\n",
"│ 220.4 │ 1.496 │ 1.781 │ 2.5 │\n",
"│ 226.5 │ 1.576 │ 2.215 │ 2.5 │\n",
"│ 232.7 │ 1.646 │ 2.273 │ 2.5 │\n",
"│ 240.3 │ 1.646 │ 3.062 │ 2.5 │\n",
"│ 246.2 │ 1.906 │ 3.238 │ 2.5 │\n",
"│ 253 │ 2.007 │ 3.467 │ 2.5 │\n",
"│ 253 │ 2.007 │ 3.467 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 12.9934 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.481 │ 1.02 │ 15.4 │ 0.142 │\n",
"│ Train │ 0.543 │ 1.35 │ 14.8 │ 0.218 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.735 │ 0 │ 29.38 │ 5 │\n",
"│ 5.439 │ 0 │ 9.242 │ 2.5 │\n",
"│ 8.155 │ 0 │ 3.997 │ 1.25 │\n",
"│ 10.86 │ 0 │ 1.898 │ 0.625 │\n",
"│ 13.62 │ 0 │ 0.7684 │ 0.3125 │\n",
"│ 16.39 │ 0 │ 0.2783 │ 0.1562 │\n",
"│ 19.2 │ 0 │ 0.08501 │ 0.07812 │\n",
"│ 22.06 │ 0 │ 0.01455 │ 0.03906 │\n",
"│ 24.81 │ 0 │ 0.006942 │ 0.01953 │\n",
"│ 27.54 │ 0 │ 0.001148 │ 0.009766 │\n",
"│ 30.24 │ 0 │ 0.0002852 │ 0.004883 │\n",
"│ 30.24 │ 0 │ 0.0002852 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 30.2447 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.504 │ 1.28 │ 14.5 │ 0.243 │\n",
"│ Train │ 0.566 │ 1.65 │ 13.9 │ 0.313 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.043 │ 2.092 │ 247.1 │ 5 │\n",
"│ 10.22 │ 2.42 │ 35.3 │ 2.5 │\n",
"│ 15.35 │ 2.64 │ 5.268 │ 2.5 │\n",
"│ 20.44 │ 2.586 │ 1.248 │ 2.5 │\n",
"│ 25.68 │ 2.315 │ 3.437 │ 2.5 │\n",
"│ 30.8 │ 2.04 │ 4.306 │ 2.5 │\n",
"│ 37.65 │ 2.029 │ 4.216 │ 2.5 │\n",
"│ 44.76 │ 2.18 │ 6.673 │ 2.5 │\n",
"│ 52.25 │ 2.295 │ 7.77 │ 2.5 │\n",
"│ 58.5 │ 2.523 │ 9.365 │ 2.5 │\n",
"│ 64.47 │ 2.531 │ 8.363 │ 2.5 │\n",
"│ 70.07 │ 2.319 │ 7.253 │ 2.5 │\n",
"│ 75.97 │ 2.22 │ 5.599 │ 2.5 │\n",
"│ 82.1 │ 2.096 │ 4.096 │ 2.5 │\n",
"│ 90.05 │ 2.057 │ 3.765 │ 2.5 │\n",
"│ 96.57 │ 2.084 │ 4.154 │ 2.5 │\n",
"│ 102.4 │ 2.019 │ 3.151 │ 2.5 │\n",
"│ 108.4 │ 1.962 │ 3.004 │ 2.5 │\n",
"│ 114.7 │ 1.926 │ 2.718 │ 2.5 │\n",
"│ 121.2 │ 1.999 │ 3.39 │ 2.5 │\n",
"│ 126.7 │ 1.86 │ 2.923 │ 2.5 │\n",
"│ 133 │ 1.929 │ 3.37 │ 2.5 │\n",
"│ 138.8 │ 1.876 │ 3.037 │ 2.5 │\n",
"│ 145.6 │ 1.934 │ 2.835 │ 2.5 │\n",
"│ 152.5 │ 1.952 │ 3.266 │ 2.5 │\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"│ 158.5 │ 1.911 │ 3.852 │ 2.5 │\n",
"│ 165.2 │ 1.957 │ 3.757 │ 2.5 │\n",
"│ 173.8 │ 2.158 │ 5.088 │ 2.5 │\n",
"│ 180.7 │ 2.477 │ 8.053 │ 2.5 │\n",
"│ 187.2 │ 2.475 │ 8.388 │ 2.5 │\n",
"│ 193.6 │ 2.396 │ 7.191 │ 2.5 │\n",
"│ 202 │ 2.57 │ 6.441 │ 2.5 │\n",
"│ 208.9 │ 2.774 │ 7.537 │ 2.5 │\n",
"│ 215.1 │ 2.802 │ 7.174 │ 2.5 │\n",
"│ 222 │ 2.78 │ 6.903 │ 2.5 │\n",
"│ 229.1 │ 2.635 │ 5.626 │ 2.5 │\n",
"│ 235.9 │ 2.524 │ 4.786 │ 2.5 │\n",
"│ 243.6 │ 2.52 │ 4.635 │ 2.5 │\n",
"│ 249.5 │ 2.487 │ 5.194 │ 2.5 │\n",
"│ 257.1 │ 2.511 │ 5.101 │ 2.5 │\n",
"│ 257.1 │ 2.511 │ 5.101 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 17.0643 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.457 │ 1.11 │ 15 │ 0.19 │\n",
"│ Train │ 0.52 │ 1.44 │ 14.6 │ 0.249 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 3.136 │ 0 │ 17.51 │ 5 │\n",
"│ 6.08 │ 0 │ 9.317 │ 2.5 │\n",
"│ 9.232 │ 0 │ 3.656 │ 1.25 │\n",
"│ 12.12 │ 0 │ 1.375 │ 0.625 │\n",
"│ 15.06 │ 0 │ 0.5161 │ 0.3125 │\n",
"│ 18.02 │ 0 │ 0.1691 │ 0.1562 │\n",
"│ 21.19 │ 0 │ 0.0678 │ 0.07812 │\n",
"│ 24.41 │ 0 │ 0.02118 │ 0.03906 │\n",
"│ 27.75 │ 0 │ 0.005834 │ 0.01953 │\n",
"│ 30.89 │ 0 │ 0.001523 │ 0.009766 │\n",
"│ 33.86 │ 0 │ 0.0003962 │ 0.004883 │\n",
"│ 33.86 │ 0 │ 0.0003962 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 33.8589 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.476 │ 1.22 │ 14.8 │ 0.217 │\n",
"│ Train │ 0.549 │ 1.58 │ 14.1 │ 0.294 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting filters │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 5.504 │ 2.038 │ 242.7 │ 5 │\n",
"│ 11.24 │ 2.4 │ 37.06 │ 2.5 │\n",
"│ 16.8 │ 2.652 │ 5.041 │ 2.5 │\n",
"│ 22.31 │ 2.599 │ 1.147 │ 2.5 │\n",
"│ 27.87 │ 2.262 │ 3.341 │ 2.5 │\n",
"│ 34.41 │ 2.005 │ 4.01 │ 2.5 │\n",
"│ 42.23 │ 1.861 │ 4.27 │ 2.5 │\n",
"│ 50.63 │ 1.998 │ 6.253 │ 2.5 │\n",
"│ 58.66 │ 2.091 │ 8.798 │ 2.5 │\n",
"│ 66.22 │ 2.04 │ 7.562 │ 2.5 │\n",
"│ 73.27 │ 1.982 │ 6.324 │ 2.5 │\n",
"│ 80.53 │ 1.917 │ 5.257 │ 2.5 │\n",
"│ 88.63 │ 2.006 │ 4.279 │ 2.5 │\n",
"│ 95.97 │ 2.053 │ 4.215 │ 2.5 │\n",
"│ 102.3 │ 2 │ 3.535 │ 2.5 │\n",
"│ 111 │ 1.997 │ 3.092 │ 2.5 │\n",
"│ 119.4 │ 1.988 │ 3.283 │ 2.5 │\n",
"│ 126.1 │ 1.975 │ 3.426 │ 2.5 │\n",
"│ 134.9 │ 1.941 │ 3.575 │ 2.5 │\n",
"│ 140.8 │ 1.981 │ 4.723 │ 2.5 │\n",
"│ 146.2 │ 1.905 │ 4.12 │ 2.5 │\n",
"│ 152 │ 1.888 │ 2.987 │ 2.5 │\n",
"│ 158.9 │ 1.881 │ 3.36 │ 2.5 │\n",
"│ 164.2 │ 1.864 │ 3.754 │ 2.5 │\n",
"│ 169.9 │ 1.838 │ 4.838 │ 2.5 │\n",
"│ 177.3 │ 1.847 │ 4.151 │ 2.5 │\n",
"│ 183.7 │ 2.225 │ 8.246 │ 2.5 │\n",
"│ 189.9 │ 1.974 │ 7.279 │ 2.5 │\n",
"│ 195.9 │ 1.942 │ 6.259 │ 2.5 │\n",
"│ 202.2 │ 2.076 │ 6.998 │ 2.5 │\n",
"│ 208 │ 2.003 │ 6.847 │ 2.5 │\n",
"│ 213.8 │ 2.034 │ 6.712 │ 2.5 │\n",
"│ 219.1 │ 1.885 │ 4.85 │ 2.5 │\n",
"│ 224.3 │ 1.969 │ 3.788 │ 2.5 │\n",
"│ 230.2 │ 2.103 │ 3.777 │ 2.5 │\n",
"│ 235.9 │ 2.079 │ 3.168 │ 2.5 │\n",
"│ 242.4 │ 2.075 │ 3.041 │ 2.5 │\n",
"│ 248.6 │ 2.169 │ 3.352 │ 2.5 │\n",
"│ 255.2 │ 2.285 │ 4.787 │ 2.5 │\n",
"│ 262.7 │ 2.322 │ 4.974 │ 2.5 │\n",
"│ 262.7 │ 2.322 │ 4.974 │ 2.5 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Finished optimizing W. Elapsed time: 4 min., 22.717 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.445 │ 0.959 │ 15.9 │ 0.0875 │\n",
"│ Train │ 0.487 │ 1.23 │ 15.4 │ 0.155 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"\n",
"\n",
"╒══════════════════════════════╕\n",
"│ Fitting nonlinearity │\n",
"╘══════════════════════════════╛\n",
"╭──────────────┬──────────────┬──────────────┬──────────────╮\n",
"│ Time (s) │ Primal resid │ Dual resid │ rho │\n",
"├──────────────┼──────────────┼──────────────┼──────────────┤\n",
"│ 2.556 │ 0 │ 21.41 │ 5 │\n",
"│ 5.06 │ 0 │ 12.29 │ 2.5 │\n",
"│ 7.577 │ 0 │ 4.966 │ 1.25 │\n",
"│ 10.1 │ 0 │ 2.471 │ 0.625 │\n",
"│ 12.67 │ 0 │ 0.9692 │ 0.3125 │\n",
"│ 15.21 │ 0 │ 0.3394 │ 0.1562 │\n",
"│ 17.8 │ 0 │ 0.1137 │ 0.07812 │\n",
"│ 20.42 │ 0 │ 0.01613 │ 0.03906 │\n",
"│ 23.2 │ 0 │ 0.009382 │ 0.01953 │\n",
"│ 25.88 │ 0 │ 0.001896 │ 0.009766 │\n",
"│ 28.43 │ 0 │ 0.0004264 │ 0.004883 │\n",
"│ 28.43 │ 0 │ 0.0004264 │ 0.004883 │\n",
"╰──────────────┴──────────────┴──────────────┴──────────────╯\n",
"\n",
"Converged after 11 iterations!\n",
"Finished optimizing f. Elapsed time: 28.4315 s\n",
"╭────────────┬────────────┬────────────┬────────────┬────────────╮\n",
"│ Set │ CC │ LLI │ RMSE │ FEV │\n",
"├────────────┼────────────┼────────────┼────────────┼────────────┤\n",
"│ Test │ 0.494 │ 1.26 │ 14.6 │ 0.233 │\n",
"│ Train │ 0.552 │ 1.56 │ 14.1 │ 0.298 │\n",
"╰────────────┴────────────┴────────────┴────────────┴────────────╯\n",
"Done.\n",
"\n"
]
}
],
"source": [
"lnln = models.LNLN(stimulus, rates[cell], (stim_dim, hist_dim), num_subunits=4)\n",
"lnln.add_regularizer('W', 'sparse', gamma=1.25)\n",
"lnln.add_regularizer('W', 'nucnorm', gamma=1.7)\n",
"lnln.fit(num_alt=15, max_iter=40)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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vvkmL5wiU2rbti2qq6uRl5enO4rpWa1WjqqfR1paGnr37o333nsP1dXVuuOQHVitVvTt2xcnTpzAsmXLcMkllzjstbSX9TM2QYpTSkUBaAtgFYBHNMfT5p///CfCw8Nxxx134OTJk7rjENXrwQcfRG5uLr755hvdUYguGncxtY/Kykps3ryZZf0CpkyZgpycHMybN093FGqihQsX4oorrgAALF++HF26dHHo62kv6/VRSh0C8CSA6bqz6BIYGIgPP/wQWVlZ+Pvf/647DlG9hg0bhqSkJLzyyitcxpFMh7uY2kdOTg5OnjzJZRsv4MYbb0RcXBymT3fZauMU3n33XVx77bVISEjAb7/9hk6dOjn8NQ1Z1mu5oWZ3U5d11VVX4Z577sFrr72GxYsX645DdBY3Nzc89thjWLduHX744QfdcYguCncxtQ+LxQKAF5deiIeHBx555BH8+uuvWLVqle44dJFOnDiBO++8E5MmTcLQoUOxatUqREVFNctray/rZ26CJCI3isj9AD4DsFp3Pt1effVVpKam4tZbb+XoDxnS7bffjoSEBPzjH//g6DqZSlhYzXgQy3rTWK1WeHh4IDU1VXcUw7vzzjsRERGBxx9/nD8vTWTLli3o2bMnZs2ahaeffhpz586Fn59fs72+9rKO0zdB+hrAVwD+DmADgAkacxmCr68vZs+ejePHj+OWW25BZWWl7khEp/H09MRTTz2FDRs2YO7cubrjEDVYixYtEBwczIGQJrJarUhJSYGXl5fuKIbn4+ODZ599FmvWrOHPS5P47LPP0L17d+Tl5eGnn37Cs88+C3f35t0GSHtZr28jJKVUuFLqL0opDneg5iry9957D6tXr8aTTz6pOw7RWW699VYkJSXhySef5MowZCrcGKnpLBYLp8BchDvvvBMpKSl4/PHH+fPSwEpLSzFx4kTcfvvt6N69OzZu3IjBgwdryaK9rFPD3HbbbfjrX/+K6dOn45NPPtEdh+g0Hh4eePnll5GVlYX/+7//0x2HqMG4MVLTFBcXY+/evSzrF8HDwwPTp0/H1q1b8corr+iOQ/XYvn07Lr30UsycOROPP/44li5deuoaFx0MUdZF5HoRWSUiBbXHahG5QXcuo/nnP/+JAQMGYMKECVi92uWn8zs1M27SMmLECAwZMgRPP/00d+kj04iIiOA0mCbYtGkTAF5c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\n",
"text/plain": [
"<Figure size 864x576 with 8 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.show = lambda: 1 # Prevent tentbasis.plot from plotting prematurely\n",
"lnln.plot()\n",
"\n",
"# Format to resemble figure 3\n",
"bar_size = 55.5\n",
"center_y = 27\n",
"fig = plt.gcf()\n",
"fig.set_figwidth(12)\n",
"fig.subplots_adjust(wspace=0.03, hspace=0.3)\n",
"for ax in fig.get_axes():\n",
" if ax.is_first_row():\n",
" ax.set_ylim(center_y+np.array([-700/bar_size, 700/bar_size]))\n",
" if ax.is_first_col():\n",
" ax.set_xticks([0, 20, 40])\n",
" ax.set_xticklabels([400, 200, 0])\n",
" ax.set_yticks(center_y+np.array([-670/bar_size, 0, 670/bar_size]))\n",
" ax.set_yticklabels(['670', '0', '670'])\n",
" ax.set_xlabel('Time preceding spike (ms)', size=14)\n",
" ax.set_ylabel('Distance from\\nRF Center (um)', size=14)\n",
" else:\n",
" ax.set_xlim([-4, 4])\n",
" ax.set_ylim([-4, 24])\n",
" ax.spines['top'].set_visible(False)\n",
" ax.spines['right'].set_visible(False)\n",
" if ax.is_first_col():\n",
" ax.set_ylabel('Subunit output', size=14)\n",
" ax.set_xlabel('Input to nonlinearity (s.d.)', size=14)\n",
" else:\n",
" ax.set_xlabel('')\n",
" ax.set_ylabel('')\n",
" ax.set_xticklabels([])\n",
" ax.set_yticklabels([])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The figure above resembles figure 3 from the paper with the exception of\n",
"- distorted filters\n",
"- one failed subunit fit (third column)\n",
"- reversed nonlinearities and flipped signs of the filters"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment