FAM_FACTOR

Define a familiarity factor to distinguish between new and old test items.

Contents

Basic familiarity factor

FAM_FACTOR(aglss, 'fname') distinguishes between familiar (Old) and novel (New) test items.

The example below generates training items based on the XY_GRAMMAR, which alternates Xs and Ys, and grammatical (G) test items that are either Old (included in the training set) or New (not included in training).

s_xy = aglss(xy_grammar, [1 5]);

[s, famlevs] = fam_factor(s_xy, 'fam');
[s] = gram_factor(s, 'gram');

s = factorial_testsets(s, [{'fam'}, famlevs], {'gram', 'G'});
s = choose_items(s, 4, 2, [], true); % Training items eligible to use in test

disp('Training items:');
disp(format_train_items(s));

disp('Test items:');
disp(format_test_items(s));
 Potential items:
	Grammar involves 2 symbols (xy)
	62 possible strings of length 1-5
		10 grammatical strings (16.13%)
		52 ungrammatical strings (83.87%)
	Using all 10 grammatical strings
	Using all 52 ungrammatical strings
 
 Choosing training item 1....
 Choosing training item 2....
 Choosing training item 3....
 Choosing training item 4....
 Updating potential items....
 Choosing test item 1 for each set... 1 2.
 Choosing test item 2 for each set... 2 1.

Training items:
  Itm_num  Itm_name
       01     yxyxy
       02       yxy
       03         y
       04        xy

Test items:
 Tset_num       fam_cat      gram_cat  Itm_num  Itm_name
       01           Old             G       01     yxyxy
       01           Old             G       02        xy
       02           New             G       01       yxy
       02           New             G       02         y

Familiarity factor with specified category names

FAM_FACTOR(aglss, 'fname', {'oldname', 'newname'}) specifies alternative names for the Old and New categories.

s = fam_factor(s_xy, 'MyFam', {'Familiar', 'Novel'});
[s] = gram_factor(s, 'gram');

s = factorial_testsets(s, {'MyFam', 'Familiar', 'Novel'}, {'gram', 'G'} );
s = choose_items(s, 4, 2, [], true);

disp('Training items:');
disp(format_train_items(s));

disp('Test items:');
disp(format_test_items(s));
 Choosing training item 1....
 Choosing training item 2....
 Choosing training item 3....
 Choosing training item 4....
 Updating potential items....
 Choosing test item 1 for each set... 2 1.
 Choosing test item 2 for each set... 1 2.

Training items:
  Itm_num  Itm_name
       01     yxyxy
       02       yxy
       03         y
       04        xy

Test items:
 Tset_num     MyFam_cat      gram_cat  Itm_num  Itm_name
       01      Familiar             G       01       yxy
       01      Familiar             G       02         y
       02         Novel             G       01     yxyxy
       02         Novel             G       02        xy

Dummy familiarity factor

The example below explicitly identifies all test items chosen by StimSelect as being different from any of the training items. Without this factor, test items would still be different from training items in accordance with the default behavior of choose_items(). However, that fact is not explicitly indicated by default when test items are displayed.

s_xy = aglss(xy_grammar, [1 5]);

[s, glevs] = gram_factor(s_xy, 'gram');
[s, famlevs] = fam_factor(s, 'fam');

s = factorial_testsets(s, [{'gram'}, glevs], {'fam', 'New'});
s = choose_items(s, 4, 2);

disp('Training items:');
disp(format_train_items(s));

disp('Test items:');
disp(format_test_items(s));
 Potential items:
	Grammar involves 2 symbols (xy)
	62 possible strings of length 1-5
		10 grammatical strings (16.13%)
		52 ungrammatical strings (83.87%)
	Using all 10 grammatical strings
	Using all 52 ungrammatical strings
 
 Choosing training item 1....
 Choosing training item 2....
 Choosing training item 3....
 Choosing training item 4....
 Updating potential items....
 Choosing test item 1 for each set... 1 2.
 Choosing test item 2 for each set... 1 2.

Training items:
  Itm_num  Itm_name
       01        xy
       02      xyxy
       03     xyxyx
       04       yxy

Test items:
 Tset_num      gram_cat       fam_cat  Itm_num  Itm_name
       01             G           New       01       xyx
       01             G           New       02        yx
       02            NG           New       01      xxxy
       02            NG           New       02      xyyy