fix methods, update report generation
[talweg.git] / reports / report.ipynb
index 899fbf6..f0a06d0 100644 (file)
@@ -59,8 +59,6 @@
     "editable": true
    },
    "source": [
-    "\n",
-    "\n",
     "<h2 style=\"color:blue;font-size:2em\">Pollution par chauffage</h2>"
    ]
   },
    "outputs": [],
    "source": [
     "reload(\"../pkg\")\n",
-    "p1 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"exo\")\n",
-    "p2 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"endo\")\n",
+    "#p1 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"exo\")\n",
+    "#p2 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"endo\")\n",
     "p3 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"mix\")\n",
-    "p4 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"exo\")\n",
-    "p5 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"endo\")\n",
-    "p6 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"mix\")\n"
+    "p4 = computeForecast(data, indices_ch, \"Neighbors\", \"Neighbors\", horizon=H, simtype=\"mix\")\n",
+    "#p4 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"exo\")\n",
+    "#p5 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"endo\")\n",
+    "#p6 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"mix\")"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "collapsed": false
+    "collapsed": false,
+    "deletable": true,
+    "editable": true
+   },
+   "outputs": [],
+   "source": [
+    "getSimilarDaysIndices(1000,10,TRUE,data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": false,
+    "deletable": true,
+    "editable": true
+   },
+   "outputs": [],
+   "source": [
+    "as.POSIXlt(data$getTime(1000)[1])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": false,
+    "deletable": true,
+    "editable": true
    },
    "outputs": [],
    "source": [
-    "e1 = computeError(data, p1, H)\n",
-    "e2 = computeError(data, p2, H)\n",
+    "#e1 = computeError(data, p1, H)\n",
+    "#e2 = computeError(data, p2, H)\n",
     "e3 = computeError(data, p3, H)\n",
     "e4 = computeError(data, p4, H)\n",
-    "e5 = computeError(data, p5, H)\n",
-    "e6 = computeError(data, p6, H)\n",
-    "plotError(list(e1,e2,e3,e4,e5,e6), cols=c(1,2,colors()[258], 4,5,6))"
+    "#e5 = computeError(data, p5, H)\n",
+    "#e6 = computeError(data, p6, H)\n",
+    "plotError(list(e3,e4), cols=c(1,2))"
    ]
   },
   {
    },
    "outputs": [],
    "source": [
-    "e_nn_exo = computeError(data, p_nn_exo, 3)\n",
-    "e_nn_mix = computeError(data, p_nn_mix, 3)\n",
-    "e_az = computeError(data, p_az, 3)\n",
-    "e_pz = computeError(data, p_pz, 3)\n",
-    "options(repr.plot.width=9, repr.plot.height=7)\n",
-    "plotError(list(e_nn_mix, e_pz, e_az, e_nn_exo), cols=c(1,2,colors()[258], 4))\n",
-    "\n",
-    "# Noir: neighbors_mix, bleu: neighbors_exo, vert: moyenne, rouge: persistence\n",
-    "\n",
-    "i_np = which.min(e_nn_exo$abs$indices)\n",
-    "i_p = which.max(e_nn_exo$abs$indices)"
+    "\tfirst_day = 1\n",
+    "params=p3$getParams(3)\n",
+    "\tfilter = (params$indices >= first_day)\n",
+    "\tindices = params$indices[filter]\n",
+    "\tweights = params$weights[filter]\n",
+    "\n",
+    "\n",
+    "\tgaps = sapply(indices, function(i) {\n",
+    "\t\tdata$getSerie(i+1)[1] - tail(data$getSerie(i), 1)\n",
+    "\t})\n",
+    "\tscal_product = weights * gaps\n",
+    "\tnorm_fact = sum( weights[!is.na(scal_product)] )\n",
+    "\tsum(scal_product, na.rm=TRUE) / norm_fact\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [],
+   "source": [
+    "hist(weights)"
    ]
   },
   {
     "options(repr.plot.width=9, repr.plot.height=4)\n",
     "par(mfrow=c(1,2))\n",
     "\n",
-    "plotPredReal(data, p_nn_exo, i_np); title(paste(\"PredReal nn exo day\",i_np))\n",
-    "plotPredReal(data, p_nn_exo, i_p); title(paste(\"PredReal nn exo day\",i_p))\n",
+    "plotPredReal(data, p3, 3); title(paste(\"PredReal nn exo day\",3))\n",
+    "plotPredReal(data, p3, 5); title(paste(\"PredReal nn exo day\",5))\n",
     "\n",
-    "plotPredReal(data, p_nn_mix, i_np); title(paste(\"PredReal nn mix day\",i_np))\n",
-    "plotPredReal(data, p_nn_mix, i_p); title(paste(\"PredReal nn mix day\",i_p))\n",
-    "\n",
-    "plotPredReal(data, p_az, i_np); title(paste(\"PredReal az day\",i_np))\n",
-    "plotPredReal(data, p_az, i_p); title(paste(\"PredReal az day\",i_p))\n",
+    "plotPredReal(data, p4, 3); title(paste(\"PredReal nn mix day\",3))\n",
+    "plotPredReal(data, p4, 5); title(paste(\"PredReal nn mix day\",5))\n",
     "\n",
     "# Bleu: prévue, noir: réalisée"
    ]