A toolset for creating Qualtrics-based IAT experiments

Overview

Qualtrics IAT Tool

A web app for generating the Implicit Association Test (IAT) running on Qualtrics

Online Web App

The app is hosted by Streamlit, a Python-based web framework. You can use the app here: Qualtrics IAT Tool.

Run Web App Offline

Alternatively, you can run the app offline. The general steps are:

  1. Download the latest version of the repository.
  2. Install Python and Streamlit.
  3. Run the web app in a Terminal with the command: streamlit run your_directory/qualtrics_iat/web_app.py

Citation:

Cui Y., Robinson, J.D., Kim, S.K., Kypriotakis G., Green C.E., Shete S.S., & Cinciripini P.M., An open source web app for creating and scoring Qualtrics-based implicit association test. Behavior Research Methods (submitted)

Key Functionalities

The web app has three key functionalities: IAT Generator, Qualtrics Tools, and IAT Data Scorer. Each functionality is clearly described on the web app regarding what parameters are expected and what they mean. If you have any questions, please feel free to leave a comment or send your inquiries to me.

IAT Generator

In this section, you can generate the Qualtrics survey template to run the IAT experiment. Typically, you need to consider specifying the following parameters. We'll use the classic flower-insect IAT as an example. As a side note, there are a few other IAT tasks (e.g., gender-career) in the app for your reference.

  • Positive Target Concept: Flower
  • Negative Target Concept: Insect
  • Positive Target Stimuli: Orchid, Tulip, Rose, Daffodil, Daisy, Lilac, Lily
  • Negative Target Stimuli: Wasp, Flea, Roach, Centipede, Moth, Bedbug, Gnat
  • Positive Attribute Concept: Pleasant
  • Negative Attribute Concept: Unpleasant
  • Positive Attribute Stimuli: Joy, Happy, Laughter, Love, Friend, Pleasure, Peace, Wonderful
  • Negative Attribute Stimuli: Evil, Agony, Awful, Nasty, Terrible, Horrible, Failure, War

Once you specify these parameters, you can generate a Qualtrics template file, from which you can create a Qualtrics survey that is ready to be administered. Please note that not all Qualtrics account types support creating surveys from a template. Alternatively, you can obtain the JavaScript code of running the IAT experiment and add the code to a Qualtrics question. If you do this, please make sure that you set the proper embedded data fields.

Qualtrics Tools

In this section, you can directly interact with the Qualtrics server by invoking its APIs. To use these APIs, you need to obtain the token in your account settings. Key functionalities include:

  • Upload Images to Qualtrics Graphic Library: You can upload images from your local computer to your Qualtrics Graphics Library. You need to specify the library ID # and the name of the folder to which the images will be uploaded. If the upload succeeds, the web app will return the URLs for these images. You can set these URLs as stimuli in the IAT if your experiment uses pictures.

  • Create Surveys: You can create surveys by uploading a QSF file or the JSON text. Please note that the QSF file uses JSON as its content. If you're not sure about the JSON content, you can inspect a template file.

  • Export Survey Responses: You can export a survey's responses for offline processing. You need to specify the library ID # and the export file format (e.g., csv).

  • Delete Images: You can delete images from your Qualtrics Graphics Library. You need to specify the library ID # and the IDs for the images that you want to delete.

  • Delete Survey: You can delete surveys from your Qualtrics Library. You need to specify the survey ID #.

IAT Data Scorer

In this section, you can score the IAT data from the exported survey response. Currently, there are two calculation algorithms supported: the conventional and the improved.

Citation for the algorithms: Greenwald et al. Understanding and Using the Implicit Association Test: I. An Improved Scoring Algorithm. Journal of Personality and Social Psychology 2003 (85)2:192-216

The Conventional Algorithm

  1. Use data from B4 & B7 (counter-balanced order will be taken care of in the calculation).
  2. Nonsystematic elimination of subjects for excessively slow responding and/or high error rates.
  3. Drop the first two trials of each block.
  4. Recode latencies outside 300/3,000 boundaries to the nearer boundary value.
  5. 5.Log-transform the resulting values.
  6. Average the resulting values for each of the two blocks.
  7. Compute the difference: B7 - B4.

The Improved Algorithm

  1. Use data from B3, B4, B6, & B7 (counter-balanced order will be taken care of in the calculation).
  2. Eliminate trials with latencies > 10,000 ms; Eliminate subjects for whom more than 10% of trials have latency less than 300 ms.
  3. Use all trials; Delete trials with latencies below 400 ms (alternative).
  4. Compute mean of correct latencies for each block. Compute SD of correct latencies for each block (alternative).
  5. Compute one pooled SD for all trials in B3 & B6, another for B4 & B7; Compute one pooled SD for correct trials in B3 & B6, another for B4 & B7 (alternative).
  6. Replace each error latency with block mean (computed in Step 5) + 600 ms; Replace each error latency with block mean + 2 x block SD of correct responses (alternative 1); Use latencies to correct responses when correction to error responses is required (alternative 2).
  7. Average the resulting values for each of the four blocks.
  8. Compute two differences: B6 - B3 and B7 - B4.
  9. Divide each difference by its associated pooled-trials SD.
  10. Average the two quotients.

Questions?

If you have any questions or would like to contribute to this project, please send me an email: [email protected].

License

MIT License

Python library for analysis of time series data including dimensionality reduction, clustering, and Markov model estimation

deeptime Releases: Installation via conda recommended. conda install -c conda-forge deeptime pip install deeptime Documentation: deeptime-ml.github.io

495 Dec 28, 2022
PyTorch implementation of ICLR 2022 paper PiCO: Contrastive Label Disambiguation for Partial Label Learning

PiCO: Contrastive Label Disambiguation for Partial Label Learning This is a PyTorch implementation of ICLR 2022 Oral paper PiCO; also see our Project

็Ž‹็š“ๆณข 147 Jan 07, 2023
This is the code of paper ``Contrastive Coding for Active Learning under Class Distribution Mismatch'' with python.

Contrastive Coding for Active Learning under Class Distribution Mismatch Official PyTorch implementation of ["Contrastive Coding for Active Learning u

21 Dec 22, 2022
Bottleneck Transformers for Visual Recognition

Bottleneck Transformers for Visual Recognition Experiments Model Params (M) Acc (%) ResNet50 baseline (ref) 23.5M 93.62 BoTNet-50 18.8M 95.11% BoTNet-

Myeongjun Kim 236 Jan 03, 2023
Official repository of my book: "Deep Learning with PyTorch Step-by-Step: A Beginner's Guide"

This is the official repository of my book "Deep Learning with PyTorch Step-by-Step". Here you will find one Jupyter notebook for every chapter in the book.

Daniel Voigt Godoy 340 Jan 01, 2023
This is the official github repository of the Met dataset

The Met dataset This is the official github repository of the Met dataset. The official webpage of the dataset can be found here. What is it? This cod

Nikolaos-Antonios Ypsilantis 35 Dec 17, 2022
A Repository of Community-Driven Natural Instructions

A Repository of Community-Driven Natural Instructions TLDR; this repository maintains a community effort to create a large collection of tasks and the

AI2 244 Jan 04, 2023
Data loaders and abstractions for text and NLP

torchtext This repository consists of: torchtext.datasets: The raw text iterators for common NLP datasets torchtext.data: Some basic NLP building bloc

3.2k Jan 08, 2023
Pytorch Implementation of rpautrat/SuperPoint

SuperPoint-Pytorch (A Pure Pytorch Implementation) SuperPoint: Self-Supervised Interest Point Detection and Description Thanks This work is based on:

76 Dec 27, 2022
Freecodecamp Scientific Computing with Python Certification; Solution for Challenge 2: Time Calculator

Assignment Write a function named add_time that takes in two required parameters and one optional parameter: a start time in the 12-hour clock format

Hellen Namulinda 0 Feb 26, 2022
PyTorch implementation of MoCo v3 for self-supervised ResNet and ViT.

MoCo v3 for Self-supervised ResNet and ViT Introduction This is a PyTorch implementation of MoCo v3 for self-supervised ResNet and ViT. The original M

Facebook Research 887 Jan 08, 2023
An official implementation of "Background-Aware Pooling and Noise-Aware Loss for Weakly-Supervised Semantic Segmentation" (CVPR 2021) in PyTorch.

BANA This is the implementation of the paper "Background-Aware Pooling and Noise-Aware Loss for Weakly-Supervised Semantic Segmentation". For more inf

CV Lab @ Yonsei University 59 Dec 12, 2022
Official implementation of the paper Chunked Autoregressive GAN for Conditional Waveform Synthesis

PyEmits, a python package for easy manipulation in time-series data. Time-series data is very common in real life. Engineering FSI industry (Financial

Descript 150 Dec 06, 2022
Springer Link Download Module for Python

โ™ž pupalink A simple Python module to search and download books from SpringerLink. ๐Ÿงช This project is still in an early stage of development. Expect br

Pupa Corp. 18 Nov 21, 2022
Analysing poker data from home games with friends

Poker Game Analysis Analysing poker data from home games with friends. Not a lot of data is collected, so this project is primarily focussed on descri

Stavros Karmaniolos 1 Oct 15, 2022
Multispectral Object Detection with Yolov5

Multispectral-Object-Detection Intro Official Code for Cross-Modality Fusion Transformer for Multispectral Object Detection. Multispectral Object Dete

Richard Fang 121 Jan 01, 2023
Application of K-means algorithm on a music dataset after a dimensionality reduction with PCA

PCA for dimensionality reduction combined with Kmeans Goal The Goal of this notebook is to apply a dimensionality reduction on a big dataset in order

Arturo Ghinassi 0 Sep 17, 2022
Yolo ros - YOLO-ROS for HUAWEI ATLAS200

YOLO-ROS YOLO-ROS for NVIDIA YOLO-ROS for HUAWEI ATLAS200, please checkout for b

ChrisLiu 5 Oct 18, 2022
Python codes for Lite Audio-Visual Speech Enhancement.

Lite Audio-Visual Speech Enhancement (Interspeech 2020) Introduction This is the PyTorch implementation of Lite Audio-Visual Speech Enhancement (LAVSE

Shang-Yi Chuang 85 Dec 01, 2022