Skip to content
Snippets Groups Projects
Commit 0e17592b authored by GILSON Matthieu's avatar GILSON Matthieu
Browse files

add reg + data

parent ae741b41
No related branches found
No related tags found
No related merge requests found
%% Cell type:code id:ef2a766b-a3a1-431f-8dac-6c57c1157312 tags:
``` python
import numpy as np
import scipy.stats as stt
import statsmodels.api as sm
import statsmodels.formula.api as smf
from patsy import dmatrices
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sb
from statsmodels.graphics.factorplots import interaction_plot
sb.set_style('whitegrid')
sb.set(font_scale=1.5)
```
%% Cell type:markdown id:102b1593-da1a-485c-a8a3-0129619a69ac tags:
## Synthetic example
We start with an example where we control the dependency from 2 predictor variables ($x1$ and $x2$) to a response variable ($y$).
For further reference on the models and , see the docs about [ordinary least square](https://www.statsmodels.org/dev/examples/notebooks/generated/ols.html) estimation, as well as [patsy](https://patsy.readthedocs.io/en/latest/).
### Exercise
- Generate $y$ such that it has a linear dependency with each of the variable, test a linear model on it.
- Add a non-linear dependence to $y$ with the product
%% Cell type:code id:3576be4a-1c48-4f7d-abbc-f18064c930e6 tags:
``` python
# number of samples
n = 50
# exogeneous variables
x1 = stt.norm.rvs(size=n)
x2 = stt.norm.rvs(size=n)
# error
e = stt.norm.rvs(size=n)
# endogenous variable scaled by factor a
a1 = -0.5
a2 = 0.7
y = a1 * x1 + a2 * x2 + e
# build dataframe
df = pd.DataFrame(np.column_stack((x1,x2,y)), columns=['x1','x2','y'])
df.head()
```
%% Output
x1 x2 y
0 1.951076 1.654086 0.061812
1 -0.024425 1.342077 0.091460
2 0.638307 -0.854780 1.663423
3 0.958588 1.135066 0.393107
4 -0.944212 -0.223619 -0.959402
%% Cell type:code id:6345745a-3046-48fe-b3b8-54e09c507dc9 tags:
``` python
plt.figure()
plt.scatter(x1, y)
plt.xlabel('exog x1')
plt.ylabel('endog y')
plt.figure()
plt.scatter(x2, y)
plt.xlabel('exog x2')
plt.ylabel('endog y')
plt.show()
```
%% Output
%% Cell type:code id:d30de122-7250-4c31-9e6d-f2e22370b242 tags:
``` python
# define linear model
lm = smf.ols('y ~ x1 + x2', df)
# fit model to data
lmf = lm.fit()
# summary
print(lmf.summary())
```
%% Output
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.484
Model: OLS Adj. R-squared: 0.462
Method: Least Squares F-statistic: 22.01
Date: Thu, 06 Jul 2023 Prob (F-statistic): 1.80e-07
Time: 00:36:28 Log-Likelihood: -62.306
No. Observations: 50 AIC: 130.6
Df Residuals: 47 BIC: 136.3
Df Model: 2
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
Intercept -0.0413 0.125 -0.332 0.741 -0.292 0.209
x1 -0.4097 0.118 -3.468 0.001 -0.647 -0.172
x2 0.5906 0.136 4.335 0.000 0.316 0.865
==============================================================================
Omnibus: 1.032 Durbin-Watson: 2.003
Prob(Omnibus): 0.597 Jarque-Bera (JB): 0.986
Skew: 0.167 Prob(JB): 0.611
Kurtosis: 2.398 Cond. No. 1.47
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
%% Cell type:markdown id:776bee7d-176d-443d-90ff-256ab36bb5e2 tags:
The construction of the model relies on the design matrix created by `patsy.dmatrix`.
%% Cell type:code id:9237dd64-3e28-4a6e-8a26-fb8fa63d9842 tags:
``` python
y_aff, X_aff = dmatrices('y ~ x1 + x2', data=df, return_type='dataframe')
X_aff.head()
```
%% Output
Intercept x1 x2
0 1.0 -0.598903 -1.107940
1 1.0 1.484895 -0.308404
2 1.0 -1.279121 -0.071924
3 1.0 0.796557 -1.757192
4 1.0 0.772527 0.049753
%% Cell type:markdown id:b9596e22-c8b4-43ea-88ca-894c1cb4bbff tags:
## Interactions between predictors
Now we change the model to incorporate a non-linear interaction between $x1$ and $x2$.
%% Cell type:code id:0ae0753d-9007-489a-a102-5a1a1f1b97c9 tags:
``` python
# coefficient for the interaction, which is simply a second-order polynomial in x1, x2
a12 = 0.4
y2 = a1 * x1 + a2 * x2 + a12 * x1 * x2 + e
# build dataframe
df['y2'] = y2
df.head()
```
%% Output
x1 x2 y y2
0 -0.598903 -1.107940 -0.983083 -0.717664
1 1.484895 -0.308404 -2.069647 -2.252826
2 -1.279121 -0.071924 0.927597 0.964397
3 0.796557 -1.757192 -0.702349 -1.262231
4 0.772527 0.049753 0.529516 0.544891
%% Cell type:code id:fc12371e-4da7-4497-aebb-a55a7aae0daf tags:
``` python
y_aff, X_aff = dmatrices('y2 ~ x1 * x2', data=df, return_type='dataframe')
X_aff.head()
```
%% Output
Intercept x1 x2 x1:x2
0 1.0 -0.598903 -1.107940 0.663548
1 1.0 1.484895 -0.308404 -0.457947
2 1.0 -1.279121 -0.071924 0.092000
3 1.0 0.796557 -1.757192 -1.399704
4 1.0 0.772527 0.049753 0.038436
%% Cell type:code id:8c0ae1bb-4493-4a1f-bb2a-d467d216fc62 tags:
``` python
# define linear model
lm2 = smf.ols('y2 ~ x1 * x2', df)
# fit model to data
lmf2 = lm2.fit()
# summary
print(lmf2.summary())
```
%% Output
OLS Regression Results
==============================================================================
Dep. Variable: y2 R-squared: 0.477
Model: OLS Adj. R-squared: 0.443
Method: Least Squares F-statistic: 14.01
Date: Thu, 06 Jul 2023 Prob (F-statistic): 1.28e-06
Time: 00:36:41 Log-Likelihood: -62.280
No. Observations: 50 AIC: 132.6
Df Residuals: 46 BIC: 140.2
Df Model: 3
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
Intercept -0.0335 0.131 -0.256 0.799 -0.297 0.230
x1 -0.4150 0.122 -3.405 0.001 -0.660 -0.170
x2 0.5960 0.140 4.259 0.000 0.314 0.878
x1:x2 0.4273 0.126 3.389 0.001 0.174 0.681
==============================================================================
Omnibus: 0.909 Durbin-Watson: 1.989
Prob(Omnibus): 0.635 Jarque-Bera (JB): 0.917
Skew: 0.164 Prob(JB): 0.632
Kurtosis: 2.423 Cond. No. 1.71
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
%% Cell type:markdown id:3761c74f-1dc0-47a0-aeb3-ccb928875dad tags:
This model accurately captures the coefficients used to generate $y2$.
%% Cell type:code id:dfc36822-9af7-4eab-9e25-baaa0b9b6eb9 tags:
``` python
# model without interaction
lm = smf.ols('y2 ~ x1 + x2', df)
# fit model to data
lmf = lm.fit()
# summary
print(lmf.summary())
```
%% Output
OLS Regression Results
==============================================================================
Dep. Variable: y2 R-squared: 0.347
Model: OLS Adj. R-squared: 0.319
Method: Least Squares F-statistic: 12.48
Date: Thu, 06 Jul 2023 Prob (F-statistic): 4.48e-05
Time: 00:36:52 Log-Likelihood: -67.852
No. Observations: 50 AIC: 141.7
Df Residuals: 47 BIC: 147.4
Df Model: 2
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
Intercept -0.1561 0.139 -1.121 0.268 -0.436 0.124
x1 -0.3311 0.132 -2.509 0.016 -0.597 -0.066
x2 0.5106 0.152 3.354 0.002 0.204 0.817
==============================================================================
Omnibus: 0.529 Durbin-Watson: 2.231
Prob(Omnibus): 0.768 Jarque-Bera (JB): 0.634
Skew: -0.016 Prob(JB): 0.728
Kurtosis: 2.449 Cond. No. 1.47
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
%% Cell type:markdown id:edf8ac33-7145-4bed-b9d9-c0362104debc tags:
Note that correctly estimating the interaction requires including the linear dependencies.
%% Cell type:code id:db858a08-c017-4c7b-9f2a-24d9fbe5dfbd tags:
``` python
# model with only the interaction
lm3 = smf.ols('y2 ~ x1 : x2', df)
# fit model to data
lmf3 = lm3.fit()
# summary
print(lmf3.summary())
```
%% Output
OLS Regression Results
==============================================================================
Dep. Variable: y2 R-squared: 0.026
Model: OLS Adj. R-squared: 0.005
Method: Least Squares F-statistic: 1.257
Date: Thu, 06 Jul 2023 Prob (F-statistic): 0.268
Time: 00:37:28 Log-Likelihood: -77.858
No. Observations: 50 AIC: 159.7
Df Residuals: 48 BIC: 163.5
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
Intercept -0.0803 0.173 -0.465 0.644 -0.428 0.267
x1:x2 0.1794 0.160 1.121 0.268 -0.142 0.501
==============================================================================
Omnibus: 0.414 Durbin-Watson: 2.034
Prob(Omnibus): 0.813 Jarque-Bera (JB): 0.567
Skew: 0.064 Prob(JB): 0.753
Kurtosis: 2.494 Cond. No. 1.35
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
%% Cell type:markdown id:793b95f7-1df7-4b58-858d-309f2ab93717 tags:
### EXERCISE
- Redo the fit of $y$ by the model with interactions (`lm2`)
- with the below data, check relationships and interactions between the cognitive scores.
- Adapt the synthetic model to the data and compare the perf with the model fitted on data.
Dataset taken from R dataset repository ([link](https://github.com/vincentarelbundock/Rdatasets/)), use e.g.
`df = sm.datasets.get_rdataset("NeuroCog", "heplots").data`
%% Cell type:code id:e1625945-157d-4716-a6fd-5f287a4b17d4 tags:
``` python
# load NeuroCog data
df = pd.read_csv('NeuroCog_dataset.csv', sep=',')
df.head()
```
%% Output
Unnamed: 0 Dx Speed Attention Memory Verbal Visual
0 14 Schizophrenia 19 9 19 33 24 \
1 15 Schizophrenia 8 25 15 28 24
2 16 Schizophrenia 14 23 15 20 13
3 17 Schizophrenia 7 18 14 34 16
4 18 Schizophrenia 21 9 35 28 29
ProbSolv SocialCog Age Sex
0 39 28 44 Female
1 40 37 26 Male
2 32 24 55 Female
3 31 36 53 Male
4 45 28 51 Male
%% Cell type:markdown id:04a9875a-c70f-4d36-8046-d5651092109a tags:
##
,Dx,Speed,Attention,Memory,Verbal,Visual,ProbSolv,SocialCog,Age,Sex
14,Schizophrenia,19,9,19,33,24,39,28,44,Female
15,Schizophrenia,8,25,15,28,24,40,37,26,Male
16,Schizophrenia,14,23,15,20,13,32,24,55,Female
17,Schizophrenia,7,18,14,34,16,31,36,53,Male
18,Schizophrenia,21,9,35,28,29,45,28,51,Male
19,Schizophrenia,31,10,26,29,21,33,28,21,Male
20,Schizophrenia,-1,8,3,20,12,29,28,53,Male
21,Schizophrenia,17,20,27,30,32,29,44,56,Female
22,Schizophrenia,7,30,26,26,27,30,39,48,Male
23,Schizophrenia,37,15,17,33,21,33,24,46,Female
24,Schizophrenia,30,27,28,34,19,30,32,48,Male
25,Schizophrenia,26,20,22,33,18,39,36,31,Male
26,Schizophrenia,32,23,22,29,21,31,26,45,Female
27,Schizophrenia,36,16,38,27,23,36,28,27,Male
28,Schizophrenia,29,42,31,28,23,37,18,44,Male
29,Schizophrenia,21,35,42,33,35,32,27,30,Male
30,Schizophrenia,48,32,24,37,23,42,24,43,Male
31,Schizophrenia,36,16,30,36,37,50,23,41,Female
32,Schizophrenia,36,37,31,32,26,30,36,36,Female
33,Schizophrenia,46,28,33,33,21,37,32,48,Male
34,Schizophrenia,29,28,31,28,35,45,39,52,Male
35,Schizophrenia,27,42,35,25,19,39,49,45,Male
36,Schizophrenia,33,21,38,28,37,48,29,27,Male
37,Schizophrenia,32,41,38,33,24,35,39,53,Male
38,Schizophrenia,30,36,35,42,32,35,32,33,Male
39,Schizophrenia,32,50,38,33,21,41,27,51,Male
40,Schizophrenia,39,31,40,28,26,37,39,45,Male
41,Schizophrenia,45,35,36,29,19,46,32,20,Male
42,Schizophrenia,27,21,35,34,34,39,57,59,Male
43,Schizophrenia,28,50,47,37,18,37,33,53,Male
44,Schizophrenia,39,34,47,30,21,40,44,49,Male
45,Schizophrenia,22,28,37,30,46,50,40,20,Female
46,Schizophrenia,29,29,42,36,40,50,29,35,Male
47,Schizophrenia,47,32,39,39,24,39,34,53,Female
48,Schizophrenia,42,31,51,30,38,50,10,40,Male
49,Schizophrenia,25,43,42,36,46,42,24,50,Female
50,Schizophrenia,39,34,44,29,27,41,42,57,Male
51,Schizophrenia,32,36,37,29,35,50,40,28,Male
52,Schizophrenia,51,32,38,40,29,37,41,45,Male
53,Schizophrenia,34,50,46,30,41,37,32,51,Male
54,Schizophrenia,25,38,44,40,38,32,60,31,Male
55,Schizophrenia,43,35,49,48,43,36,29,53,Female
56,Schizophrenia,43,17,45,40,40,50,45,40,Female
57,Schizophrenia,38,32,38,29,48,52,42,43,Male
58,Schizophrenia,44,31,42,33,37,61,32,28,Male
59,Schizophrenia,39,48,45,37,24,37,53,44,Male
60,Schizophrenia,30,46,47,44,34,40,50,30,Male
61,Schizophrenia,37,48,53,46,38,35,39,63,Male
62,Schizophrenia,35,40,49,44,44,46,56,25,Female
63,Schizophrenia,46,57,52,67,34,39,27,50,Female
64,Schizophrenia,39,53,47,48,48,41,52,25,Male
65,Schizophrenia,41,39,44,42,57,55,50,40,Female
66,Schizophrenia,34,43,56,51,48,65,37,25,Male
67,Schizophrenia,48,54,51,48,46,55,31,31,Male
68,Schizophrenia,44,51,51,53,51,52,51,29,Female
69,Schizophrenia,48,55,46,56,57,45,52,37,Female
70,Schizophrenia,49,63,49,42,55,50,50,30,Male
71,Schizophrenia,55,43,63,51,55,65,41,26,Male
79,Schizoaffective,25,11,35,30,24,45,32,49,Male
80,Schizoaffective,26,29,28,27,26,33,32,52,Female
81,Schizoaffective,22,21,22,32,21,31,24,64,Male
82,Schizoaffective,14,1,20,23,15,36,37,37,Male
83,Schizoaffective,23,30,28,34,23,29,32,51,Male
84,Schizoaffective,32,10,26,33,19,55,24,35,Male
85,Schizoaffective,30,31,13,25,19,35,28,56,Female
86,Schizoaffective,13,19,15,27,26,30,44,49,Male
87,Schizoaffective,26,20,22,32,18,37,36,46,Male
88,Schizoaffective,27,44,24,33,26,31,36,53,Female
89,Schizoaffective,22,23,33,27,12,45,60,37,Male
90,Schizoaffective,33,19,20,37,43,41,19,40,Male
91,Schizoaffective,31,38,33,26,32,35,31,40,Female
92,Schizoaffective,32,33,32,42,26,30,37,50,Female
93,Schizoaffective,39,31,40,40,34,35,27,46,Male
94,Schizoaffective,34,38,38,28,24,39,53,47,Female
95,Schizoaffective,34,30,45,32,35,40,37,39,Male
96,Schizoaffective,42,33,47,30,32,35,39,56,Male
97,Schizoaffective,43,26,42,33,38,45,29,37,Male
98,Schizoaffective,24,31,33,40,41,33,59,42,Female
99,Schizoaffective,46,21,36,42,37,41,40,28,Male
100,Schizoaffective,44,42,44,33,32,37,31,35,Female
101,Schizoaffective,31,34,36,36,24,55,53,33,Male
102,Schizoaffective,34,41,40,40,40,29,45,51,Female
103,Schizoaffective,35,47,51,48,26,31,37,57,Male
104,Schizoaffective,27,34,35,29,55,52,41,34,Female
105,Schizoaffective,23,41,42,48,46,29,50,52,Female
106,Schizoaffective,29,35,38,48,41,41,56,50,Female
107,Schizoaffective,30,47,37,37,37,52,57,27,Female
108,Schizoaffective,37,45,42,34,44,58,40,37,Male
109,Schizoaffective,37,38,51,40,37,48,51,52,Male
110,Schizoaffective,38,51,61,34,43,37,39,40,Male
111,Schizoaffective,37,45,54,51,34,37,51,43,Female
112,Schizoaffective,39,49,44,27,43,42,65,39,Male
113,Schizoaffective,44,42,58,59,35,32,43,44,Male
114,Schizoaffective,41,53,47,39,30,50,63,32,Female
115,Schizoaffective,52,58,47,48,35,40,65,43,Male
116,Schizoaffective,45,53,58,48,41,48,53,35,Male
117,Schizoaffective,52,54,68,53,49,58,48,32,Male
119,Control,25,17,22,32,23,31,24,30,Male
120,Control,27,14,17,36,16,30,15,55,Female
121,Control,24,17,20,34,21,37,28,35,Female
122,Control,2,2,10,29,16,35,27,51,Male
123,Control,39,34,15,26,26,43,23,30,Male
124,Control,21,17,26,29,26,52,51,37,Female
125,Control,26,20,40,32,27,36,42,53,Female
126,Control,24,23,38,39,46,33,23,37,Male
127,Control,26,46,20,33,19,41,37,37,Male
128,Control,34,39,29,34,32,34,24,39,Male
129,Control,40,12,27,40,38,39,29,30,Male
130,Control,44,25,21,37,32,43,29,43,Female
131,Control,33,28,35,37,23,48,29,31,Male
132,Control,37,34,27,30,18,41,43,49,Female
133,Control,36,16,38,37,38,48,24,31,Male
134,Control,38,33,37,32,30,42,28,48,Male
135,Control,37,39,29,34,35,46,29,63,Male
136,Control,37,37,38,34,34,45,32,48,Male
137,Control,51,19,46,33,29,40,41,38,Male
138,Control,33,63,29,39,26,37,39,63,Male
139,Control,32,32,40,42,21,41,55,31,Male
140,Control,28,30,42,34,30,35,64,46,Male
141,Control,35,37,40,44,37,30,42,34,Male
142,Control,37,32,35,37,40,45,43,53,Male
143,Control,43,39,26,42,30,34,51,49,Female
144,Control,35,28,48,28,38,50,50,42,Female
145,Control,33,32,38,42,55,33,42,22,Female
146,Control,43,50,40,36,35,45,26,57,Female
147,Control,45,30,55,42,46,42,17,38,Female
148,Control,41,39,40,36,34,46,42,34,Male
149,Control,42,57,42,42,27,39,29,55,Male
150,Control,35,45,44,40,30,41,44,38,Male
151,Control,44,48,44,34,29,43,40,47,Male
152,Control,23,35,35,46,40,46,53,60,Female
153,Control,40,43,44,36,43,42,34,56,Male
154,Control,42,39,47,39,29,42,47,56,Male
155,Control,38,46,36,44,29,39,57,40,Female
156,Control,36,36,47,51,37,40,43,52,Female
157,Control,39,38,49,34,30,48,49,20,Male
158,Control,41,47,39,40,43,39,45,30,Male
159,Control,35,52,44,40,32,41,48,35,Male
160,Control,39,38,55,44,34,58,27,35,Male
161,Control,47,36,44,32,34,45,57,38,Male
162,Control,56,36,44,39,40,45,37,48,Female
163,Control,44,40,49,32,24,50,60,53,Male
164,Control,40,38,37,40,43,58,44,35,Male
165,Control,35,35,43,53,57,37,40,30,Male
166,Control,46,37,49,51,43,43,33,55,Female
167,Control,38,31,45,37,49,58,47,51,Male
168,Control,36,44,49,56,38,32,47,64,Female
169,Control,52,48,42,42,23,34,60,60,Female
170,Control,39,46,42,46,32,43,57,43,Male
171,Control,36,37,45,39,43,58,45,39,Female
172,Control,40,43,26,42,51,48,50,38,Female
173,Control,42,53,44,46,35,43,44,32,Female
174,Control,40,32,49,44,46,46,50,42,Female
175,Control,46,29,40,37,35,50,71,60,Female
176,Control,48,54,45,42,35,43,45,52,Female
177,Control,48,54,45,42,35,43,45,53,Female
178,Control,46,40,44,39,43,48,50,36,Male
179,Control,40,16,45,48,55,58,48,19,Male
180,Control,53,44,36,42,38,55,41,18,Male
181,Control,44,35,44,33,44,45,65,43,Male
182,Control,41,46,33,53,35,43,65,56,Female
183,Control,41,53,38,48,32,48,53,55,Male
184,Control,54,58,44,36,41,43,41,27,Male
185,Control,41,50,54,36,30,43,63,44,Male
186,Control,40,45,42,40,35,42,72,39,Male
187,Control,43,34,42,39,41,52,64,44,Female
188,Control,48,28,45,48,43,52,52,29,Male
189,Control,50,48,51,39,41,52,39,48,Male
190,Control,57,36,45,46,38,50,45,21,Male
191,Control,43,33,53,48,51,52,39,29,Male
192,Control,36,41,51,46,43,55,50,42,Female
193,Control,48,54,49,32,29,48,59,53,Male
194,Control,47,40,53,53,40,45,49,55,Female
195,Control,50,52,38,42,38,58,45,25,Male
196,Control,37,44,52,46,40,50,58,42,Female
197,Control,46,47,36,44,46,48,56,34,Male
198,Control,46,53,36,48,52,35,56,55,Female
199,Control,42,41,65,46,29,61,43,28,Male
200,Control,46,45,49,42,37,50,59,37,Male
201,Control,48,43,44,46,40,46,63,38,Female
202,Control,47,44,36,48,38,52,63,52,Female
203,Control,45,52,43,51,49,58,32,25,Female
204,Control,50,49,54,59,48,45,24,44,Male
205,Control,38,50,53,44,40,39,67,50,Male
206,Control,52,41,51,44,40,52,53,37,Female
207,Control,40,39,49,56,43,55,50,24,Female
208,Control,45,49,49,56,30,45,59,47,Female
209,Control,48,44,51,37,51,61,44,27,Male
210,Control,49,49,56,59,35,45,47,53,Male
211,Control,49,43,45,53,51,42,53,42,Female
212,Control,47,42,53,44,54,61,37,27,Male
213,Control,49,54,53,44,49,48,40,32,Male
214,Control,39,52,51,40,38,61,59,48,Female
215,Control,50,36,58,39,49,52,57,36,Male
216,Control,49,50,38,39,55,48,64,66,Male
217,Control,57,54,56,37,43,61,36,42,Male
218,Control,53,60,58,32,37,48,60,56,Male
219,Control,56,57,22,56,51,50,55,30,Male
220,Control,52,35,58,53,49,55,44,35,Male
221,Control,40,52,51,51,32,61,63,34,Female
222,Control,50,67,47,48,48,40,49,55,Female
223,Control,60,55,56,37,49,50,43,19,Male
224,Control,57,51,60,42,37,61,49,37,Female
225,Control,49,42,51,48,41,61,62,35,Female
226,Control,54,47,62,42,48,61,44,31,Male
227,Control,47,47,54,53,40,65,56,45,Male
228,Control,49,56,51,53,41,61,48,45,Female
229,Control,57,49,53,63,43,46,47,42,Female
230,Control,62,46,63,48,40,52,48,23,Male
231,Control,50,42,63,53,46,43,60,33,Female
232,Control,52,47,47,67,49,52,51,30,Male
233,Control,62,58,44,51,59,58,34,37,Female
234,Control,50,54,52,56,43,50,58,34,Male
235,Control,49,60,52,53,44,45,63,46,Female
236,Control,53,55,47,56,59,61,39,31,Male
237,Control,51,59,60,53,38,55,56,48,Male
238,Control,45,51,51,59,48,43,71,50,Female
239,Control,51,46,49,56,40,65,60,57,Male
240,Control,53,51,51,59,44,61,51,62,Male
241,Control,55,48,55,40,44,65,60,29,Female
242,Control,58,55,58,53,43,45,58,29,Female
243,Control,56,51,54,46,55,61,43,44,Male
244,Control,49,42,47,59,65,48,63,47,Male
245,Control,54,63,56,59,46,65,29,43,Male
246,Control,53,46,63,46,52,55,59,30,Female
247,Control,53,63,51,42,40,58,68,24,Male
248,Control,58,49,53,51,44,55,67,33,Male
249,Control,46,57,69,59,35,58,55,49,Male
250,Control,54,53,65,56,41,61,57,32,Female
251,Control,56,61,54,56,52,61,47,52,Female
252,Control,50,56,53,78,48,65,39,32,Male
253,Control,61,59,58,56,41,58,55,33,Female
254,Control,73,48,49,63,46,65,49,33,Male
255,Control,45,61,47,59,51,65,63,31,Male
256,Control,45,57,61,63,63,65,42,29,Male
257,Control,68,40,53,53,59,65,59,24,Female
258,Control,51,56,56,63,52,61,55,33,Female
259,Control,60,63,61,46,60,61,44,35,Male
260,Control,74,54,56,59,57,58,41,29,Male
261,Control,53,62,62,59,55,65,48,34,Male
262,Control,74,62,50,53,52,65,52,24,Male
263,Control,60,64,71,51,57,65,60,40,Male
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment