# Choice Modeling - Save Variable(s) - Proportion of Correct Predictions

Save a variable to the data set containing the proportion of correct predictions for each each case (e.g., respondent)

Create a new variable which contains the proportion of correct predictions for each respondent, according to a Choice Modeling - Latent Class Analysis, Choice Modeling - Hierarchical Bayes or Choice Modeling - Ensemble of Models output. Proportion correct information is not able to be saved to a variable for models with simulated data and models created using a CHO data file where respondent IDs were not specified.

## Output

Running this QScript will produce a new variable, which will appear in your data set for use in further analyses.

## Technical details

Prediction accuracy is measured in terms of the proportion of a respondent's questions in which the best alternative was correctly predicted. If cross-validation is used, the predictions are made on only the holdout (out-of-sample) questions. Otherwise, predictions are made on all of the respondents' questions.

## References

McLean, M. W. (2018, July 24). How to Use Hierarchical Bayes for Choice Modeling in Displayr [Blog post]. Accessed from https://www.displayr.com/how-to-hierarchical-bayes-choice-model-displayr/.

## How to apply this QScript

• Start typing the name of the QScript into the Search features and data box in the top right of the Q window.
• Click on the QScript when it appears in the QScripts and Rules section of the search results.

OR

• Select Automate > Browse Online Library.
• Select this QScript from the list.

## Customizing the QScript

This QScript is written in JavaScript and can be customized by copying and modifying the JavaScript.

• Start typing the name of the QScript into the Search features and data box in the top right of the Q window.
• Hover your mouse over the QScript when it appears in the QScripts and Rules section of the search results.
• Press Edit a Copy (bottom-left corner of the preview).
• Modify the JavaScript (see QScripts for more detail on this).
• Either:
• Run the QScript, by pressing the blue triangle button.
• Save the QScript and run it at a later time, using Automate > Run QScript (Macro) from File.

### Customizing QScripts in older versions

• Create a new text file, giving it a file extension of .QScript. See here for more information about how to do this.
• Modify the JavaScript (see QScripts for more detail on this).
• Run the file using Automate > Run QScript (Macro) from File.

## JavaScript

includeWeb('QScript R Output Functions');

saveVariables('Proportion correct', 'Latent Class Analysis, Hierarchical Bayes or Ensemble Choice Model',
'input.choicemodel = ',
'\nif (!is.null(input.choicemodel$simulated.respondent.parameters)) stop()\n' + 'input.choicemodel$prediction.accuracies', null, null, 'prop.corr', ['FitChoice', 'ChoiceEnsemble']);