{smcl} {* 26 April07}{...} {hi:help fuzzy}{right: ({browse "http://www.stata-journal.com/article.html?article=st0140":SJ8-1: st0140})} {hline} {title:Title} {p2colset 5 14 16 2}{...} {p2col :{hi:fuzzy} {hline 2}}Fuzzy-set creation, testing, and reduction{p_end} {p2colreset}{...} {title:Syntax} {p 8 14 2} {cmd:fuzzy} {varlist} [{it:{help if}}] {weight} [{cmd:,} {opt lab:el(capital_letter_list)} {opt keeps:ets} {opt drop} {cmdab:sett:est(yvn yvo yavyb yvv cmvom mavmb)} {opt group(varname)} {opt conv:al(#)} {opt sig:only} {opt slev:el(#)} {cmdab:great:er(col1} | {cmd:col2)} {opt comm:on} {opt cluster(varname)} {opt nec:essity} {cmdab:matx(suffnec} | {cmd:coincid)} {opt stand:ardized} {opt altd:isplay} {opt reduc:e} {opt remain:ders(#)} {opt dnc(configlist)} {opt truth:tab(filename)} {opt keepc:onfigs}] {pstd} {cmd:fweight}s, {cmd:iweight}s, and {cmd:pweight}s are allowed; see {help weight}. {pstd} The weights are applied with the {cmd:ratio} command, which is used to calculate the consistency score for each configuration, but are not used in any other parts of the routine (such as the creation of the {cmd:bestfit} variable). {title:Description} {pstd} {cmd:fuzzy} is a suite of tools that performs extensive qualitative comparative analyses. Without any options specified, it generates a {cmd:bestfit} variable containing the frequency of best-fitting cases (i.e., >.5) in each configuration. With options, it performs a series of statistical tests on the configurations and reduces identified configurations by using the Quine-McCluskey algorithm. {title:Options} {p 4 8 2} {opt label(capital_letter_list)} allows the user to specify what sets should be named when used in creating and displaying the resulting configurations. This option is required if any of the variables in {it:varlist} are not named with a single, capital letter. {p 4 8 2}{cmd:keepsets} prevents the generic single, capital letter version of variable from being deleted. This is only applicable when the {cmd:label()} option has not been specified and the original variables are not already named as single, capital letters. {p 4 8 2}{cmd:drop} automatically deletes any single, capital letter copies of variables entered in {it:varlist} when the program is terminated (only applicable if {cmd:label()} is also specified). (Note: This will not drop any variables existing in the dataset prior to the execution of {cmd:fuzzy}.) {p 4 8 2} {opt settest(testlist)} defines which tests will be run and displayed: {p 8 12 2}{cmd:yvn} performs and displays the results of the test between each configuration's y consistency versus its n consistency. {p 8 12 2}{cmd:yvo} performs and displays the results of a test between each set's y consistency and the y consistency of all other configurations (excluding only the configuration in question). {p 8 12 2}{cmd:yvv} performs a test of each configuration's y consistency versus a given numerical value (default is 0.800) and displays the configuration, y consistency, test value, F distribution, p-value, and number of best-fitting observations. {p 8 12 2}{cmd:yavyb} tests each configuration's y consistency for each of the subgroups defined in {cmd:group()}. {opt group(varname)} must be specified with {cmd:settest(yavyb)}. {p 8 12 2}{cmd:cmvom} operates similarly to {cmd:yvo}, but rather than using the configuration's consistency, it calculates and displays each configuration's weighted mean. {p 8 12 2}{cmd:mavmb} operates similarly to {cmd:yavyb}, but it conducts the test using the configuration's weighted mean by each group specified by {cmd:group()}. {opt group(varname)} must be specified with {cmd:settest(mavmb)}. {p 4 8 2} {opt group(varname)} defines the group variable used when invoking the {cmd:yavyb} or {cmd:mavmb} test. {it:varname} must be a 2-category variable. {p 4 8 2} {opt conval(#)} changes the value against which to test each configuration's y consistency if {cmd:settest(yvv)} is specified. The value can be any number between 0 and 1. The default is {cmd:conval(.800)}. {p 4 8 2} {cmd:sigonly} restricts the display of any tests specified in {cmd:settest()} to only those with significant p-values. {p 4 8 2} {opt slevel(#)} changes the significance level to be used in determining {cmd:sigonly}. The default is {cmd:slevel(.05)}. {p 4 8 2} {cmd:greater(col1} | {cmd:col2)} restricts the display of any test specified in {cmd:settest()} to only those in which the value in the designated column (of the output) is greater than the other column. The first column is always the consistency (or mean) for each configuration, while the second column is what that consistency is being tested against. {p 4 8 2} {cmd:common} displays only the configurations that pass all the tests and conditions specified by {cmd:settest()}. {p 4 8 2} {opt cluster(varname)} allows the standard errors produced by the {cmd:ratio} command when calculating consistencies to adjust for intragroup correlation. {phang} {cmd:necessity} produces a table of each configuration's necessity value (similar to consistency except the denominator is the sum of the outcome instead of the sum of the configuration). {phang} {opt matx(matlist)} defines which matrix to produce: {phang2} {cmd:suffnec} produces a sufficiency and necessity matrix for all the variables entered in {it:varlist}. {phang2} {cmd:coincid} produces a coincidence matrix for all the variables entered in {it:varlist}. {p 4 8 2} {cmd:standardized} alters the coincidence scores by taking into account the size of the sets. {p 4 8 2} {cmd:altdisplay} displays the sufficiency-necessity matrix to match a visual scatterplot (i.e., sufficiency in the upper left, necessity in the lower right). {p 4 8 2}{cmd:reduce} uses the elements passed by {cmd:settest()} to implement the Quine-McCluskey algorithm to produce a reduced final solution set and its accompanying coverage statistics. {p 4 8 2} {opt remainders(#)} runs the reduction twice: once with those configurations specified as remainders included in the reduction as "do-not-care" configurations, and once with them excluded. {p 4 8 2} {opt dnc(configlist)} specifies configurations as "do-not-care" configurations. The entered configurations are treated as do-not-care configurations regardless of whether they pass any specified tests. {p 4 8 2} {opt truthtab(filename)} outsheets (and replaces) a file containing the resulting truth table. If no options are specified, it will outsheet the entire truth table; otherwise, it operates similarly to {cmd:reduce} in how it defines which configurations are included. The {it:filename} should end in the desired output type ({cmd:.dta}, {cmd:csv}, etc.). {p 4 8 2}{cmd:keepconfigs} prevents generated configuration variables from being deleted when {cmd:fuzzy} is terminated. {title:Examples} {p 4 8 2}{cmd:. fuzzy Y A B C} {p 4 8 2}{cmd:. fuzzy drink age grades friends, label(D A G F) settest(yvn)} {p 4 8 2}{cmd:. fuzzy D A G F, settest(yvn) sigonly greater(col1) reduce} {p 4 8 2}{cmd:. fuzzy drink age grades friends, label(D A G F) matx(coincid) settest(yvv) conval(.9) greater(col1) reduce drop} {title:Postestimation commands and stand-alones} {pstd} In addition to the base command and its options, the {cmd:fuzzy} program also includes many of the same options as stand-alone programs, to be used in testing specific configurations or as "postestimation" commands. Specifically, all the possible tests specified in {cmd:settest()}, the matrices in {cmd:matx()}, {cmd:truthtab()}, {cmd:coverage}, and {cmd:reduce} can all be used as stand-alone or post{cmd:fuzzy} commands. In both cases, they accept all the options that would pertain to them if specified in {cmd:fuzzy}. {pstd} This will work if you wish to test specific sets, which are not required to exist in the dataset, although the individual capitalized, single letter version of each component must; or variables, which must exist in the dataset and range from 0 to 1. If no {it:varlist} is specified, it will use {it:varlist} from the last run fuzzy model. {title:Postestimation commands} {helpb cmvom} {helpb truthtab} {helpb coincid} {helpb yavyb} {helpb mavmb} {helpb yvn} {helpb reduce} {helpb yvo} {helpb suffnec} {helpb yvv} {title:Stand-alone commands} {helpb cnfgen} {helpb coverage} {helpb fzplot} {helpb setgen} {helpb yvy} {title:Postestimation and stand-alone examples} {phang}{cmd:. fuzzy drink age grades friends, label(D A G F)}{p_end} {phang}{cmd:. yvn}{p_end} {phang}{cmd:. yvv, sig}{p_end} {phang}{cmd:. yvo, last greater(col1) sig} {phang}{cmd:. reduce D AGf Af agF} {phang}{cmd:. fuzzy D A G F, keepconfigs}{p_end} {phang}{cmd:. coincid agf- AGF}{p_end} {title:Also see} {psee} Article: {it:Stata Journal}, volume 8, number 1: {browse "http://www.stata-journal.com/article.html?article=st0140":st0140} {p_end}