Statistics::TTest - Perl module to perform T-test on 2 independent samples
use Statistics::PointEstimation; use Statistics::TTest; my @r1=(); my @r2=(); my $rand;
for($i=1;$i<=32;$i++) #generate a uniformly distributed sample with mean=5 {
$rand=rand(10); push @r1,$rand; $rand=rand(10)-2; push @r2,$rand; }
my $ttest = new Statistics::TTest; $ttest->set_significance(90); $ttest->load_data(\@r1,\@r2); $ttest->output_t_test(); $ttest->set_significance(99); $ttest->print_t_test(); #list out t-test related data
#the following thes same as calling output_t_test() my $s1=$ttest->{s1}; #sample 1 a Statistics::PointEstimation object my $s2=$ttest->{s2}; #sample 2 a Statistics::PointEstimation object print "*****************************************************\n\n"; $s1->output_confidence_interval('1'); print "*****************************************************\n\n"; $s2->output_confidence_interval('2'); print "*****************************************************\n\n";
print "Comparison of these 2 independent samples.\n"; print "\t F-statistic=",$ttest->f_statistic()," , cutoff F-statistic=",$ttest->f_cutoff(), " with alpha level=",$ttest->alpha*2," and df =(",$ttest->df1,",",$ttest->df2,")\n"; if($ttest->{equal_variance}) { print "\tequal variance assumption is accepted(not rejected) since F-statistic < cutoff F-statistic\n";} else { print "\tequal variance assumption is rejected since F-statistic > cutoff F-statistic\n";}
print "\tdegree of freedom=",$ttest->df," , t-statistic=T=",$ttest->t_statistic," Prob >|T|=",$ttest->{t_prob},"\n"; print "\tthe null hypothesis (the 2 samples have the same mean) is ",$ttest->null_hypothesis(), " since the alpha level is ",$ttest->alpha()*2,"\n"; print "\tdifference of the mean=",$ttest->mean_difference(),", standard error=",$ttest->standard_error(),"\n"; print "\t the estimate of the difference of the mean is ", $ttest->mean_difference()," +/- ",$ttest->delta(),"\n\t", " or (",$ttest->lower_clm()," to ",$ttest->upper_clm," ) with ",$ttest->significance," % of confidence\n";
This is the Statistical T-Test module to compare 2 independent samples. It takes 2 array of point measures, compute the confidence intervals using the PointEstimation module (which is also included in this package) and use the T-statistic to test the null hypothesis. If the null hypothesis is rejected, the difference will be given as the lower_clm and upper_clm of the TTest object.
Yun-Fang Juan , Yahoo! Inc. (yunfang@yahoo-inc.com)
Statistics::Descriptive Statistics::Distributions Statistics::PointEstimation