Logo

HYPGEOMDIST

Updated 2024-03-08 16:31:30.290000

Syntax

SELECT [westclintech].[wct].[HYPGEOMDIST] ( 
  < @Sample_s , float ,> 
 ,< @Number_sample , float ,> 
 ,< @Population_s , float ,> 
 ,< @Number_population , float ,>)

Description

Use the scalar function HYPGEOMDIST to calculate the probability mass function of the hypergeometric distribution. HYPGEOMDIST calculates the probability of a given number of samples successes, given the sample size, population successes, and the population size. The formula for the probability mass function is:

f(x;N,m,n)=\frac{\binom{m}{k}\binom{N-m}{n-k}}{\binom{N}{n}}

Where

{
    "columns": [
        {
            "field": "column 1",
            "maxWidth": 100
        },
        {
            "field": "column 2",
            "maxWidth": 325
        }
    ],
    "rows": [
        {
            "column 1": "k",
            "column 2": "is the number of successes in the sample"
        },
        {
            "column 1": "N",
            "column 2": "is the size of the sample"
        },
        {
            "column 1": "m",
            "column 2": "is the number of successes in the population"
        },
        {
            "column 1": "n",
            "column 2": "is the population size"
        }
    ]
}

Arguments

@Number_population

is the population size. @Number_population is an expression of type float or of a type that can be implicitly converted to float.

@Number_sample

is the size of the sample. @Number_sample is an expression of type float or of a type that can be implicitly converted to float.

@Sample_s

is the number of successes in the sample. @Sample_s is an expression of type float or of a type that can be implicitly converted to float.

@Population_s

is the number of successes in the population. @ Population_s is an expression of type float or of a type that can be implicitly converted to float.

Return Type

float

Remarks

If @Sample_s < 0 or @Sample_s > MIN (@Number_sample , @Population_s ), HYPGEOMDIST returns an error.

If @Sample_s < MAX(0, @Number_sample-@Number_population+@Population_s ), HYPGEOMDIST returns an error.

If @Number_sample = 0 or @Number_sample > @Number_population , HYPGEOMDIST returns an error.

If @Population_s = 0 or @Population_s > @Number_populations , HYPGEOMDIST returns an error.

If @Number_population = 0, HYPGEOMDIST returns an error.

Examples

select wct.HYPGEOMDIST(20, 900, 45, 2000);

This produces the following result.

{"columns":[{"field":"column 1","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"column 1":"0.120021812146482"}]}

This value could also have been calculated using the FACTLN function.

select EXP((wct.FACTLN(45) - wct.FACTLN(25) - wct.FACTLN(45 - 25))

           + (wct.FACTLN(1955) - wct.FACTLN(1075) - wct.FACTLN(1955 - 1075))

           - (wct.FACTLN(2000) - wct.FACTLN(1100) - wct.FACTLN(2000 - 1100))

          );

This produces the following result

{"columns":[{"field":"column 1","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"column 1":"0.120021812146482"}]}