Introduction:

Abstract:

126 samples from 14 participants, 309 features. Aim: assess whether voice rehabilitation treatment lead to phonations considered ‘acceptable’ or ‘unacceptable’ (binary class classification problem).

Source:

The dataset was created by Athanasios Tsanas (tsanasthanasis ‘@’ gmail.com) of the University of Oxford.

Attribute Information:

Each attribute (feature) corresponds to the application of a speech signal processing algorithm which aims to characterise objectively the signal.

Measures Dataset:

## Classes 'tbl_df', 'tbl' and 'data.frame':    126 obs. of  310 variables:
##  $ Jitter->F0_abs_dif                       : num  0.0881 0.1618 0.5545 0.0311 0.0762 ...
##  $ Jitter->F0_dif_percent                   : num  0.0417 0.0574 0.6429 0.0271 0.0391 ...
##  $ Jitter->F0_PQ5_classical_Schoentgen      : num  0.00048 0.000677 0.007576 0.000314 0.000302 ...
##  $ Jitter->F0_PQ5_classical_Baken           : num  -3.72e-06 5.47e-06 -7.44e-07 -2.21e-07 2.73e-05 ...
##  $ Jitter->F0_PQ5_generalised_Schoentgen    : num  0.000422 0.000206 0.006488 0.000216 0.001102 ...
##  $ Jitter->F0_abs0th_perturb                : num  2.458 2.592 12.691 0.754 1.27 ...
##  $ Jitter->F0_CV                            : num  6.33e-07 7.23e-07 6.95e-04 1.87e-07 4.92e-05 ...
##  $ Jitter->F0_TKEO_mean                     : num  47 93.6 53 14 56.4 ...
##  $ Jitter->F0_TKEO_std                      : num  1366 2583 467 417 1608 ...
##  $ Jitter->F0_TKEO_prc5                     : num  -7.1 -23.28 -45.31 -1.21 -3.49 ...
##  $ Jitter->F0_TKEO_prc25                    : num  -2.688 -7.534 -5.175 -0.497 -1.439 ...
##  $ Jitter->F0_TKEO_prc75                    : num  -0.03567 -0.34763 -0.35958 -0.00286 0.01613 ...
##  $ Jitter->F0_TKEO_prc95                    : num  2.849 7.457 4.549 0.531 1.442 ...
##  $ Jitter->F0_FM                            : num  0.0423 0.0428 0.4717 0.0229 0.1512 ...
##  $ Jitter->F0range_5_95_perc                : num  9.12 11.57 39.08 2.86 5.22 ...
##  $ Jitter->pitch_abs                        : num  1.98e-06 2.02e-06 6.72e-05 2.36e-06 1.86e-06 ...
##  $ Jitter->pitch_percent                    : num  0.0419 0.0571 0.5632 0.0271 0.0362 ...
##  $ Jitter->pitch_PQ5_classical_Schoentgen   : num  0.000482 0.000673 0.006659 0.000315 0.000297 ...
##  $ Jitter->pitch_PQ5_classical_Baken        : num  4.35e-06 -5.42e-06 7.58e-07 3.12e-07 -2.09e-05 ...
##  $ Jitter->pitch_PQ5_generalised_Schoentgen : num  0.00044 0.000205 0.004372 0.000216 0.000885 ...
##  $ Jitter->pitch_abs0th_perturb             : num  5.51e-05 3.26e-05 1.60e-03 5.73e-05 3.32e-05 ...
##  $ Jitter->pitch_CV                         : num  6.86e-07 7.01e-07 2.10e-04 1.86e-07 3.21e-05 ...
##  $ Jitter->pitch_TKEO_mean                  : num  2.54e-08 1.41e-08 6.19e-07 8.07e-08 2.80e-08 ...
##  $ Jitter->pitch_TKEO_std                   : num  7.41e-07 3.87e-07 4.90e-06 2.41e-06 7.67e-07 ...
##  $ Jitter->pitch_TKEO_prc5                  : num  -3.52e-09 -3.56e-09 -8.23e-07 -7.08e-09 -2.58e-09 ...
##  $ Jitter->pitch_TKEO_prc25                 : num  -1.38e-09 -1.16e-09 -9.23e-08 -3.02e-09 -9.92e-10 ...
##  $ Jitter->pitch_TKEO_prc75                 : num  2.00e-11 6.00e-11 6.43e-09 2.68e-11 -5.44e-12 ...
##  $ Jitter->pitch_TKEO_prc95                 : num  1.37e-09 1.20e-09 1.35e-07 2.89e-09 1.01e-09 ...
##  $ Jitter->pitch_FM                         : num  0.0423 0.0428 0.4717 0.0229 0.1512 ...
##  $ Jitter->pitch_range_5_95_perc            : num  0.000204 0.000146 0.005443 0.000217 0.000137 ...
##  $ Shimmer->Ampl_abs_dif                    : num  0.0698 0.0471 0.1907 0.0817 0.0289 ...
##  $ Shimmer->Ampl_dif_percent                : num  11.57 7.2 34.45 11.37 4.75 ...
##  $ Shimmer->Ampl_PQ3_classical_Schoentgen   : num  0.0772 0.0479 0.2291 0.0757 0.0317 ...
##  $ Shimmer->Ampl_PQ3_classical_Baken        : num  -6.43e-05 1.10e-04 -1.37e-03 -6.56e-05 -3.12e-05 ...
##  $ Shimmer->Ampl_PQ3_generalised_Schoentgen : num  0.0819 0.0559 0.2591 0.0531 0.0328 ...
##  $ Shimmer->Ampl_PQ5_classical_Schoentgen   : num  0.0921 0.0522 0.2761 0.068 0.035 ...
##  $ Shimmer->Ampl_PQ5_classical_Baken        : num  -5.66e-05 5.42e-04 1.28e-03 2.28e-04 -3.31e-04 ...
##  $ Shimmer->Ampl_PQ5_generalised_Schoentgen : num  0.0819 0.0559 0.2591 0.0531 0.0328 ...
##  $ Shimmer->Ampl_PQ11_classical_Schoentgen  : num  0.1007 0.0721 0.315 0.0861 0.0399 ...
##  $ Shimmer->Ampl_PQ11_classical_Baken       : num  0.000057 0.000223 0.001812 0.000547 0.000642 ...
##  $ Shimmer->Ampl_PQ11_generalised_Schoentgen: num  0.0819 0.0559 0.2591 0.0531 0.0328 ...
##  $ Shimmer->Ampl_abs0th_perturb             : num  0.0595 0.0608 0.1473 0.0587 0.0338 ...
##  $ Shimmer->Ampl_dB                         : num  1.012 0.621 3.208 1.007 0.409 ...
##  $ Shimmer->Ampl_CV                         : num  0.0218 0.0104 0.1808 0.0188 0.0044 ...
##  $ Shimmer->Ampl_TKEO_mean                  : num  0.076 0.0593 0.1881 0.1169 0.0339 ...
##  $ Shimmer->Ampl_TKEO_std                   : num  0.0996 0.094 0.2412 0.1426 0.0509 ...
##  $ Shimmer->Ampl_TKEO_prc5                  : num  -0.1345 -0.1339 -0.3797 -0.2117 -0.0642 ...
##  $ Shimmer->Ampl_TKEO_prc25                 : num  -0.0578 -0.034 -0.1147 -0.1049 -0.0239 ...
##  $ Shimmer->Ampl_TKEO_prc75                 : num  -0.00247 0.00256 0.01472 0.00924 -0.0016 ...
##  $ Shimmer->Ampl_TKEO_prc95                 : num  0.0689 0.0358 0.1866 0.1025 0.0279 ...
##  $ Shimmer->Ampl_AM                         : num  0.36 0.464 0.718 0.419 0.324 ...
##  $ HNR->HNR_dB_Praat_mean                   : num  13 14.45 -2.39 16.22 21.14 ...
##  $ HNR->HNR_dB_Praat_std                    : num  1.26 4.93 1.71 2.82 1.73 ...
##  $ NHR->NHR_Praat_mean                      : num  0.05221 0.06533 1.85953 0.02885 0.00837 ...
##  $ NHR->NHR_Praat_std                       : num  0.01442 0.08646 0.65723 0.01835 0.00382 ...
##  $ OQ->prc5_95                              : num  1 0.989 0.856 0.758 1 ...
##  $ OQ->std_cycle_open                       : num  27.28 25.89 109.18 17.93 2.67 ...
##  $ OQ->std_cycle_closed                     : num  0 0.425 19.718 9.912 0 ...
##  $ RPDE                                     : num  0.531 0.462 0.769 0.588 0.284 ...
##  $ DFA                                      : num  0.665 0.511 0.519 0.664 0.552 ...
##  $ PPE                                      : num  0.00105 0.00299 0.31329 0.00211 0.00382 ...
##  $ GNE->mean                                : num  0.948 1.178 0.707 0.779 1.334 ...
##  $ GNE->std                                 : num  0.0982 0.2234 0.1061 0.0759 0.0854 ...
##  $ GNE->SNR_TKEO                            : num  0.168 0.128 0.146 0.121 0.187 ...
##  $ GNE->SNR_SEO                             : num  1615286 1427757 1174803 2034892 1744261 ...
##  $ GNE->NSR_TKEO                            : num  1.68 1.61 1.67 1.63 1.73 ...
##  $ GNE->NSR_SEO                             : num  3.05 3.05 3.02 2.98 2.96 ...
##  $ VFER->mean                               : num  0.00763 0.02636 0.00281 0.00135 0.00668 ...
##  $ VFER->std                                : num  0.011541 0.010107 0.005279 0.000558 0.001883 ...
##  $ VFER->entropy                            : num  14.37 48.46 3.89 1.92 12.65 ...
##  $ VFER->SNR_TKEO1                          : num  11.636 12.877 0.292 405.873 1.357 ...
##  $ VFER->SNR_TKEO                           : num  11.142 12.757 0.289 370.793 1.356 ...
##  $ VFER->SNR_SEO                            : num  535.94 554.58 9.01 28668.19 172.61 ...
##  $ VFER->NSR_TKEO1                          : num  1.187 1.169 0.958 1.338 1.13 ...
##  $ VFER->NSR_TKEO                           : num  5.73 6.41 5.01 5.88 6.08 ...
##  $ VFER->NSR_SEO                            : num  1.39 1.4 1.17 1.52 1.38 ...
##  $ IMF->SNR_SEO                             : num  2.0496 0.0198 0.1114 0.8507 0.2008 ...
##  $ IMF->SNR_TKEO                            : num  0.42203 0.00156 0.00868 0.14802 0.03405 ...
##  $ IMF->SNR_entropy                         : num  2.622 0.243 0.378 1.563 0.642 ...
##  $ IMF->NSR_SEO                             : num  0.1685 0.0394 0.0396 0.1295 0.0693 ...
##  $ IMF->NSR_TKEO                            : num  7.17 10.05 8.29 9.92 10.38 ...
##  $ IMF->NSR_entropy                         : num  0.1694 0.0652 0.0668 0.1321 0.0946 ...
##  $ Log energy                               : num  6.42 9.62 8.6 6.3 8.25 ...
##  $ MFCC_0th coef                            : num  7.67 13.55 16.2 4.03 10.6 ...
##  $ MFCC_1st coef                            : num  6.89 5.85 3.74 8.47 7.84 ...
##  $ MFCC_2nd coef                            : num  -0.624 -4.93 -5.415 1.635 -2.325 ...
##  $ MFCC_3rd coef                            : num  -0.242 -2.563 -0.911 -0.369 -1.286 ...
##  $ MFCC_4th coef                            : num  -0.228 -1.101 -1.303 -0.951 -0.341 ...
##  $ MFCC_5th coef                            : num  -1.434 -2.577 -0.863 -1.354 -1.257 ...
##  $ MFCC_6th coef                            : num  -1.076 -1.289 -1.921 -0.498 -2.4 ...
##  $ MFCC_7th coef                            : num  2.166 2.2112 0.711 0.0742 -1.0193 ...
##  $ MFCC_8th coef                            : num  1.065 0.731 0.448 0.708 0.665 ...
##  $ MFCC_9th coef                            : num  -0.835 -1.176 -0.547 0.857 1.264 ...
##  $ MFCC_10th coef                           : num  -0.626 -0.921 -0.963 0.682 -0.22 ...
##  $ MFCC_11th coef                           : num  -0.0482 -0.3258 1.2881 0.1346 -0.7622 ...
##  $ MFCC_12th coef                           : num  -0.263 0.296 0.53 -0.156 -0.843 ...
##  $ delta log energy                         : num  -0.002778 -0.003909 0.001466 -0.001097 -0.000514 ...
##  $ 0th delta                                : num  -0.008799 -0.02724 0.007013 -0.000964 -0.004889 ...
##  $ 1st delta                                : num  -0.00203 0.01922 -0.00395 0.00104 0.00452 ...
##   [list output truncated]

Binary Response:

## Classes 'tbl_df', 'tbl' and 'data.frame':    126 obs. of  1 variable:
##  $ Binary class 1=acceptable, 2=unacceptable: num  1 2 2 1 2 2 1 2 2 1 ...

Data Pre-processing:

Independent Training Set

##  num [1:100, 1:310] 0.2926 0.042 0.01 0.1191 0.0138 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:100] "102" "125" "103" "77" ...
##   ..$ : chr [1:310] "Jitter..F0_abs_dif" "Jitter..F0_dif_percent" "Jitter..F0_PQ5_classical_Schoentgen" "Jitter..F0_PQ5_classical_Baken" ...

Independent Testing Set

##  num [1:26, 1:310] 0.208 0.189 0.129 0.156 0.157 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:26] "2" "9" "12" "21" ...
##   ..$ : chr [1:310] "Jitter..F0_abs_dif" "Jitter..F0_dif_percent" "Jitter..F0_PQ5_classical_Schoentgen" "Jitter..F0_PQ5_classical_Baken" ...

Dependent Training Set

##  num [1:100, 1:3] 0 0 0 0 0 0 0 0 0 0 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:100] "102" "125" "103" "77" ...
##   ..$ : chr [1:3] "1" "2" "3"

Dependent Testing Set

##  num [1:26, 1:3] 0 0 0 0 0 0 0 0 0 0 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:26] "2" "9" "12" "21" ...
##   ..$ : chr [1:3] "1" "2" "3"

Neural Network Model Architecture:

## ___________________________________________________________________________
## Layer (type)                     Output Shape                  Param #     
## ===========================================================================
## dense_1 (Dense)                  (None, 3)                     933         
## ___________________________________________________________________________
## dropout_1 (Dropout)              (None, 3)                     0           
## ___________________________________________________________________________
## dense_2 (Dense)                  (None, 3)                     12          
## ===========================================================================
## Total params: 945
## Trainable params: 945
## Non-trainable params: 0
## ___________________________________________________________________________

Training the Neural Network Model:

Trained Model Summary:

## Trained on 80 samples, validated on 20 samples (batch_size=2, epochs=100)
## Final epoch (plot to see history):
## val_loss: 0.2226
##  val_acc: 0.9
##     loss: 0.1955
##      acc: 0.9458

Predict Using the Testing Dataset:

0 1
0 49 3
1 3 23

Evaluate the Model’s Performance:

Accuracy
92.31

References:

[1] A. Tsanas, M.A. Little, C. Fox, L.O. Ramig: Objective automatic assessment of rehabilitative speech treatment in Parkinsons disease, IEEE Transactions on Neural Systems and Rehabilitation Engineering, Vol. 22, pp. 181-190, January 2014