LazyData: yes
URL: http://git.auder.net/?p=talweg.git
License: MIT + file LICENSE
-RoxygenNote: 6.0.1
+RoxygenNote: 5.0.1
Collate:
'A_NAMESPACE.R'
'Data.R'
if (simtype != "endo")
{
h_best_exo = optimize(
- errorOnLastNdays, c(0,10), kernel=kernel, simtype="exo")$minimum
+ errorOnLastNdays, c(0,7), kernel=kernel, simtype="exo")$minimum
}
if (simtype != "exo")
{
h_best_endo = optimize(
- errorOnLastNdays, c(0,10), kernel=kernel, simtype="endo")$minimum
+ errorOnLastNdays, c(0,7), kernel=kernel, simtype="endo")$minimum
}
if (simtype == "endo")
simils_endo
else #mix
simils_endo * simils_exo
+ similarities = similarities / sum(similarities)
prediction = rep(0, horizon)
for (i in seq_along(fdays))
prediction = prediction + similarities[i] * data$getCenteredSerie(fdays[i]+1)[1:horizon]
- prediction = prediction / sum(similarities, na.rm=TRUE)
if (final_call)
{
if (simtype != "endo")
{
h_best_exo = optimize(
- errorOnLastNdays, c(0,10), kernel=kernel, simtype="exo")$minimum
+ errorOnLastNdays, c(0,7), kernel=kernel, simtype="exo")$minimum
}
if (simtype != "exo")
{
h_best_endo = optimize(
- errorOnLastNdays, c(0,10), kernel=kernel, simtype="endo")$minimum
+ errorOnLastNdays, c(0,7), kernel=kernel, simtype="endo")$minimum
}
if (simtype == "endo")
return (NA)
levelToday = data$getLevel(today)
distances = sapply(fdays, function(i) abs(data$getLevel(i)-levelToday))
- dist_thresh = 1
+ #TODO: 2, 3, 5, 10 magic numbers here...
+ dist_thresh = 2
+ min_neighbs = min(3,length(fdays))
repeat
{
same_pollution = (distances <= dist_thresh)
- if (sum(same_pollution) >= 2) #will eventually happen
+ nb_neighbs = sum(same_pollution)
+ if (nb_neighbs >= min_neighbs) #will eventually happen
break
- dist_thresh = dist_thresh + 1
+ dist_thresh = dist_thresh + 3
}
fdays = fdays[same_pollution]
- if (length(fdays) == 1)
+ max_neighbs = 10
+ if (nb_neighbs > max_neighbs)
+ {
+ # Keep only max_neighbs closest neighbors
+ fdays = fdays[ sort(distances[same_pollution],index.return=TRUE)$ix[1:max_neighbs] ]
+ }
+ if (length(fdays) == 1) #the other extreme...
{
if (final_call)
{
simils_endo
else #mix
simils_endo * simils_exo
+ similarities = similarities / sum(similarities)
prediction = rep(0, horizon)
for (i in seq_along(fdays))
prediction = prediction + similarities[i] * data$getCenteredSerie(fdays[i]+1)[1:horizon]
- prediction = prediction / sum(similarities, na.rm=TRUE)
if (final_call)
{
plotFilamentsBox(data, f_np); title(paste("FilBox nn day",i_np))
plotFilamentsBox(data, f_p); title(paste("FilBox nn day",i_p))
-plotFilamentsBox(data, f_np2); title(paste("FilBox nn2 day",i_np))
-plotFilamentsBox(data, f_p2); title(paste("FilBox nn2 day",i_p))
+# Generally too few neighbors:
+#plotFilamentsBox(data, f_np2); title(paste("FilBox nn2 day",i_np))
+#plotFilamentsBox(data, f_p2); title(paste("FilBox nn2 day",i_p))
-----r
par(mfrow=c(1,2))
plotRelVar(data, f_np); title(paste("StdDev nn day",i_np))
"cell_type": "code",
"execution_count": null,
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "deletable": true,
+ "editable": true
},
"outputs": [],
"source": [
"outputs": [],
"source": [
"par(mfrow=c(1,2))\n",
- "plotFilamentsBox(data, f_np); title(paste(\"FilBox nn day\",i_np))\n",
- "plotFilamentsBox(data, f_p); title(paste(\"FilBox nn day\",i_p))\n",
+ "#plotFilamentsBox(data, f_np); title(paste(\"FilBox nn day\",i_np))\n",
+ "#plotFilamentsBox(data, f_p); title(paste(\"FilBox nn day\",i_p))\n",
"\n",
"plotFilamentsBox(data, f_np2); title(paste(\"FilBox nn2 day\",i_np))\n",
- "plotFilamentsBox(data, f_p2); title(paste(\"FilBox nn2 day\",i_p))"
+ "#plotFilamentsBox(data, f_p2); title(paste(\"FilBox nn2 day\",i_p))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "f_np2"
]
},
{