| 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: | Whole Thread | Raw Message | 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 |