Module: Statsample::Test::T
- Extended by:
- Math
- Defined in:
- lib/statsample/test/t.rb
Defined Under Namespace
Classes: OneSample, TwoSamplesIndependent
Class Method Summary collapse
-
.df_equal_variance(n1, n2) ⇒ Object
Degrees of freedom for equal variance.
-
.df_not_equal_variance(s1, s2, n1, n2) ⇒ Object
Degrees of freedom for unequal variance *
s1: sample 1 standard deviation *s2: sample 2 standard deviation *n1: sample 1 size *n2: sample 2 size == Reference * en.wikipedia.org/wiki/Welch-Satterthwaite_equation. -
.one_sample(x, u, s, n) ⇒ Object
Test the null hypothesis that the population mean is equal to a specified value u, one uses the statistic.
-
.two_sample_independent(x1, x2, s1, s2, n1, n2, equal_variance = false) ⇒ Object
Test if means of two samples are different.
Class Method Details
.df_equal_variance(n1, n2) ⇒ Object
Degrees of freedom for equal variance
35 36 37 |
# File 'lib/statsample/test/t.rb', line 35 def df_equal_variance(n1,n2) n1+n2-2 end |
.df_not_equal_variance(s1, s2, n1, n2) ⇒ Object
Degrees of freedom for unequal variance
-
s1: sample 1 standard deviation -
s2: sample 2 standard deviation -
n1: sample 1 size -
n2: sample 2 size
Reference
45 46 47 48 49 50 51 |
# File 'lib/statsample/test/t.rb', line 45 def df_not_equal_variance(s1,s2,n1,n2) s2_1=s1**2 s2_2=s2**2 num=(s2_1.quo(n1)+s2_2.quo(n2))**2 den=(s2_1.quo(n1)**2).quo(n1-1) + (s2_2.quo(n2)**2).quo(n2-1) num.quo(den) end |
.one_sample(x, u, s, n) ⇒ Object
Test the null hypothesis that the population mean is equal to a specified value u, one uses the statistic. Is the same formula used on t-test for paired sample.
-
x: sample/differences mean -
u: population mean -
s: sample/differences standard deviation -
n: sample size
12 13 14 |
# File 'lib/statsample/test/t.rb', line 12 def one_sample(x,u,s,n) (x-u).quo(s.quo(Math::sqrt(n))) end |
.two_sample_independent(x1, x2, s1, s2, n1, n2, equal_variance = false) ⇒ Object
Test if means of two samples are different.
-
x1: sample 1 mean -
x2: sample 2 mean -
s1: sample 1 standard deviation -
s2: sample 2 standard deviation -
n1: sample 1 size -
n2: sample 2 size -
equal_variance: true if equal_variance assumed
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/statsample/test/t.rb', line 24 def two_sample_independent(x1, x2, s1, s2, n1, n2, equal_variance = false) num=x1-x2 if equal_variance sx1x2 = sqrt(((n1-1)*s1**2 + (n2-1)*s2**2).quo(n1+n2-2)) den = sx1x2*sqrt(1.quo(n1)+1.quo(n2)) else den=sqrt((s1**2).quo(n1) + (s2**2).quo(n2)) end num.quo(den) end |