Method: Statsample::StratifiedSample#variance_pst

Defined in:
lib/statsample/multiset.rb

#variance_pst(field, v = 1) ⇒ Object

Cochran(1971), p. 150



298
299
300
301
302
303
304
305
306
307
308
# File 'lib/statsample/multiset.rb', line 298

def variance_pst(field,v=1)
  sum=@ms.datasets.inject(0) {|a,da|
    stratum_name=da[0]
    ds=da[1]
    nh=ds.cases.to_f
    s_size=@strata_sizes[stratum_name]
    prop=ds[field].proportion(v)
    a + (((s_size**2 * (s_size-nh)) / (s_size-1))*(prop*(1-prop) / (nh-1)))
  }
  (1/@population_size.to_f ** 2)*sum
end