library(haven)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## -- Attaching packages --------------------------------------------------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.1.0     v readr   1.2.1
## v tibble  2.1.3     v purrr   0.2.5
## v tidyr   0.8.2     v stringr 1.3.1
## v ggplot2 3.1.0     v forcats 0.3.0
## -- Conflicts ------------------------------------------------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(readxl)
library(Amelia)
## Loading required package: Rcpp
## ## 
## ## Amelia II: Multiple Imputation
## ## (Version 1.7.5, built: 2018-05-07)
## ## Copyright (C) 2005-2019 James Honaker, Gary King and Matthew Blackwell
## ## Refer to http://gking.harvard.edu/amelia/ for more information
## ##
library(data.table)
## 
## Attaching package: 'data.table'
## The following object is masked from 'package:purrr':
## 
##     transpose
## The following objects are masked from 'package:dplyr':
## 
##     between, first, last
library(psycho)
library(ggplot2)
library(MASS)
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
library(DescTools)
## 
## Attaching package: 'DescTools'
## The following object is masked from 'package:data.table':
## 
##     %like%
library(ggpubr)
## Loading required package: magrittr
## 
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
## 
##     set_names
## The following object is masked from 'package:tidyr':
## 
##     extract
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:DescTools':
## 
##     Recode
## The following object is masked from 'package:purrr':
## 
##     some
## The following object is masked from 'package:dplyr':
## 
##     recode
library(tibble)
library(nnet)

disleksija <- read_sav("D:/Vita/Disleksija/Baze/disleksija_final.sav")
disleksija$Disleksija <- as.factor(disleksija$Disleksija)

#creating training and test subset
library(caret)
## Loading required package: lattice
## 
## Attaching package: 'caret'
## The following objects are masked from 'package:DescTools':
## 
##     MAE, RMSE
## The following object is masked from 'package:purrr':
## 
##     lift
library(caTools)
set.seed(101)

split = sample.split(disleksija$Disleksija, SplitRatio = 0.70)

final.train = subset(disleksija, split == TRUE)
final.test = subset(disleksija, split == FALSE)

summary(final.train)
##        ID             Pol            Uzrast       UzrasnaGrupa  
##  Min.   :  1.0   Min.   :1.000   Min.   : 81.0   Min.   :1.000  
##  1st Qu.:142.0   1st Qu.:1.000   1st Qu.: 97.0   1st Qu.:2.000  
##  Median :270.0   Median :1.000   Median :110.0   Median :3.000  
##  Mean   :279.2   Mean   :1.476   Mean   :111.1   Mean   :3.243  
##  3rd Qu.:422.0   3rd Qu.:2.000   3rd Qu.:125.0   3rd Qu.:4.000  
##  Max.   :601.0   Max.   :2.000   Max.   :156.0   Max.   :5.000  
##                                                                 
##      Skola           Razred      Brzo_imenovanje  Nizanje_kuglica 
##  Min.   :1.000   Min.   :0.000   Min.   : 20.00   Min.   : 1.000  
##  1st Qu.:2.000   1st Qu.:1.000   1st Qu.: 38.00   1st Qu.: 4.000  
##  Median :3.000   Median :3.000   Median : 45.00   Median : 6.000  
##  Mean   :2.888   Mean   :2.712   Mean   : 47.48   Mean   : 5.454  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.: 54.00   3rd Qu.: 6.000  
##  Max.   :5.000   Max.   :5.000   Max.   :170.00   Max.   :12.000  
##  NA's   :21                                                       
##  Jednominutno_citanje Posturalna_stabilnost Fonemska_segmentacija
##  Min.   :  3.00       Min.   : 0.000        Min.   : 0.000       
##  1st Qu.: 28.00       1st Qu.: 0.000        1st Qu.: 7.000       
##  Median : 46.00       Median : 3.000        Median : 9.000       
##  Mean   : 46.18       Mean   : 2.794        Mean   : 8.485       
##  3rd Qu.: 61.00       3rd Qu.: 4.000        3rd Qu.:11.000       
##  Max.   :103.00       Max.   :18.000        Max.   :12.000       
##                                                                  
##  Dvominutni_speling Brojcani_niz_unazad Citanje_besmislenog_teksta
##  Min.   : 0.000     Min.   :0.000       Min.   : 0.00             
##  1st Qu.: 8.000     1st Qu.:2.000       1st Qu.:46.00             
##  Median : 8.000     Median :3.000       Median :59.00             
##  Mean   : 9.757     Mean   :2.463       Mean   :53.17             
##  3rd Qu.:12.000     3rd Qu.:3.000       3rd Qu.:66.00             
##  Max.   :22.000     Max.   :8.000       Max.   :77.00             
##                                                                   
##  Jednominutno_pisanje Verbalna_fluentnost Semanticka_fluentnost
##  Min.   : 0.000       Min.   : 0.000      Min.   : 2.00        
##  1st Qu.: 5.000       1st Qu.: 6.000      1st Qu.:13.00        
##  Median : 7.000       Median : 8.000      Median :16.00        
##  Mean   : 7.948       Mean   : 8.787      Mean   :16.25        
##  3rd Qu.:11.000       3rd Qu.:11.000      3rd Qu.:19.00        
##  Max.   :24.000       Max.   :21.000      Max.   :40.00        
##                                                                
##    Vokabular        ARQbroj            ARQkat        RecnikSKOR   
##  Min.   : 7.00   Min.   :  0.000   Min.   :1.000   Min.   : 72.0  
##  1st Qu.:12.00   1st Qu.:  0.450   1st Qu.:1.000   1st Qu.:106.0  
##  Median :13.00   Median :  0.720   Median :2.000   Median :122.0  
##  Mean   :13.14   Mean   :  7.981   Mean   :2.125   Mean   :119.5  
##  3rd Qu.:14.00   3rd Qu.:  1.000   3rd Qu.:3.000   3rd Qu.:138.0  
##  Max.   :16.00   Max.   :263.000   Max.   :4.000   Max.   :157.0  
##                                                    NA's   :412    
##    RecnikKAT        OcenaSrp        Citanje      Disleksija
##  Min.   :1.000   Min.   :2.000   Min.   :0.000   0:420     
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.000   1: 21     
##  Median :5.000   Median :4.000   Median :3.000             
##  Mean   :4.448   Mean   :3.621   Mean   :2.971             
##  3rd Qu.:6.000   3rd Qu.:5.000   3rd Qu.:4.000             
##  Max.   :6.000   Max.   :5.000   Max.   :5.000             
##  NA's   :412     NA's   :412     NA's   :406               
##  ZBrzo_imenovanje   ZNizanje_kuglica   ZJednominutno_citanje
##  Min.   :-1.60231   Min.   :-2.60817   Min.   :-1.924765    
##  1st Qu.:-0.56868   1st Qu.:-0.82085   1st Qu.:-0.802484    
##  Median :-0.16671   Median : 0.37071   Median : 0.005558    
##  Mean   :-0.02413   Mean   : 0.04512   Mean   : 0.013702    
##  3rd Qu.: 0.35010   3rd Qu.: 0.37071   3rd Qu.: 0.678926    
##  Max.   : 7.01130   Max.   : 3.94536   Max.   : 2.564358    
##                                                             
##  ZPosturalna_stabilnost ZFonemska_segmentacija ZDvominutni_speling
##  Min.   :-0.933363      Min.   :-2.99470       Min.   :-2.55042   
##  1st Qu.:-0.933363      1st Qu.:-0.51179       1st Qu.:-0.44388   
##  Median : 0.072370      Median : 0.19762       Median :-0.44388   
##  Mean   : 0.003193      Mean   : 0.01504       Mean   : 0.01887   
##  3rd Qu.: 0.407615      3rd Qu.: 0.90703       3rd Qu.: 0.60939   
##  Max.   : 5.101037      Max.   : 1.26173       Max.   : 3.24256   
##                                                                   
##  ZBrojcani_niz_unazad ZCitanje_besmislenog_teksta ZJednominutno_pisanje
##  Min.   :-2.428736    Min.   :-2.85578            Min.   :-1.92678     
##  1st Qu.:-0.459491    1st Qu.:-0.38088            1st Qu.:-0.70411     
##  Median : 0.525132    Median : 0.31854            Median :-0.21504     
##  Mean   :-0.004019    Mean   : 0.00488            Mean   : 0.01675     
##  3rd Qu.: 0.525132    3rd Qu.: 0.69516            3rd Qu.: 0.76311     
##  Max.   : 5.448246    Max.   : 1.28698            Max.   : 3.94206     
##                                                                        
##  ZVerbalna_fluentnost ZSemanticka_fluentnost   ZVokabular       
##  Min.   :-2.445799    Min.   :-2.71352       Min.   :-4.024606  
##  1st Qu.:-0.780912    1st Qu.:-0.59873       1st Qu.:-0.742828  
##  Median :-0.225949    Median :-0.02197       Median :-0.086472  
##  Mean   :-0.007613    Mean   : 0.02555       Mean   : 0.005805  
##  3rd Qu.: 0.606495    3rd Qu.: 0.55479       3rd Qu.: 0.569883  
##  Max.   : 3.381307    Max.   : 4.59211       Max.   : 1.882595  
##                                                                 
##     ZARQbroj        
##  Min.   :-0.230967  
##  1st Qu.:-0.217458  
##  Median :-0.209353  
##  Mean   : 0.008608  
##  3rd Qu.:-0.200947  
##  Max.   : 7.664176  
## 
summary(final.test)
##        ID             Pol            Uzrast       UzrasnaGrupa  
##  Min.   :  3.0   Min.   :1.000   Min.   : 83.0   Min.   :1.000  
##  1st Qu.:115.0   1st Qu.:1.000   1st Qu.: 96.0   1st Qu.:2.000  
##  Median :265.0   Median :1.000   Median :107.0   Median :3.000  
##  Mean   :269.5   Mean   :1.466   Mean   :109.8   Mean   :3.153  
##  3rd Qu.:403.0   3rd Qu.:2.000   3rd Qu.:124.0   3rd Qu.:4.000  
##  Max.   :598.0   Max.   :2.000   Max.   :156.0   Max.   :5.000  
##                                                                 
##      Skola           Razred      Brzo_imenovanje  Nizanje_kuglica
##  Min.   :1.000   Min.   :0.000   Min.   : 24.00   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.: 39.00   1st Qu.:4.000  
##  Median :3.000   Median :2.000   Median : 46.00   Median :5.000  
##  Mean   :2.756   Mean   :2.624   Mean   : 48.88   Mean   :5.201  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.: 53.00   3rd Qu.:6.000  
##  Max.   :5.000   Max.   :5.000   Max.   :185.00   Max.   :8.000  
##  NA's   :9                                                       
##  Jednominutno_citanje Posturalna_stabilnost Fonemska_segmentacija
##  Min.   :  3.00       Min.   : 0.000        Min.   : 0.000       
##  1st Qu.: 28.00       1st Qu.: 0.000        1st Qu.: 7.000       
##  Median : 45.00       Median : 3.000        Median : 9.000       
##  Mean   : 45.16       Mean   : 2.762        Mean   : 8.344       
##  3rd Qu.: 58.00       3rd Qu.: 4.000        3rd Qu.:10.000       
##  Max.   :105.00       Max.   :23.000        Max.   :12.000       
##                                                                  
##  Dvominutni_speling Brojcani_niz_unazad Citanje_besmislenog_teksta
##  Min.   : 0.000     Min.   :0.000       Min.   : 0.00             
##  1st Qu.: 8.000     1st Qu.:2.000       1st Qu.:47.00             
##  Median : 8.000     Median :3.000       Median :59.00             
##  Mean   : 9.519     Mean   :2.476       Mean   :52.87             
##  3rd Qu.:12.000     3rd Qu.:3.000       3rd Qu.:65.00             
##  Max.   :22.000     Max.   :5.000       Max.   :83.00             
##                                                                   
##  Jednominutno_pisanje Verbalna_fluentnost Semanticka_fluentnost
##  Min.   : 0.00        Min.   : 1.000      Min.   : 2.0         
##  1st Qu.: 5.00        1st Qu.: 7.000      1st Qu.:13.0         
##  Median : 7.00        Median : 8.000      Median :16.0         
##  Mean   : 7.72        Mean   : 8.878      Mean   :15.8         
##  3rd Qu.:11.00        3rd Qu.:11.000      3rd Qu.:19.0         
##  Max.   :24.00        Max.   :25.000      Max.   :28.0         
##                                                                
##    Vokabular        ARQbroj            ARQkat        RecnikSKOR   
##  Min.   : 7.00   Min.   :  0.000   Min.   :1.000   Min.   : 79.0  
##  1st Qu.:12.00   1st Qu.:  0.450   1st Qu.:1.000   1st Qu.:100.0  
##  Median :13.00   Median :  0.720   Median :2.000   Median :106.0  
##  Mean   :13.11   Mean   :  7.025   Mean   :2.122   Mean   :107.9  
##  3rd Qu.:14.00   3rd Qu.:  1.000   3rd Qu.:3.000   3rd Qu.:122.0  
##  Max.   :16.00   Max.   :181.000   Max.   :4.000   Max.   :138.0  
##                                                    NA's   :178    
##    RecnikKAT        OcenaSrp        Citanje      Disleksija
##  Min.   :1.000   Min.   :2.000   Min.   :0.000   0:180     
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.000   1:  9     
##  Median :3.000   Median :3.000   Median :3.000             
##  Mean   :3.636   Mean   :3.455   Mean   :2.615             
##  3rd Qu.:5.000   3rd Qu.:4.000   3rd Qu.:3.000             
##  Max.   :6.000   Max.   :5.000   Max.   :5.000             
##  NA's   :178     NA's   :178     NA's   :176               
##  ZBrzo_imenovanje  ZNizanje_kuglica  ZJednominutno_citanje
##  Min.   :-1.3726   Min.   :-2.6082   Min.   :-1.92476     
##  1st Qu.:-0.5113   1st Qu.:-0.8208   1st Qu.:-0.80248     
##  Median :-0.1093   Median :-0.2251   Median :-0.03933     
##  Mean   : 0.0563   Mean   :-0.1053   Mean   :-0.03197     
##  3rd Qu.: 0.2927   3rd Qu.: 0.3707   3rd Qu.: 0.54425     
##  Max.   : 7.8727   Max.   : 1.5623   Max.   : 2.65414     
##                                                           
##  ZPosturalna_stabilnost ZFonemska_segmentacija ZDvominutni_speling
##  Min.   :-0.93336       Min.   :-2.99470       Min.   :-2.55042   
##  1st Qu.:-0.93336       1st Qu.:-0.51179       1st Qu.:-0.44388   
##  Median : 0.07237       Median : 0.19762       Median :-0.44388   
##  Mean   :-0.00745       Mean   :-0.03509       Mean   :-0.04403   
##  3rd Qu.: 0.40762       3rd Qu.: 0.55232       3rd Qu.: 0.60939   
##  Max.   : 6.77726       Max.   : 1.26173       Max.   : 3.24256   
##                                                                   
##  ZBrojcani_niz_unazad ZCitanje_besmislenog_teksta ZJednominutno_pisanje
##  Min.   :-2.428736    Min.   :-2.85578            Min.   :-1.92678     
##  1st Qu.:-0.459491    1st Qu.:-0.32708            1st Qu.:-0.70411     
##  Median : 0.525132    Median : 0.31854            Median :-0.21504     
##  Mean   : 0.009377    Mean   :-0.01139            Mean   :-0.03907     
##  3rd Qu.: 0.525132    3rd Qu.: 0.64136            3rd Qu.: 0.76311     
##  Max.   : 2.494378    Max.   : 1.60979            Max.   : 3.94206     
##                                                                        
##  ZVerbalna_fluentnost ZSemanticka_fluentnost   ZVokabular      
##  Min.   :-2.16832     Min.   :-2.71352       Min.   :-4.02461  
##  1st Qu.:-0.50343     1st Qu.:-0.59873       1st Qu.:-0.74283  
##  Median :-0.22595     Median :-0.02197       Median :-0.08647  
##  Mean   : 0.01776     Mean   :-0.05961       Mean   :-0.01354  
##  3rd Qu.: 0.60650     3rd Qu.: 0.55479       3rd Qu.: 0.56988  
##  Max.   : 4.49123     Max.   : 2.28507       Max.   : 1.88260  
##                                                                
##     ZARQbroj       
##  Min.   :-0.23097  
##  1st Qu.:-0.21746  
##  Median :-0.20935  
##  Mean   :-0.02009  
##  3rd Qu.:-0.20095  
##  Max.   : 5.20257  
## 
#logit model with all predictors with 3 fold cross validation

fitControl <- trainControl(## 10-fold CV
  method = "cv",
  number = 3,
  savePredictions = TRUE
)


#MODEL 1 - sve i uzrast i konacni skor i svi subtestovi
model1<-caret::train(Disleksija ~ Uzrast + 
                    Brzo_imenovanje + 
                    Nizanje_kuglica +
                    Jednominutno_citanje + 
                    Posturalna_stabilnost + 
                    Fonemska_segmentacija + 
                    Dvominutni_speling +
                    Brojcani_niz_unazad + 
                    Citanje_besmislenog_teksta + 
                    Jednominutno_pisanje +
                    Verbalna_fluentnost +
                    Semanticka_fluentnost +
                    Vokabular +
                    ARQbroj,data=disleksija,method="glm",family=binomial(),
                    trControl=fitControl)

print(model1)
## Generalized Linear Model 
## 
## 630 samples
##  14 predictor
##   2 classes: '0', '1' 
## 
## No pre-processing
## Resampling: Cross-Validated (3 fold) 
## Summary of sample sizes: 420, 420, 420 
## Resampling results:
## 
##   Accuracy   Kappa    
##   0.9968254  0.9649209
pred <- predict(model1, newdata = final.test, type = "raw")
confusionMatrix(pred, final.test$Disleksija)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 180   0
##          1   0   9
##                                      
##                Accuracy : 1          
##                  95% CI : (0.9807, 1)
##     No Information Rate : 0.9524     
##     P-Value [Acc > NIR] : 9.891e-05  
##                                      
##                   Kappa : 1          
##  Mcnemar's Test P-Value : NA         
##                                      
##             Sensitivity : 1.0000     
##             Specificity : 1.0000     
##          Pos Pred Value : 1.0000     
##          Neg Pred Value : 1.0000     
##              Prevalence : 0.9524     
##          Detection Rate : 0.9524     
##    Detection Prevalence : 0.9524     
##       Balanced Accuracy : 1.0000     
##                                      
##        'Positive' Class : 0          
## 
#pravljenje kolicnika sansi (OR, odds ratio) (exp (b))
##eksponenciranje svakog regresionog koeficijenta, odnosno zakljucivanje koliko se promeni kolicnik sanse
#ishoda kada se promeni prediktor za jednu jedinicu a svi ostali se drze konstantnim KS=KS(x+1)/KS(x)
#za kategoricke prediktore ovo znaci direktnu promenu šanse za svaku kategoriju prediktora
#verovatnoca = proporcija entiteta u jednoj kategoriji
#šansa = p/(1-5); za p=0,5 sansa je 1
#kolicnik Sansi K1/K2; ako je kolicnik sanse za prediktor (exp(b)=2) to znaci da ako se prediktor poveca
#za 1 canse da kriterijum promeni vrednost rastu dva puta

#pravljenje kolicnika šansi (OR, odds ratio) (exp (b))
exp(coef(model1$finalModel))
##                (Intercept)                     Uzrast 
##               1.178924e-47               2.029813e+00 
##            Brzo_imenovanje            Nizanje_kuglica 
##               1.167289e+00               3.529016e+01 
##       Jednominutno_citanje      Posturalna_stabilnost 
##               7.957515e-01               2.346073e+00 
##      Fonemska_segmentacija         Dvominutni_speling 
##               7.120272e-05               1.354161e-01 
##        Brojcani_niz_unazad Citanje_besmislenog_teksta 
##               3.908359e+06               4.105399e+00 
##       Jednominutno_pisanje        Verbalna_fluentnost 
##               1.346875e-03               5.739965e-01 
##      Semanticka_fluentnost                  Vokabular 
##               2.942871e+00               7.716743e-03 
##                    ARQbroj 
##               3.653090e+00
#stepwise model koji ubacije prediktor po prediktor i racuna AIC za svakog od njih. AIC = 2k - 2ln(L), gde 
#je L maksimalna vrednost funkcije maksimalne verodostojnosti a k broj prediktora. Sto manji AIC
#to model bolje i optimalnije, sa manjim brojem prediktora predvidja zeljeni ishod


#kolicnici sansi za step logit model
logit <- glm(formula = Disleksija ~ Uzrast + 
               Brzo_imenovanje + 
               Nizanje_kuglica +
               Jednominutno_citanje + 
               Posturalna_stabilnost + 
               Fonemska_segmentacija + 
               Dvominutni_speling +
               Brojcani_niz_unazad + 
               Citanje_besmislenog_teksta + 
               Jednominutno_pisanje +
               Verbalna_fluentnost +
               Semanticka_fluentnost +
               Vokabular +
               ARQbroj, family = binomial(logit), data = disleksija, control = list(maxit = 50))
summary(logit)
## 
## Call:
## glm(formula = Disleksija ~ Uzrast + Brzo_imenovanje + Nizanje_kuglica + 
##     Jednominutno_citanje + Posturalna_stabilnost + Fonemska_segmentacija + 
##     Dvominutni_speling + Brojcani_niz_unazad + Citanje_besmislenog_teksta + 
##     Jednominutno_pisanje + Verbalna_fluentnost + Semanticka_fluentnost + 
##     Vokabular + ARQbroj, family = binomial(logit), data = disleksija, 
##     control = list(maxit = 50))
## 
## Deviance Residuals: 
##        Min          1Q      Median          3Q         Max  
## -1.092e-05  -2.110e-08  -2.110e-08  -2.110e-08   1.138e-05  
## 
## Coefficients:
##                              Estimate Std. Error z value Pr(>|z|)
## (Intercept)                -1.327e+02  3.118e+06       0        1
## Uzrast                      8.876e-01  1.061e+04       0        1
## Brzo_imenovanje             1.853e-01  1.931e+04       0        1
## Nizanje_kuglica             4.670e+00  1.454e+05       0        1
## Jednominutno_citanje       -2.967e-01  2.088e+04       0        1
## Posturalna_stabilnost       1.053e+00  4.474e+04       0        1
## Fonemska_segmentacija      -1.213e+01  1.036e+05       0        1
## Dvominutni_speling         -2.485e+00  4.809e+04       0        1
## Brojcani_niz_unazad         1.922e+01  1.109e+05       0        1
## Citanje_besmislenog_teksta  1.794e+00  5.997e+03       0        1
## Jednominutno_pisanje       -8.352e+00  6.488e+04       0        1
## Verbalna_fluentnost        -6.059e-01  5.967e+04       0        1
## Semanticka_fluentnost       1.345e+00  2.194e+04       0        1
## Vokabular                  -6.423e+00  1.889e+05       0        1
## ARQbroj                     1.628e+00  7.395e+03       0        1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 2.4122e+02  on 629  degrees of freedom
## Residual deviance: 3.6749e-10  on 615  degrees of freedom
## AIC: 30
## 
## Number of Fisher Scoring iterations: 30
logit1 <- step(logit)
## Start:  AIC=30
## Disleksija ~ Uzrast + Brzo_imenovanje + Nizanje_kuglica + Jednominutno_citanje + 
##     Posturalna_stabilnost + Fonemska_segmentacija + Dvominutni_speling + 
##     Brojcani_niz_unazad + Citanje_besmislenog_teksta + Jednominutno_pisanje + 
##     Verbalna_fluentnost + Semanticka_fluentnost + Vokabular + 
##     ARQbroj
## 
##                              Df Deviance    AIC
## - Citanje_besmislenog_teksta  1     0.00  28.00
## - Brzo_imenovanje             1     0.00  28.00
## - Jednominutno_citanje        1     0.00  28.00
## - Verbalna_fluentnost         1     0.00  28.00
## - Posturalna_stabilnost       1     0.00  28.00
## - Vokabular                   1     0.00  28.00
## - Dvominutni_speling          1     0.00  28.00
## - Nizanje_kuglica             1     0.00  28.00
## - Brojcani_niz_unazad         1     0.00  28.00
## - Uzrast                      1     0.00  28.00
## - Semanticka_fluentnost       1     0.00  28.00
## - Jednominutno_pisanje        1     0.00  28.00
## - Fonemska_segmentacija       1     0.00  28.00
## <none>                              0.00  30.00
## - ARQbroj                     1   143.66 171.66
## 
## Step:  AIC=28
## Disleksija ~ Uzrast + Brzo_imenovanje + Nizanje_kuglica + Jednominutno_citanje + 
##     Posturalna_stabilnost + Fonemska_segmentacija + Dvominutni_speling + 
##     Brojcani_niz_unazad + Jednominutno_pisanje + Verbalna_fluentnost + 
##     Semanticka_fluentnost + Vokabular + ARQbroj
## 
##                         Df Deviance    AIC
## - Verbalna_fluentnost    1     0.00  26.00
## - Brzo_imenovanje        1     0.00  26.00
## - Brojcani_niz_unazad    1     0.00  26.00
## - Vokabular              1     0.00  26.00
## - Posturalna_stabilnost  1     0.00  26.00
## - Nizanje_kuglica        1     0.00  26.00
## - Uzrast                 1     0.00  26.00
## - Jednominutno_citanje   1     0.00  26.00
## - Semanticka_fluentnost  1     0.00  26.00
## - Dvominutni_speling     1     0.00  26.00
## - Jednominutno_pisanje   1     0.00  26.00
## - Fonemska_segmentacija  1     0.00  26.00
## <none>                         0.00  28.00
## - ARQbroj                1   144.33 170.33
## 
## Step:  AIC=26
## Disleksija ~ Uzrast + Brzo_imenovanje + Nizanje_kuglica + Jednominutno_citanje + 
##     Posturalna_stabilnost + Fonemska_segmentacija + Dvominutni_speling + 
##     Brojcani_niz_unazad + Jednominutno_pisanje + Semanticka_fluentnost + 
##     Vokabular + ARQbroj
## 
##                         Df Deviance    AIC
## - Brojcani_niz_unazad    1     0.00  24.00
## - Brzo_imenovanje        1     0.00  24.00
## - Vokabular              1     0.00  24.00
## - Posturalna_stabilnost  1     0.00  24.00
## - Nizanje_kuglica        1     0.00  24.00
## - Uzrast                 1     0.00  24.00
## - Jednominutno_citanje   1     0.00  24.00
## - Semanticka_fluentnost  1     0.00  24.00
## - Dvominutni_speling     1     0.00  24.00
## - Jednominutno_pisanje   1     0.00  24.00
## - Fonemska_segmentacija  1     0.00  24.00
## <none>                         0.00  26.00
## - ARQbroj                1   146.61 170.61
## 
## Step:  AIC=24
## Disleksija ~ Uzrast + Brzo_imenovanje + Nizanje_kuglica + Jednominutno_citanje + 
##     Posturalna_stabilnost + Fonemska_segmentacija + Dvominutni_speling + 
##     Jednominutno_pisanje + Semanticka_fluentnost + Vokabular + 
##     ARQbroj
## 
##                         Df Deviance    AIC
## - Brzo_imenovanje        1     0.00  22.00
## - Vokabular              1     0.00  22.00
## - Posturalna_stabilnost  1     0.00  22.00
## - Nizanje_kuglica        1     0.00  22.00
## - Uzrast                 1     0.00  22.00
## - Jednominutno_citanje   1     0.00  22.00
## - Semanticka_fluentnost  1     0.00  22.00
## - Dvominutni_speling     1     0.00  22.00
## - Jednominutno_pisanje   1     0.00  22.00
## - Fonemska_segmentacija  1     0.00  22.00
## <none>                         0.00  24.00
## - ARQbroj                1   147.05 169.05
## 
## Step:  AIC=22
## Disleksija ~ Uzrast + Nizanje_kuglica + Jednominutno_citanje + 
##     Posturalna_stabilnost + Fonemska_segmentacija + Dvominutni_speling + 
##     Jednominutno_pisanje + Semanticka_fluentnost + Vokabular + 
##     ARQbroj
## 
##                         Df Deviance    AIC
## - Vokabular              1     0.00  20.00
## - Posturalna_stabilnost  1     0.00  20.00
## - Nizanje_kuglica        1     0.00  20.00
## - Uzrast                 1     0.00  20.00
## - Jednominutno_citanje   1     0.00  20.00
## - Semanticka_fluentnost  1     0.00  20.00
## - Dvominutni_speling     1     0.00  20.00
## - Jednominutno_pisanje   1     0.00  20.00
## - Fonemska_segmentacija  1     0.00  20.00
## <none>                         0.00  22.00
## - ARQbroj                1   147.84 167.84
## 
## Step:  AIC=20
## Disleksija ~ Uzrast + Nizanje_kuglica + Jednominutno_citanje + 
##     Posturalna_stabilnost + Fonemska_segmentacija + Dvominutni_speling + 
##     Jednominutno_pisanje + Semanticka_fluentnost + ARQbroj
## 
##                         Df Deviance    AIC
## - Posturalna_stabilnost  1     0.00  18.00
## - Nizanje_kuglica        1     0.00  18.00
## - Uzrast                 1     0.00  18.00
## - Jednominutno_citanje   1     0.00  18.00
## - Dvominutni_speling     1     0.00  18.00
## - Semanticka_fluentnost  1     0.00  18.00
## - Jednominutno_pisanje   1     0.00  18.00
## - Fonemska_segmentacija  1     0.00  18.00
## <none>                         0.00  20.00
## - ARQbroj                1   147.98 165.98
## 
## Step:  AIC=18
## Disleksija ~ Uzrast + Nizanje_kuglica + Jednominutno_citanje + 
##     Fonemska_segmentacija + Dvominutni_speling + Jednominutno_pisanje + 
##     Semanticka_fluentnost + ARQbroj
## 
##                         Df Deviance   AIC
## - Fonemska_segmentacija  1      0.0  16.0
## - Nizanje_kuglica        1      0.0  16.0
## - Jednominutno_citanje   1      0.0  16.0
## - Uzrast                 1      0.0  16.0
## - Dvominutni_speling     1      0.0  16.0
## - Semanticka_fluentnost  1      0.0  16.0
## - Jednominutno_pisanje   1      0.0  16.0
## <none>                          0.0  18.0
## - ARQbroj                1    148.6 164.6
## 
## Step:  AIC=16
## Disleksija ~ Uzrast + Nizanje_kuglica + Jednominutno_citanje + 
##     Dvominutni_speling + Jednominutno_pisanje + Semanticka_fluentnost + 
##     ARQbroj
## 
##                         Df Deviance    AIC
## - Uzrast                 1     0.00  14.00
## - Nizanje_kuglica        1     0.00  14.00
## - Semanticka_fluentnost  1     0.00  14.00
## - Dvominutni_speling     1     0.00  14.00
## - Jednominutno_citanje   1     0.00  14.00
## - Jednominutno_pisanje   1     0.00  14.00
## <none>                         0.00  16.00
## - ARQbroj                1   154.94 168.94
## 
## Step:  AIC=14
## Disleksija ~ Nizanje_kuglica + Jednominutno_citanje + Dvominutni_speling + 
##     Jednominutno_pisanje + Semanticka_fluentnost + ARQbroj
## 
##                         Df Deviance    AIC
## - Nizanje_kuglica        1     0.00  12.00
## - Dvominutni_speling     1     0.00  12.00
## - Semanticka_fluentnost  1     0.00  12.00
## - Jednominutno_citanje   1     0.00  12.00
## <none>                         0.00  14.00
## - Jednominutno_pisanje   1   144.18 156.18
## - ARQbroj                1   202.10 214.10
## 
## Step:  AIC=12
## Disleksija ~ Jednominutno_citanje + Dvominutni_speling + Jednominutno_pisanje + 
##     Semanticka_fluentnost + ARQbroj
## 
##                         Df Deviance    AIC
## - Dvominutni_speling     1     0.00  10.00
## - Jednominutno_citanje   1     0.00  10.00
## - Jednominutno_pisanje   1     0.00  10.00
## - Semanticka_fluentnost  1     0.00  10.00
## <none>                         0.00  12.00
## - ARQbroj                1   203.76 213.76
## 
## Step:  AIC=10
## Disleksija ~ Jednominutno_citanje + Jednominutno_pisanje + Semanticka_fluentnost + 
##     ARQbroj
## 
##                         Df Deviance     AIC
## - Jednominutno_citanje   1    0.000   8.000
## <none>                        0.000  10.000
## - Semanticka_fluentnost  1    3.614  11.614
## - ARQbroj                1  204.733 212.733
## - Jednominutno_pisanje   1  216.262 224.262
## 
## Step:  AIC=8
## Disleksija ~ Jednominutno_pisanje + Semanticka_fluentnost + ARQbroj
## 
##                         Df Deviance     AIC
## <none>                        0.000   8.000
## - Semanticka_fluentnost  1    4.175  10.175
## - Jednominutno_pisanje   1   72.087  78.087
## - ARQbroj                1  206.380 212.380
summary(logit1)
## 
## Call:
## glm(formula = Disleksija ~ Jednominutno_pisanje + Semanticka_fluentnost + 
##     ARQbroj, family = binomial(logit), data = disleksija, control = list(maxit = 50))
## 
## Deviance Residuals: 
##        Min          1Q      Median          3Q         Max  
## -1.611e-05  -2.110e-08  -2.110e-08  -2.110e-08   2.075e-05  
## 
## Coefficients:
##                         Estimate Std. Error z value Pr(>|z|)
## (Intercept)             -153.636 192505.126  -0.001    0.999
## Jednominutno_pisanje     -41.842  88424.326   0.000    1.000
## Semanticka_fluentnost      3.174   4798.191   0.001    0.999
## ARQbroj                   43.925  52526.300   0.001    0.999
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 2.4122e+02  on 629  degrees of freedom
## Residual deviance: 1.0133e-09  on 626  degrees of freedom
## AIC: 8
## 
## Number of Fisher Scoring iterations: 33
#MODEL 2 - uzrast i konacni skor 
model2<-caret::train(Disleksija ~ Uzrast + ARQbroj,data=disleksija,method="glm",family=binomial(),
                     trControl=fitControl)

print(model2)
## Generalized Linear Model 
## 
## 630 samples
##   2 predictor
##   2 classes: '0', '1' 
## 
## No pre-processing
## Resampling: Cross-Validated (3 fold) 
## Summary of sample sizes: 420, 420, 420 
## Resampling results:
## 
##   Accuracy   Kappa    
##   0.9984127  0.9816273
pred2 <- predict(model2, newdata = final.test, type = "raw")

confusionMatrix(pred2, final.test$Disleksija)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 180   0
##          1   0   9
##                                      
##                Accuracy : 1          
##                  95% CI : (0.9807, 1)
##     No Information Rate : 0.9524     
##     P-Value [Acc > NIR] : 9.891e-05  
##                                      
##                   Kappa : 1          
##  Mcnemar's Test P-Value : NA         
##                                      
##             Sensitivity : 1.0000     
##             Specificity : 1.0000     
##          Pos Pred Value : 1.0000     
##          Neg Pred Value : 1.0000     
##              Prevalence : 0.9524     
##          Detection Rate : 0.9524     
##    Detection Prevalence : 0.9524     
##       Balanced Accuracy : 1.0000     
##                                      
##        'Positive' Class : 0          
## 
#pravljenje kolicnika sansi (OR, odds ratio) (exp (b))
##eksponenciranje svakog regresionog koeficijenta, odnosno zakljucivanje koliko se promeni kolicnik sanse
#ishoda kada se promeni prediktor za jednu jedinicu a svi ostali se drze konstantnim KS=KS(x+1)/KS(x)
#za kategoricke prediktore ovo znaci direktnu promenu šanse za svaku kategoriju prediktora
#verovatnoca = proporcija entiteta u jednoj kategoriji
#šansa = p/(1-5); za p=0,5 sansa je 1
#kolicnik Sansi K1/K2; ako je kolicnik sanse za prediktor (exp(b)=2) to znaci da ako se prediktor poveca
#za 1 canse da kriterijum promeni vrednost rastu dva puta

#pravljenje kolicnika šansi (OR, odds ratio) (exp (b))
exp(coef(model2$finalModel))
## (Intercept)      Uzrast     ARQbroj 
##           0           0         Inf
#Plotovanje

model_plot <- glm(Disleksija ~ ARQbroj,data=disleksija, binomial)

xARQbroj <-seq (0, 263, 0.01)

y <- predict(model_plot, list(ARQbroj=xARQbroj),type="response")


plot(disleksija$ARQbroj,disleksija$Disleksija, pch = 10, xlab = "Skor", ylab = "Disleksija")

lines(xARQbroj, y, col = "red", lwd = 1)

#MODEL3 - Sa standardizovanim skorovima, samo uzrast i subtestovi

model3<-caret::train(Disleksija ~ Uzrast +
                       Brzo_imenovanje + 
                       Nizanje_kuglica +
                       Jednominutno_citanje + 
                       Posturalna_stabilnost + 
                       Fonemska_segmentacija + 
                       Dvominutni_speling +
                       Brojcani_niz_unazad + 
                       Citanje_besmislenog_teksta + 
                       Jednominutno_pisanje +
                       Verbalna_fluentnost +
                       Semanticka_fluentnost +
                       Vokabular,data=disleksija,method="glm",family=binomial(),
                     trControl=fitControl)

print(model3)
## Generalized Linear Model 
## 
## 630 samples
##  13 predictor
##   2 classes: '0', '1' 
## 
## No pre-processing
## Resampling: Cross-Validated (3 fold) 
## Summary of sample sizes: 420, 420, 420 
## Resampling results:
## 
##   Accuracy   Kappa    
##   0.9539683  0.3655942
pred3 <- predict(model3, newdata = final.test, type = "raw")

confusionMatrix(pred2, final.test$Disleksija)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 180   0
##          1   0   9
##                                      
##                Accuracy : 1          
##                  95% CI : (0.9807, 1)
##     No Information Rate : 0.9524     
##     P-Value [Acc > NIR] : 9.891e-05  
##                                      
##                   Kappa : 1          
##  Mcnemar's Test P-Value : NA         
##                                      
##             Sensitivity : 1.0000     
##             Specificity : 1.0000     
##          Pos Pred Value : 1.0000     
##          Neg Pred Value : 1.0000     
##              Prevalence : 0.9524     
##          Detection Rate : 0.9524     
##    Detection Prevalence : 0.9524     
##       Balanced Accuracy : 1.0000     
##                                      
##        'Positive' Class : 0          
## 
#MODEL 4 - bez uzrasta

model4<-caret::train(Disleksija ~ Brzo_imenovanje + 
                       Nizanje_kuglica +
                       Jednominutno_citanje + 
                       Posturalna_stabilnost + 
                       Fonemska_segmentacija + 
                       Dvominutni_speling +
                       Brojcani_niz_unazad + 
                       Citanje_besmislenog_teksta + 
                       Jednominutno_pisanje +
                       Verbalna_fluentnost +
                       Semanticka_fluentnost +
                       Vokabular,data=disleksija,method="glm",family=binomial(),
                     trControl=fitControl)

print(model4)
## Generalized Linear Model 
## 
## 630 samples
##  12 predictor
##   2 classes: '0', '1' 
## 
## No pre-processing
## Resampling: Cross-Validated (3 fold) 
## Summary of sample sizes: 420, 420, 420 
## Resampling results:
## 
##   Accuracy  Kappa     
##   0.947619  0.04782232
pred <- predict(model4, newdata = final.test, type = "raw")


confusionMatrix(pred, final.test$Disleksija)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 180   9
##          1   0   0
##                                          
##                Accuracy : 0.9524         
##                  95% CI : (0.9115, 0.978)
##     No Information Rate : 0.9524         
##     P-Value [Acc > NIR] : 0.587434       
##                                          
##                   Kappa : 0              
##  Mcnemar's Test P-Value : 0.007661       
##                                          
##             Sensitivity : 1.0000         
##             Specificity : 0.0000         
##          Pos Pred Value : 0.9524         
##          Neg Pred Value :    NaN         
##              Prevalence : 0.9524         
##          Detection Rate : 0.9524         
##    Detection Prevalence : 1.0000         
##       Balanced Accuracy : 0.5000         
##                                          
##        'Positive' Class : 0              
##