{ "cells": [ { "cell_type": "markdown", "id": "7545f9ad", "metadata": {}, "source": [ "# Armadillo real world example - Frequentist fit\n", "\n", "In progress" ] }, { "cell_type": "code", "execution_count": 1, "id": "d175860d", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from pysip.regressors import Regressor\n", "from pysip.statespace import TwTi_RoRi" ] }, { "cell_type": "code", "execution_count": 2, "id": "1b96ade6", "metadata": {}, "outputs": [], "source": [ "# Load and prepare the data\n", "df = pd.read_csv(\"../../../../data/armadillo/armadillo_data_H2.csv\").set_index(\"Time\")\n", "df.drop(df.index[-1], axis=0, inplace=True)\n", "inputs = [\"T_ext\", \"P_hea\"]\n", "outputs = \"T_int\"\n", "sT = 3600.0 * 24.0\n", "df.index /= sT # Change time scale to days" ] }, { "cell_type": "code", "execution_count": 3, "id": "c4e18d00", "metadata": {}, "outputs": [], "source": [ "# Parameter settings for second order dynamic thermal model\n", "parameters = [\n", " dict(name=\"Ro\", scale=1e-2, transform=\"log\"),\n", " dict(name=\"Ri\", scale=1e-3, transform=\"log\"),\n", " dict(name=\"Cw\", scale=1e7 / sT, transform=\"log\"),\n", " dict(name=\"Ci\", scale=1e6 / sT, transform=\"log\"),\n", " dict(name=\"sigw_w\", scale=1e-3 * sT**0.5, transform=\"log\"),\n", " dict(name=\"sigw_i\", value=0.0, transform=\"fixed\"),\n", " dict(name=\"sigv\", scale=1e-2, transform=\"log\"),\n", " dict(name=\"x0_w\", loc=25.0, scale=7.0, transform=\"none\"),\n", " dict(name=\"x0_i\", value=26.7, transform=\"fixed\"),\n", " dict(name=\"sigx0_w\", value=0.1, transform=\"fixed\"),\n", " dict(name=\"sigx0_i\", value=0.1, transform=\"fixed\"),\n", "]" ] }, { "cell_type": "code", "execution_count": 4, "id": "721b1df5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: -331.057569\n", " Iterations: 25\n", " Function evaluations: 510\n", " Gradient evaluations: 34\n" ] }, { "data": { "text/html": [ "
\n", " | θ | \n", "σ(θ) | \n", "pvalue | \n", "|g(η)| | \n", "|dpen(θ)| | \n", "
---|---|---|---|---|---|
Ro | \n", "0.017593 | \n", "0.000927 | \n", "0.0 | \n", "0.000022 | \n", "3.230694e-17 | \n", "
Ri | \n", "0.001984 | \n", "0.000075 | \n", "0.0 | \n", "0.000049 | \n", "2.539865e-17 | \n", "
Cw | \n", "169.597112 | \n", "7.662583 | \n", "0.0 | \n", "0.000023 | \n", "4.657315e-17 | \n", "
Ci | \n", "18.946350 | \n", "0.771580 | \n", "0.0 | \n", "0.000022 | \n", "3.731826e-17 | \n", "
sigw_w | \n", "0.521344 | \n", "0.046986 | \n", "0.0 | \n", "0.000007 | \n", "3.178810e-17 | \n", "
sigv | \n", "0.034325 | \n", "0.002333 | \n", "0.0 | \n", "0.000029 | \n", "8.487470e-18 | \n", "
x0_w | \n", "26.594539 | \n", "0.130517 | \n", "0.0 | \n", "0.000011 | \n", "0.000000e+00 | \n", "