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/
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 |