Re: Add min and max execute statement time in pg_stat_statement

From: Arne Scheffer <arne(dot)scheffer(at)uni-muenster(dot)de>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>, David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add min and max execute statement time in pg_stat_statement
Date: 2015-01-21 14:27:03
Message-ID: permail-20150121142703fe5316b60000277f-scheffa@message-id.uni-muenster.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Sorry, corrected second try because of copy&paste mistakes:
VlG-Arne

> Comments appreciated.

> Definition var_samp = Sum of squared differences /n-1
> Definition stddev_samp = sqrt(var_samp)

> Example N=4

> 1.) Sum of squared differences
> 1_4Sum(Xi-XM4)²
> =
> 2.) adding nothing
> 1_4Sum(Xi-XM4)²
> +0
> +0
> +0
> =
> 3.) nothing changed
> 1_4Sum(Xi-XM4)²
> +(-1_3Sum(Xi-XM3)²+1_3Sum(Xi-XM3)²)
> +(-1_2Sum(Xi-XM2)²+1_2Sum(Xi-XM2)²)
> +(-1_1Sum(Xi-XM1)²+1_1Sum(Xi-XM1)²)

> =
> 4.) parts reordered
> (1_4Sum(Xi-XM4)²-1_3Sum(Xi-XM3)²)
> +(1_3Sum(Xi-XM3)²-1_2Sum(Xi-XM2)²)
> +(1_2Sum(Xi-XM2)²-1_1Sum(Xi-XM1)²)
> +1_1Sum(X1-XM1)²
> =
> 5.)
> (X4-XM4)(X4-XM3)
> + (X3-XM3)(X3-XM2)
> + (X2-XM2)(X2-XM1)
> + (X1-XM1)²
> =
> 6.) XM1=X1 => There it is - The iteration part of Welfords Algorithm
> (in
> reverse order)
> (X4-XM4)(X4-XM3)
> + (X3-XM3)(X3-XM2)
> + (X2-XM2)(X2-X1)
> + 0

> The missing piece is 4.) to 5.)
> it's algebra, look at e.g.:
> http://jonisalonen.com/2013/deriving-welfords-method-for-computing-variance/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2015-01-21 14:46:53 Re: Add min and max execute statement time in pg_stat_statement
Previous Message Arne Scheffer 2015-01-21 14:16:11 Re: Add min and max execute statement time in pg_stat_statement