Re: Idempotence and "Replication Insensitivity" are equivalent ?

From: <pamelafluente_at_libero.it>
Date: 19 Sep 2006 12:18:27 -0700
Message-ID: <1158693507.786851.20630_at_b28g2000cwb.googlegroups.com>


Chris Smith ha scritto:

> <pamelafluente_at_libero.it> wrote:
> > this is an exaggeration. Everyone knows that the variance is simply
> > the difference between the second moment and the square of the
> > first moment. So you just need to accumulate values and their squares.
>
> Ah. In that case, variance (and standard deviation) are efficient
> aggregate functions.

  ;)

    Function Variance(ByVal Records As ArrayList) As Double

        Dim Sum As Double
        Dim SumSquares As Double
        Dim NonNullRecords As Integer

        For Each Record As Object() In Records

            Dim Value As Object = Record(Me.Field.FieldOrdinal)

            If Not Value Is System.Convert.DBNull Then

                Dim ValueDouble As Double = CDbl(Value)
                Sum += ValueDouble
                SumSquares += ValueDouble * ValueDouble
                NonNullRecords += 1

            End If

        Next Record

        'Variance
        Return (SumSquares * NonNullRecords - Sum * Sum) /
(NonNullRecords * NonNullRecords)

    End Function

>
> --
> Chris Smith
Received on Tue Sep 19 2006 - 21:18:27 CEST

Original text of this message