-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrmse.tick
36 lines (30 loc) · 1.02 KB
/
rmse.tick
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
dbrp "test"."autogen"
var src = batch
|query('SELECT "value" FROM "test"."autogen"."src"')
.period(60d)
.every(1m)
.offset(1d)
var forecasted = batch
|query('SELECT "value" FROM "test"."autogen"."forecasted"')
.period(60d)
.every(1m)
.offset(1d)
// Compute percentage errors
var errors = src
|join(forecasted).as('src','forecasted').tolerance(1m)
|log().prefix('join src.forecasted')
|eval(lambda: pow("forecasted.value" - "src.value", 2.0)).as('error')
var sum_squared_errors = errors
|sum('error').as('value')
|log().prefix('sum_squared_errors')
var count = errors
|count('error').as('value')
|log().prefix('count')
sum_squared_errors
|join(count).as('sum_squared_errors', 'count')
|eval(lambda: sqrt(float("sum_squared_errors.value") / float("count.value"))).as('rmse')
|log().prefix('rmse')
|influxDBOut()
.database('test')
.retentionPolicy('autogen')
.measurement('rmse')