diff --git a/test/test_01_loading.py b/test/test_01_loading.py new file mode 100644 index 0000000..3ecb6b8 --- /dev/null +++ b/test/test_01_loading.py @@ -0,0 +1,17 @@ +def test_01_loading_test1_csv(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + +def test_01_loading_test1_csv_check_data(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.checkData() + +def test_01_loading_test1_csv_column_values(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.columnValues("responseTime") + +def test_01_loading_test1_xlxs(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.xlsx", "test1") \ No newline at end of file diff --git a/test/test_02_processing.py b/test/test_02_processing.py new file mode 100644 index 0000000..c36a60c --- /dev/null +++ b/test/test_02_processing.py @@ -0,0 +1,25 @@ +def test_02_processing_test1_csv(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dp = dr.process() + +def test_02_processing_test1_csv_print_pivots_rates(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dp = dr.process() + dp.printPivot() + dp.printRates() + +def test_02_processing_test1_csv_descriptive_stats(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dp = dr.process() + dp.printDescriptiveStats() + +def test_02_processing_test1_csv_response_time(): + import pyWitness + drRAC = pyWitness.DataRaw("../data/tutorial/test1.csv") + drRAC.collapseContinuousData(column="responseTime", + bins=[0, 5000, 10000, 15000, 20000, 99999], + labels=[1, 2, 3, 4, 5]) + dpRAC = drRAC.process(reverseConfidence=True, dependentVariable="responseTime") diff --git a/test/test_03_plotting.py b/test/test_03_plotting.py new file mode 100644 index 0000000..0213bab --- /dev/null +++ b/test/test_03_plotting.py @@ -0,0 +1,20 @@ +def test_03_plotting_test1_csv_plot_roc(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dp = dr.process() + dp.plotROC() + +def test_03_plotting_test1_csv_plot_cac(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dp = dr.process() + dp.plotCAC() + +def test_03_plotting_test1_csv_plot_rac(): + import pyWitness + drRAC = pyWitness.DataRaw("../data/tutorial/test1.csv") + drRAC.collapseContinuousData(column="responseTime", + bins=[0, 5000, 10000, 15000, 20000, 99999], + labels=[1, 2, 3, 4, 5]) + dpRAC = drRAC.process(reverseConfidence=True, dependentVariable="responseTime") + dpRAC.plotCAC() \ No newline at end of file diff --git a/test/test_04_collapsing.py b/test/test_04_collapsing.py new file mode 100644 index 0000000..a9aa60d --- /dev/null +++ b/test/test_04_collapsing.py @@ -0,0 +1,23 @@ +def test_04_collapsing_categorical_data(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseCategoricalData(column='confidence', + map={0: 30, 10: 30, 20: 30, 30: 30, 40: 30, 50: 30, 60: 30, + 70: 75, 80: 75, + 90: 95, 100: 95}) + dp = dr.process() + dp.plotCAC() + +def test_04_collapsing_continuous_data(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + dp.plotROC() + +def test_04_collapsing_continuous_data_pauc(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + print(dp.pAUC) \ No newline at end of file diff --git a/test/test_05_fitting.py b/test/test_05_fitting.py new file mode 100644 index 0000000..f071a3c --- /dev/null +++ b/test/test_05_fitting.py @@ -0,0 +1,99 @@ +def test_05_fitting_test1_csv_indep_obs_eqvar(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.setEqualVariance() + mf.fit() + +def test_05_fitting_test1_csv_indep_obs_uneqvar_print_parameters(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.printParameters() + +def test_05_fitting_test1_csv_best_rest(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence") + dp = dr.process() + mf_br = pyWitness.ModelFitBestRest(dp) + +def test_05_fitting_test1_csv_ensemble(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence") + dp = dr.process() + mf_en = pyWitness.ModelFitEnsemble(dp) + +def test_05_fitting_test1_csv_integration(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence") + dp = dr.process() + mf_in = pyWitness.ModelFitIntegration(dp) + +def test_05_fitting_test1_csv_set_parameters_plot_hit_v_false(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + dp.plotHitVsFalseAlarmRate() + +def test_05_fitting_test1_csv_set_parameters_print_parameters(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.printParameters() + +def test_05_fitting_test1_csv_set_parameters_set_equal_var(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=[1, 2, 3]) + dp = dr.process() + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.setEqualVariance() + mf.setParameterEstimates() + mf.printParameters() + +def test_05_fitting_test1_csv_plot_fit_roc(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=None) + dp = dr.process() + dp.calculateConfidenceBootstrap(nBootstraps=200) + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.setEqualVariance() + mf.fit() + dp.plotROC(label="Data") + mf.plotROC(label="Indep. obs. fit") + +def test_05_fitting_test1_csv_plot_fit(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=None) + dp = dr.process() + dp.calculateConfidenceBootstrap(nBootstraps=200) + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.setEqualVariance() + mf.fit() + dp.plotROC(label="Data") + mf.plotROC(label="Indep. obs. fit") + mf.plotFit() + +def test_05_fitting_test1_csv_plot_fit_cac(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=None) + dp = dr.process() + dp.calculateConfidenceBootstrap(nBootstraps=200) + mf = pyWitness.ModelFitIndependentObservation(dp) + mf.setEqualVariance() + mf.fit() + dp.plotCAC(label="Data") + mf.plotCAC(label="Indep. obs. fit") \ No newline at end of file diff --git a/test/test_06_adv_stats.py b/test/test_06_adv_stats.py new file mode 100644 index 0000000..dac336b --- /dev/null +++ b/test/test_06_adv_stats.py @@ -0,0 +1,63 @@ +def test_adv_stats_test1_csv_bootstrap(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=None) + dp = dr.process() + dp.calculateConfidenceBootstrap(nBootstraps=200, cl=95) + dp.printPivot() + dp.printRates() + +def test_adv_stats_test2_csv_processing_two_conditions(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test2.csv") + dr.cutData(column="previouslyViewedVideo", value=1, option="keep") + dpControl = dr.process(column="group", condition="Control") + dpVerbal = dr.process(column="group", condition="Verbal") + minRate = min(dpControl.liberalTargetAbsentSuspectId, dpVerbal.liberalTargetAbsentSuspectId) + +def test_adv_stats_test2_csv_compare_two_pauc(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test2.csv") + dr.cutData(column="previouslyViewedVideo", value=1, option="keep") + dpControl = dr.process(column="group", condition="Control") + dpVerbal = dr.process(column="group", condition="Verbal") + minRate = min(dpControl.liberalTargetAbsentSuspectId, dpVerbal.liberalTargetAbsentSuspectId) + dpControl = dr.process("group", "Control", pAUCLiberal=minRate) + dpControl.calculateConfidenceBootstrap(nBootstraps=200) + dpVerbal = dr.process("group", "Verbal", pAUCLiberal=minRate) + dpVerbal.calculateConfidenceBootstrap(nBootstraps=200) + dpControl.comparePAUC(dpVerbal) + +def test_adv_stats_test1_csv_generate_sdt_data(): + import pyWitness + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=None) + dp = dr.process() + mf = pyWitness.ModelFitIndependentObservation(dp, debug=True) + mf.setEqualVariance() + mf.fit() + dr1 = mf.generateRawData(nGenParticipants=10000) + + # Need to process the synthetic data + dp1 = dr1.process() + + # calculate uncertainties using bootstrap + dp.calculateConfidenceBootstrap() + dp1.calculateConfidenceBootstrap() + +def test_adv_stats_test1_csv_power_analysis(): + import pyWitness + import numpy + dr = pyWitness.DataRaw("../data/tutorial/test1.csv") + dr.collapseContinuousData(column="confidence", bins=[-1, 60, 80, 100], labels=None) + dp = dr.process() + mf = pyWitness.ModelFitIndependentObservation(dp, debug=False) + mf.setEqualVariance() + mf.fit() + + for nGen in numpy.linspace(500, 5000, 9 + 1): + drSimulated = mf.generateRawData(nGenParticipants=nGen) + dpSimulated = drSimulated.process() + dpSimulated.calculateConfidenceBootstrap(nBootstraps=2000) + print(nGen, dpSimulated.liberalTargetAbsentSuspectId, dpSimulated.pAUC, dpSimulated.pAUC_low, + dpSimulated.pAUC_high) \ No newline at end of file diff --git a/test/test_test1_tutorial1.py b/test/test_test1_tutorial1.py deleted file mode 100644 index ccabdf7..0000000 --- a/test/test_test1_tutorial1.py +++ /dev/null @@ -1,5 +0,0 @@ -import pyWitness - -def test_test1_tutorial1() : - dr = pyWitness.DataRaw("../data/tutorial/test1.csv") - diff --git a/test/test_test1_tutorial1_check.py b/test/test_test1_tutorial1_check.py deleted file mode 100644 index bbcd6d1..0000000 --- a/test/test_test1_tutorial1_check.py +++ /dev/null @@ -1,7 +0,0 @@ -import pyWitness - -def test_test1_load() : - import pyWitness - dr = pyWitness.DataRaw("../data/tutorial/test1.csv") - assert len(dr.data) == 890, "test_tutorialCode1 wrong number of participants" - diff --git a/test/test_test1_tutorial2.py b/test/test_test1_tutorial2.py deleted file mode 100644 index 949c4b6..0000000 --- a/test/test_test1_tutorial2.py +++ /dev/null @@ -1,6 +0,0 @@ -import pyWitness - -def test_test1_tutorial2(): - dr = pyWitness.DataRaw("../data/tutorial/test1.csv") - dr.checkData() -