Brain logo

Parkinson's disease telemonitoring

By Sergio Sanchez, Artelnics.

Parkinson's disease is a degenerative disorder of the central nervous system. There is no cure for this disease, but medications, surgery and multidisciplinary management can provide relief from the symptoms. The stage of the disease determines what group of drugs is most useful in order to relieve the symptoms. The goal of this study is to predict the clinician's Parkinson's disease symptom score on the UPDRS scale.

Brain scan picture

Contents:

  1. Data set
  2. Neural network
  3. Loss index
  4. Training strategy
  5. Testing analysis
  6. Model deployment

1. Data set

This dataset is composed of a range of biomedical voice measurements from 42 people with early-stage Parkinson's disease recruited to a six-month trial of a telemonitoring device for remote symptom progression monitoring. The recordings were automatically captured in the patient's homes.

The following table depicts the names, descriptions and uses of all the variables in the data set.

Parkinson's disease telemonitoring variables picture
Parkinson's disease telemonitoring variables.

In this case the number of variables is 22, and the number of instances is 5875.

There are 3525 instances for training (60%), 1175 instances for generalization (20%), 1175 instances for testing (20%) and 0 unused instances (0%).

2. Neural network

The second step is to set the model stuff. For approximation project type, it is composed by:

  • Inputs.
  • Scaling layer.
  • Neural Network.
  • Unscaling layer.
  • Outputs.

The following figure shows the neural network page in Neural Designer.

Neural network page screenshot
Neural network page.

A graphical representation of the neural network is depicted next. It contains a scaling layer, a multilayer perceptron and an unscaling layer. The number of inputs is 19, and the number of outputs is 2. The complexity, represented by the numbers of hidden perceptrons is 19.

Neural network graph
Neural network graph.

The neural network defines a function which represents the model.

3. Loss index

The third step is to select an appropriate loss index, which plays an important role in the use of a neural network. It defines the task the neural network is required to do, and provides a measure of the quality of the representation that it is required to learn. The choice of a suitable loss index depends on the particular application.

The following figure shows the loss index page in Neural Designer.

Performance measure page screenshot
Performance measure page.

The normalized squared error is used here as objective term. It divides the squared error between the outputs from the neural network and the targets in the data set by a normalization coefficient. If the normalized squared error has a value of unity then the neural network is predicting the data 'in the mean', while a value of zero means perfect prediction of the data.

4. Training strategy

The procedure used to carry out the learning process is called training (or learning) strategy. The training strategy is applied to the neural network in order to obtain the best possible performance. The type of training is determined by the way in which the adjustment of the parameters in the neural network takes place.

The following chart shows how the performance decreases with the iterations during the training process. The initial value is 15.3913, and the final value after 100 iterations is 0.288922. (The first 100 iterations are shown)

Training chart
Training chart.

The next table shows the training results by the quasi-Newton method. They include some final states from the neural network, the loss index and the training algorithm.

Training table
Training table.

Here the final parameters norm is not very big, the final performance and generalization performance are small, and the final gradient norm is next to zero.

5. Testing analysis

A standard method for testing the predictive model is to compare the outputs from the neural network against data never seen before.

The following images show the linear regression analysis for the two main outputs (motor_UPDRS and total_UPDRS).

First of all, we can see motor_UPDRS values:

Regression table
Regression table.

The next chart illustrates the linear regression for the scaled output motor_UPDRS. The predicted values are plotted versus the actual ones as squares. The coloured line indicates the best linear fit. The grey line would indicate a perfect fit. Note that some scaled outputs fall outside the range defined by the scaled targets, and therefore they are not plotted.

Regression plot
Regression plot.

For this variable, there is a good correlation, since the corresponding coefficient is high (0.919). Also, the intercept is close to 0 (-0.00862) and the slope is high (0.853). The plot also indicates that the neural network predicts well the motor_UPDRS.

Secondly, we have total_UPDRS values:

Regression table total
Regression table total.

The next chart illustrates the linear regression for the scaled output total_UPDRS. The predicted values are plotted versus the actual ones as squares. The coloured line indicates the best linear fit. The grey line would indicate a perfect fit. Note that some scaled outputs fall outside the range defined by the scaled targets, and therefore they are not plotted.

Regression plot total
Regression plot total

As before, the intercept, slope and correlation values are good. The plot also indicates that the prediction is accurate for most of the cases.

6. Model deployment

The neural network is now ready to estimate the motor_UPDRS and the toal_UPDRS with satisfactory quality over the same range of data.

The "Calculate output" task calculates the output value for a given set of input values.

Inputs
Inputs.

As well, we can use the mathematical expression of the neural network, which is listed next.

				scaled_age=2*(age-36)/(85-36)-1;
				scaled_sex=2*(sex-0)/(1-0)-1;
				scaled_test_time=2*(test_time+4.2625)/(215.49+4.2625)-1;
				scaled_Jitter_%)=2*(Jitter_%)-0.00083)/(0.09999-0.00083)-1;
				scaled_Jitter_Abs)=2*(Jitter_Abs)-2.25e-006)/(0.00044559-2.25e-006)-1;
				scaled_Jitter:RAP=2*(Jitter:RAP-0.00033)/(0.05754-0.00033)-1;
				scaled_Jitter:PPQ5=2*(Jitter:PPQ5-0.00043)/(0.06956-0.00043)-1;
				scaled_Jitter:DDP=2*(Jitter:DDP-0.00098)/(0.17263-0.00098)-1;
				scaled_Shimmer=2*(Shimmer-0.00306)/(0.26863-0.00306)-1;
				scaled_Shimmer_dB)=2*(Shimmer_dB)-0.026)/(2.107-0.026)-1;
				scaled_Shimmer:APQ3=2*(Shimmer:APQ3-0.00161)/(0.16267-0.00161)-1;
				scaled_Shimmer:APQ5=2*(Shimmer:APQ5-0.00194)/(0.16702-0.00194)-1;
				scaled_Shimmer:APQ11=2*(Shimmer:APQ11-0.00249)/(0.27546-0.00249)-1;
				scaled_Shimmer:DDA=2*(Shimmer:DDA-0.00484)/(0.48802-0.00484)-1;
				scaled_NHR=2*(NHR-0.000286)/(0.74826-0.000286)-1;
				scaled_HNR=2*(HNR-1.659)/(37.875-1.659)-1;
				scaled_RPDE=2*(RPDE-0.15102)/(0.96608-0.15102)-1;
				scaled_DFA=2*(DFA-0.51404)/(0.8656-0.51404)-1;
				scaled_PPE=2*(PPE-0.021983)/(0.73173-0.021983)-1;
				y_1_1=tanh(-0.266756
				-2.61357*scaled_age
				-1.59001*scaled_sex
				-0.150778*scaled_test_time
				-0.406771*scaled_Jitter_%)
				+0.712983*scaled_Jitter_Abs)
				-0.770994*scaled_Jitter:RAP
				-0.370985*scaled_Jitter:PPQ5
				-0.55429*scaled_Jitter:DDP
				-0.826561*scaled_Shimmer
				-0.178963*scaled_Shimmer_dB)
				-1.29779*scaled_Shimmer:APQ3
				+0.206596*scaled_Shimmer:APQ5
				+1.62203*scaled_Shimmer:APQ11
				-0.844143*scaled_Shimmer:DDA
				+0.429398*scaled_NHR
				+0.452316*scaled_HNR
				+1.07896*scaled_RPDE
				+1.93892*scaled_DFA
				+0.00384857*scaled_PPE);
				y_1_2=tanh(0.72758
				-1.39776*scaled_age
				-0.340859*scaled_sex
				+0.191393*scaled_test_time
				+1.05173*scaled_Jitter_%)
				+1.5512*scaled_Jitter_Abs)
				+0.333634*scaled_Jitter:RAP
				+0.203832*scaled_Jitter:PPQ5
				+0.391443*scaled_Jitter:DDP
				-0.665579*scaled_Shimmer
				-0.526037*scaled_Shimmer_dB)
				-0.955295*scaled_Shimmer:APQ3
				-0.813885*scaled_Shimmer:APQ5
				+0.403907*scaled_Shimmer:APQ11
				-1.14734*scaled_Shimmer:DDA
				-1.63771*scaled_NHR
				-3.12295*scaled_HNR
				-0.559378*scaled_RPDE
				+0.275969*scaled_DFA
				+1.21833*scaled_PPE);
				y_1_3=tanh(-2.19744
				+3.75947*scaled_age
				-1.59976*scaled_sex
				-0.0451966*scaled_test_time
				+0.651216*scaled_Jitter_%)
				-1.10837*scaled_Jitter_Abs)
				-0.922055*scaled_Jitter:RAP
				-0.985649*scaled_Jitter:PPQ5
				-0.367826*scaled_Jitter:DDP
				+0.261427*scaled_Shimmer
				+0.642464*scaled_Shimmer_dB)
				+0.651447*scaled_Shimmer:APQ3
				+0.773851*scaled_Shimmer:APQ5
				-1.49023*scaled_Shimmer:APQ11
				+0.769322*scaled_Shimmer:DDA
				+0.698499*scaled_NHR
				-0.691412*scaled_HNR
				+1.80484*scaled_RPDE
				+0.892076*scaled_DFA
				-0.716577*scaled_PPE);
				y_1_4=tanh(-0.901497
				+1.39148*scaled_age
				-1.25056*scaled_sex
				+0.161187*scaled_test_time
				-0.581545*scaled_Jitter_%)
				+2.12288*scaled_Jitter_Abs)
				-1.44514*scaled_Jitter:RAP
				+0.783922*scaled_Jitter:PPQ5
				-1.27786*scaled_Jitter:DDP
				+0.137309*scaled_Shimmer
				-0.355709*scaled_Shimmer_dB)
				+0.295518*scaled_Shimmer:APQ3
				+0.241762*scaled_Shimmer:APQ5
				-0.448105*scaled_Shimmer:APQ11
				-0.229518*scaled_Shimmer:DDA
				+1.19065*scaled_NHR
				+1.75143*scaled_HNR
				+1.16443*scaled_RPDE
				+1.33844*scaled_DFA
				+0.337366*scaled_PPE);
				y_1_5=tanh(-1.40029
				-2.13448*scaled_age
				+1.36321*scaled_sex
				-0.339403*scaled_test_time
				-0.0233921*scaled_Jitter_%)
				+1.47838*scaled_Jitter_Abs)
				+0.460916*scaled_Jitter:RAP
				+0.304484*scaled_Jitter:PPQ5
				-0.0255412*scaled_Jitter:DDP
				-0.109039*scaled_Shimmer
				-0.0359577*scaled_Shimmer_dB)
				-1.1302*scaled_Shimmer:APQ3
				-0.170071*scaled_Shimmer:APQ5
				+0.0413797*scaled_Shimmer:APQ11
				-0.842392*scaled_Shimmer:DDA
				+0.000771868*scaled_NHR
				+2.34024*scaled_HNR
				+0.554797*scaled_RPDE
				+0.197019*scaled_DFA
				+1.74455*scaled_PPE);
				y_1_6=tanh(2.4542
				-0.271869*scaled_age
				-0.639114*scaled_sex
				+0.685255*scaled_test_time
				-0.18269*scaled_Jitter_%)
				+1.84969*scaled_Jitter_Abs)
				+0.282381*scaled_Jitter:RAP
				+0.873875*scaled_Jitter:PPQ5
				-0.338819*scaled_Jitter:DDP
				-0.671452*scaled_Shimmer
				+0.185059*scaled_Shimmer_dB)
				-0.989784*scaled_Shimmer:APQ3
				+0.422426*scaled_Shimmer:APQ5
				-0.137704*scaled_Shimmer:APQ11
				-0.310425*scaled_Shimmer:DDA
				-0.651675*scaled_NHR
				+1.94824*scaled_HNR
				+0.89169*scaled_RPDE
				+0.884289*scaled_DFA
				+0.426774*scaled_PPE);
				y_1_7=tanh(1.00692
				-0.630096*scaled_age
				+0.543345*scaled_sex
				-0.405182*scaled_test_time
				+1.13434*scaled_Jitter_%)
				-0.144833*scaled_Jitter_Abs)
				-0.57581*scaled_Jitter:RAP
				-0.0590936*scaled_Jitter:PPQ5
				-0.498942*scaled_Jitter:DDP
				+0.0960639*scaled_Shimmer
				+0.366716*scaled_Shimmer_dB)
				-0.377818*scaled_Shimmer:APQ3
				-0.579747*scaled_Shimmer:APQ5
				-0.294361*scaled_Shimmer:APQ11
				+0.348025*scaled_Shimmer:DDA
				+0.489032*scaled_NHR
				+0.990635*scaled_HNR
				+0.319511*scaled_RPDE
				-0.473729*scaled_DFA
				-0.941227*scaled_PPE);
				y_1_8=tanh(0.630566
				-0.329905*scaled_age
				+1.6905*scaled_sex
				+0.00596386*scaled_test_time
				-0.384771*scaled_Jitter_%)
				+1.84456*scaled_Jitter_Abs)
				-0.546821*scaled_Jitter:RAP
				-0.147075*scaled_Jitter:PPQ5
				-1.49703*scaled_Jitter:DDP
				+0.423827*scaled_Shimmer
				-0.413017*scaled_Shimmer_dB)
				-0.402833*scaled_Shimmer:APQ3
				-0.505071*scaled_Shimmer:APQ5
				-0.360117*scaled_Shimmer:APQ11
				+0.257646*scaled_Shimmer:DDA
				-0.180691*scaled_NHR
				+1.34473*scaled_HNR
				+0.960924*scaled_RPDE
				+1.29915*scaled_DFA
				-0.153592*scaled_PPE);
				y_1_9=tanh(0.45301
				+1.28097*scaled_age
				+1.5726*scaled_sex
				-0.310855*scaled_test_time
				+0.25279*scaled_Jitter_%)
				-0.493113*scaled_Jitter_Abs)
				-0.00574201*scaled_Jitter:RAP
				+0.239634*scaled_Jitter:PPQ5
				-0.016088*scaled_Jitter:DDP
				+0.129473*scaled_Shimmer
				-0.282577*scaled_Shimmer_dB)
				+0.20327*scaled_Shimmer:APQ3
				+0.0821976*scaled_Shimmer:APQ5
				+1.22674*scaled_Shimmer:APQ11
				-0.0455248*scaled_Shimmer:DDA
				+0.408996*scaled_NHR
				-0.0437071*scaled_HNR
				-0.633387*scaled_RPDE
				-0.150789*scaled_DFA
				+0.223866*scaled_PPE);
				y_1_10=tanh(-0.165082
				+2.68546*scaled_age
				+0.379148*scaled_sex
				-0.142253*scaled_test_time
				+0.856796*scaled_Jitter_%)
				-2.85807*scaled_Jitter_Abs)
				+0.79591*scaled_Jitter:RAP
				+0.241139*scaled_Jitter:PPQ5
				+1.24441*scaled_Jitter:DDP
				+0.942123*scaled_Shimmer
				+0.00658218*scaled_Shimmer_dB)
				+0.074152*scaled_Shimmer:APQ3
				-0.145968*scaled_Shimmer:APQ5
				-0.118899*scaled_Shimmer:APQ11
				-0.408276*scaled_Shimmer:DDA
				-0.590669*scaled_NHR
				-1.05468*scaled_HNR
				-0.790502*scaled_RPDE
				+0.313869*scaled_DFA
				-0.0115369*scaled_PPE);
				y_1_11=tanh(-1.58574
				+1.55007*scaled_age
				-0.206169*scaled_sex
				+0.111277*scaled_test_time
				-0.264902*scaled_Jitter_%)
				+1.03795*scaled_Jitter_Abs)
				-0.435378*scaled_Jitter:RAP
				-0.0820891*scaled_Jitter:PPQ5
				-0.416108*scaled_Jitter:DDP
				-0.505422*scaled_Shimmer
				-0.689774*scaled_Shimmer_dB)
				+0.555073*scaled_Shimmer:APQ3
				+0.482001*scaled_Shimmer:APQ5
				-0.299222*scaled_Shimmer:APQ11
				-0.0282929*scaled_Shimmer:DDA
				+0.0548578*scaled_NHR
				-1.39574*scaled_HNR
				+0.440583*scaled_RPDE
				-0.542289*scaled_DFA
				-0.0924708*scaled_PPE);
				y_1_12=tanh(0.0629554
				-5.89369*scaled_age
				-0.865845*scaled_sex
				+0.0507495*scaled_test_time
				+0.724121*scaled_Jitter_%)
				-0.589525*scaled_Jitter_Abs)
				+0.253786*scaled_Jitter:RAP
				-0.120522*scaled_Jitter:PPQ5
				-0.379954*scaled_Jitter:DDP
				-0.786031*scaled_Shimmer
				+0.88016*scaled_Shimmer_dB)
				-0.865492*scaled_Shimmer:APQ3
				-0.828294*scaled_Shimmer:APQ5
				-1.17271*scaled_Shimmer:APQ11
				-0.00545662*scaled_Shimmer:DDA
				+0.904879*scaled_NHR
				+0.239025*scaled_HNR
				+1.43294*scaled_RPDE
				+2.21878*scaled_DFA
				+0.372158*scaled_PPE);
				y_1_13=tanh(-1.03587
				+3.1222*scaled_age
				-2.07226*scaled_sex
				-0.02562*scaled_test_time
				+2.39898*scaled_Jitter_%)
				-1.49775*scaled_Jitter_Abs)
				-0.377812*scaled_Jitter:RAP
				+0.226925*scaled_Jitter:PPQ5
				-0.0998695*scaled_Jitter:DDP
				-0.508137*scaled_Shimmer
				+0.98085*scaled_Shimmer_dB)
				-0.101377*scaled_Shimmer:APQ3
				+1.07004*scaled_Shimmer:APQ5
				-0.623713*scaled_Shimmer:APQ11
				+0.281567*scaled_Shimmer:DDA
				+0.459107*scaled_NHR
				-0.627693*scaled_HNR
				-1.17401*scaled_RPDE
				-1.26263*scaled_DFA
				-0.0130166*scaled_PPE);
				y_1_14=tanh(0.774493
				+0.273216*scaled_age
				-0.0759342*scaled_sex
				-0.217033*scaled_test_time
				-0.57588*scaled_Jitter_%)
				+0.150611*scaled_Jitter_Abs)
				-0.441348*scaled_Jitter:RAP
				-0.393612*scaled_Jitter:PPQ5
				+0.324863*scaled_Jitter:DDP
				-0.513759*scaled_Shimmer
				-0.529835*scaled_Shimmer_dB)
				-0.304466*scaled_Shimmer:APQ3
				-0.352196*scaled_Shimmer:APQ5
				-0.681755*scaled_Shimmer:APQ11
				-0.530191*scaled_Shimmer:DDA
				-0.33408*scaled_NHR
				+0.0210046*scaled_HNR
				+0.0977207*scaled_RPDE
				+0.0436924*scaled_DFA
				-0.448201*scaled_PPE);
				y_1_15=tanh(0.694464
				+0.0339752*scaled_age
				-0.134537*scaled_sex
				+0.485021*scaled_test_time
				+0.189144*scaled_Jitter_%)
				+0.90861*scaled_Jitter_Abs)
				-0.543904*scaled_Jitter:RAP
				+0.360915*scaled_Jitter:PPQ5
				-0.511067*scaled_Jitter:DDP
				-0.602056*scaled_Shimmer
				-0.818168*scaled_Shimmer_dB)
				-0.416316*scaled_Shimmer:APQ3
				-0.286539*scaled_Shimmer:APQ5
				-0.473964*scaled_Shimmer:APQ11
				-0.599894*scaled_Shimmer:DDA
				-1.2593*scaled_NHR
				+0.127039*scaled_HNR
				-0.559151*scaled_RPDE
				-0.345604*scaled_DFA
				+0.867418*scaled_PPE);
				y_1_16=tanh(0.139498
				+6.82886*scaled_age
				+0.971041*scaled_sex
				-0.122167*scaled_test_time
				-0.187213*scaled_Jitter_%)
				-4.96893*scaled_Jitter_Abs)
				+1.89455*scaled_Jitter:RAP
				+1.17506*scaled_Jitter:PPQ5
				+2.23111*scaled_Jitter:DDP
				+1.81862*scaled_Shimmer
				-0.508391*scaled_Shimmer_dB)
				-0.384385*scaled_Shimmer:APQ3
				-0.606792*scaled_Shimmer:APQ5
				+0.489842*scaled_Shimmer:APQ11
				-0.0897277*scaled_Shimmer:DDA
				+0.393168*scaled_NHR
				-0.439379*scaled_HNR
				-0.537567*scaled_RPDE
				+0.911344*scaled_DFA
				+0.281212*scaled_PPE);
				y_1_17=tanh(0.877065
				+0.298265*scaled_age
				-0.0647045*scaled_sex
				+0.0166319*scaled_test_time
				+1.88594*scaled_Jitter_%)
				-1.51931*scaled_Jitter_Abs)
				-0.508309*scaled_Jitter:RAP
				-0.395576*scaled_Jitter:PPQ5
				-0.383838*scaled_Jitter:DDP
				-0.413388*scaled_Shimmer
				+1.10919*scaled_Shimmer_dB)
				+0.809502*scaled_Shimmer:APQ3
				+0.547275*scaled_Shimmer:APQ5
				-0.715099*scaled_Shimmer:APQ11
				+0.42405*scaled_Shimmer:DDA
				-0.618223*scaled_NHR
				-1.44371*scaled_HNR
				-0.864636*scaled_RPDE
				-1.1151*scaled_DFA
				-0.423573*scaled_PPE);
				y_1_18=tanh(-0.0797247
				+2.88225*scaled_age
				+0.33591*scaled_sex
				+0.863633*scaled_test_time
				+2.02505*scaled_Jitter_%)
				-0.634754*scaled_Jitter_Abs)
				-0.310381*scaled_Jitter:RAP
				-0.448861*scaled_Jitter:PPQ5
				+0.0673939*scaled_Jitter:DDP
				+0.93829*scaled_Shimmer
				+1.49373*scaled_Shimmer_dB)
				-0.957859*scaled_Shimmer:APQ3
				-0.616171*scaled_Shimmer:APQ5
				+0.880013*scaled_Shimmer:APQ11
				-1.14701*scaled_Shimmer:DDA
				+1.70468*scaled_NHR
				+0.530697*scaled_HNR
				-0.0630399*scaled_RPDE
				+1.38934*scaled_DFA
				+0.696334*scaled_PPE);
				y_1_19=tanh(0.408374
				+1.81757*scaled_age
				+1.77498*scaled_sex
				+0.183193*scaled_test_time
				+1.61443*scaled_Jitter_%)
				-0.158099*scaled_Jitter_Abs)
				-0.291338*scaled_Jitter:RAP
				-0.072683*scaled_Jitter:PPQ5
				+0.013822*scaled_Jitter:DDP
				-0.609657*scaled_Shimmer
				-0.325917*scaled_Shimmer_dB)
				-0.522595*scaled_Shimmer:APQ3
				-0.0181349*scaled_Shimmer:APQ5
				-0.0153639*scaled_Shimmer:APQ11
				+0.0854286*scaled_Shimmer:DDA
				+0.442897*scaled_NHR
				+1.79936*scaled_HNR
				+0.57379*scaled_RPDE
				+1.43372*scaled_DFA
				+1.54059*scaled_PPE);
				scaled_motor_UPDRS=(-0.518966
				-0.898393*y_1_1
				+0.54427*y_1_2
				+0.684729*y_1_3
				-1.36204*y_1_4
				-1.0226*y_1_5
				+0.730143*y_1_6
				-0.909511*y_1_7
				+1.3133*y_1_8
				+1.99333*y_1_9
				-2.57129*y_1_10
				-0.859547*y_1_11
				+0.867942*y_1_12
				+2.32458*y_1_13
				-0.0484598*y_1_14
				+0.371522*y_1_15
				+1.89779*y_1_16
				-1.42217*y_1_17
				-0.520051*y_1_18
				-1.05845*y_1_19);
				scaled_total_UPDRS=(-0.463922
				-0.935018*y_1_1
				+0.497311*y_1_2
				+0.654208*y_1_3
				-1.32132*y_1_4
				-1.01537*y_1_5
				+0.815025*y_1_6
				-0.825317*y_1_7
				+1.41361*y_1_8
				+2.10007*y_1_9
				-2.41975*y_1_10
				-0.59818*y_1_11
				+1.06306*y_1_12
				+2.44167*y_1_13
				-0.33158*y_1_14
				+0.472601*y_1_15
				+1.79469*y_1_16
				-1.39203*y_1_17
				-0.641497*y_1_18
				-1.1171*y_1_19);
				(motor_UPDRS,total_UPDRS) = (0.5*(scaled_motor_UPDRS+1.0)*(39.511-5.0377)+5.0377,0.5*(scaled_total_UPDRS+1.0)*(54.992-7)+7);
				

Bibliography