## 3 Research Methods and Results
### Verification of the Respondent's Identity Authenticity  
To test Hypothesis #3, a neural network model was built.  
In order to model the situation \"[PERSON] started filling out the questionnaire then [PERSON] continued and completed it\", we randomly divided the normalized dataset of user's reaction times into two equal parts: Part A and B. Therefore, Part A contained 8175 original entries of users' reaction times to 26 consecutive questions from the questionnaire. Meanwhile, Part B's dataframe of another 8175 original entries was split horizontally, leaving reaction times to the first 10 questions in the left part and the reaction times to the last 16 questions in the right part. Then, the rows of the right part of the dataframe were randomly permutated and joined again with the left part of Part B. Then, we assigned Class 1 (\"good\") for all of the entries of Part A and Class 2 (\"bad\") for all of the entries of modified Part B. So, Class 1 (\"good\") corresponded to the situation when [PERSON] started and completed the survey himself, and Class 2 (\"bad\") corresponded to the situation when [PERSON] intervened after Question 10 and finished the survey.  
We joined Part A and Part B dataframes vertically and split the resulting dataframe randomly into the training and test set. The training set contained 6540 entries and the test set contained 9810 entries. MLPClassifier was then fitted on the training set with the following parameters: solver: 'adam', random_state: 1, max_iter = 3000, activation ='relu', alpha = 0.0001, learning_rate = 'constant'. To measure the performance of the classifier on the test set, we applied the accuracy measure, as there was an equal number of Class 1 and Class 2 representatives in the dataset and the accuracy measure was meaningful.  
We then searched for the optimal number of neurons in the hidden layer of the perceptron (Figures 10 and 11) and identified 60 as the best parameter.  
Figure 9: The confusion matrix for clicker classifier.  
The classification report with a total of 60 neurons is given in Table 2. The confusion matrix is given in Figure 12.  
Therefore, the MLPClassifier was able to distinguish between the original and permutated data quite accurately (0.73), providing the opportunity to identify the situation when the survey was completed by another person.  
As the cardinality of parametric set of MLPClassifier extends 1000 and the training process takes some significant time with each tuple of parameters, different strategies can be applied to reduce the brute force search. The evolutionary algorithms could be applied as a promising solution for the directed search of parameters.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Class** & **Precision** & **Recall** & **F1-Score** & **Support** \\ \hline
1 & 0.71 & 0.78 & 0.74 & 4914 \\
2 & 0.75 & 0.67 & 0.71 & 4896 \\  & accuracy & & 0.73 & 9810 \\ macro avg & 0.73 & 0.73 & 0.73 & 9810 \\ weighted avg & 0.73 & 0.73 & 0.73 & 9810 \\ \hline \hline \end{tabular}
\end{table}
Table 2: The classification report.  
Figure 11: Standard deviation of accuracy depending on the number of neurons in the hidden layer for the respondent’s authenticity classifier.  
Figure 10: Mean accuracy of the respondent’s authenticity classifier depending on the number of neurons in the hidden layer.