Veri Setinin İncelenmesi ve Hazırlık

library(haven)
## Warning: package 'haven' was built under R version 4.5.2
library(tidyverse)
## Warning: package 'dplyr' was built under R version 4.5.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.1     ✔ stringr   1.5.2
## ✔ ggplot2   4.0.0     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.0     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(psych)
## Warning: package 'psych' was built under R version 4.5.2
## 
## Attaching package: 'psych'
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(naniar)
## Warning: package 'naniar' was built under R version 4.5.2
library(gtsummary)
## Warning: package 'gtsummary' was built under R version 4.5.2
library(vtable)
## Warning: package 'vtable' was built under R version 4.5.2
## Zorunlu paket yükleniyor: kableExtra
## Warning: package 'kableExtra' was built under R version 4.5.2
## 
## Attaching package: 'kableExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(funModeling)
## Warning: package 'funModeling' was built under R version 4.5.3
## Zorunlu paket yükleniyor: Hmisc
## Warning: package 'Hmisc' was built under R version 4.5.2
## 
## Attaching package: 'Hmisc'
## 
## The following object is masked from 'package:psych':
## 
##     describe
## 
## The following objects are masked from 'package:dplyr':
## 
##     src, summarize
## 
## The following objects are masked from 'package:base':
## 
##     format.pval, units
## 
## funModeling v.1.9.6 :)
## Examples and tutorials at livebook.datascienceheroes.com
##  / Now in Spanish: librovivodecienciadedatos.ai
library(DataExplorer)
## Warning: package 'DataExplorer' was built under R version 4.5.3
library(naniar)
library(ggplot2)
library(rlang)
## 
## Attaching package: 'rlang'
## 
## The following objects are masked from 'package:purrr':
## 
##     %@%, flatten, flatten_chr, flatten_dbl, flatten_int, flatten_lgl,
##     flatten_raw, invoke, splice
library(vctrs)
## 
## Attaching package: 'vctrs'
## 
## The following object is masked from 'package:dplyr':
## 
##     data_frame
## 
## The following object is masked from 'package:tibble':
## 
##     data_frame
library(UpSetR)
## Warning: package 'UpSetR' was built under R version 4.5.3
library(finalfit)
## Warning: package 'finalfit' was built under R version 4.5.3
library(mvdalab)
## Warning: package 'mvdalab' was built under R version 4.5.3
## 
## Attaching package: 'mvdalab'
## 
## The following object is masked from 'package:psych':
## 
##     smc
library(missMethods)
## Warning: package 'missMethods' was built under R version 4.5.3
## 
## Attaching package: 'missMethods'
## 
## The following objects are masked from 'package:naniar':
## 
##     impute_mean, impute_median, impute_mode
library(mvtnorm)
## Warning: package 'mvtnorm' was built under R version 4.5.3
library(mice)
## Warning: package 'mice' was built under R version 4.5.3
## 
## Attaching package: 'mice'
## 
## The following object is masked from 'package:stats':
## 
##     filter
## 
## The following objects are masked from 'package:base':
## 
##     cbind, rbind
screen <- read_sav("SCREEN.SAV")
summary(screen)
##      SUBNO          TIMEDRS          ATTDRUG          ATTHOUSE    
##  Min.   :  1.0   Min.   : 0.000   Min.   : 5.000   Min.   : 2.00  
##  1st Qu.:137.0   1st Qu.: 2.000   1st Qu.: 7.000   1st Qu.:21.00  
##  Median :314.0   Median : 4.000   Median : 8.000   Median :24.00  
##  Mean   :317.4   Mean   : 7.901   Mean   : 7.686   Mean   :23.54  
##  3rd Qu.:483.0   3rd Qu.:10.000   3rd Qu.: 9.000   3rd Qu.:27.00  
##  Max.   :758.0   Max.   :81.000   Max.   :10.000   Max.   :35.00  
##                                                    NA's   :1      
##      INCOME         EMPLMNT         MSTATUS           RACE      
##  Min.   : 1.00   Min.   :0.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 2.50   1st Qu.:0.000   1st Qu.:2.000   1st Qu.:1.000  
##  Median : 4.00   Median :0.000   Median :2.000   Median :1.000  
##  Mean   : 4.21   Mean   :0.471   Mean   :1.778   Mean   :1.088  
##  3rd Qu.: 6.00   3rd Qu.:1.000   3rd Qu.:2.000   3rd Qu.:1.000  
##  Max.   :10.00   Max.   :1.000   Max.   :2.000   Max.   :2.000  
##  NA's   :26

İlk Değişken Olan SUBNO Çıkarılarak İnceleme

#describe(screen[,-1])
#screen %>%
  #select(2:6) %>%
  #tbl_summary(
    #statistic = all_continuous() ~ c("{min} , {max}") ,
    #missing = "always"
 #)

Sonuçları Tablo Olarak Alabileceğimiz Fonksiyonlar

sumtable(screen, summ = c('notNA(x)' , 'min(x)' , 'max(x)'))
Summary Statistics
Variable NotNA Min Max
SUBNO 465 1 758
TIMEDRS 465 0 81
ATTDRUG 465 5 10
ATTHOUSE 464 2 35
INCOME 439 1 10
MSTATUS 465 1 2
RACE 465 1 2
st(screen, summ = c('notNA(x)' , 'min(x)' , 'max(x)'),
   summ.names = c('Frekans', 'Minimum', 'Maximum'))
Summary Statistics
Variable Frekans Minimum Maximum
SUBNO 465 1 758
TIMEDRS 465 0 81
ATTDRUG 465 5 10
ATTHOUSE 464 2 35
INCOME 439 1 10
MSTATUS 465 1 2
RACE 465 1 2

#kable(describe(screen[,-1, drop = FALSE]), format= ‘markdown’, caption = “Betimsel İstatistiksel”, digits = 2 )

Not: Principal Component Analysis - Temel Bileşenler Analizi Gözlenen değişkenlerden yeni bir değişken oluşturmak için kullanılır. (Tek faktörde toplama)

Veri setindeki eksik değerleri ve benzersiz değerleri özetlemek

df_status(screen)
##   variable q_zeros p_zeros q_na p_na q_inf p_inf
## 1    SUBNO       0    0.00    0 0.00     0     0
## 2  TIMEDRS      42    9.03    0 0.00     0     0
## 3  ATTDRUG       0    0.00    0 0.00     0     0
## 4 ATTHOUSE       0    0.00    1 0.22     0     0
## 5   INCOME       0    0.00   26 5.59     0     0
## 6  EMPLMNT     246   52.90    0 0.00     0     0
## 7  MSTATUS       0    0.00    0 0.00     0     0
## 8     RACE       0    0.00    0 0.00     0     0
##                               type unique
## 1                          numeric    465
## 2                          numeric     43
## 3                          numeric      6
## 4                          numeric     26
## 5                          numeric     10
## 6 haven_labelled-vctrs_vctr-double      2
## 7                          numeric      2
## 8                          numeric      2
create_report(screen)
## 
## 
## processing file: report.rmd
##   |                                             |                                     |   0%  |                                             |.                                    |   2%                                   |                                             |..                                   |   4% [global_options]                  |                                             |..                                   |   7%                                   |                                             |...                                  |   9% [introduce]                       |                                             |....                                 |  11%                                   |                                             |.....                                |  13% [plot_intro]
##   |                                             |......                               |  15%                                   |                                             |......                               |  17% [data_structure]                  |                                             |.......                              |  20%                                   |                                             |........                             |  22% [missing_profile]
##   |                                             |.........                            |  24%                                   |                                             |..........                           |  26% [univariate_distribution_header]  |                                             |..........                           |  28%                                   |                                             |...........                          |  30% [plot_histogram]
##   |                                             |............                         |  33%                                   |                                             |.............                        |  35% [plot_response_histogram]         |                                             |..............                       |  37%                                   |                                             |..............                       |  39% [plot_density]                    |                                             |...............                      |  41%                                   |                                             |................                     |  43% [plot_response_density]           |                                             |.................                    |  46%                                   |                                             |..................                   |  48% [plot_frequency_bar]              |                                             |..................                   |  50%                                   |                                             |...................                  |  52% [plot_response_bar]               |                                             |....................                 |  54%                                   |                                             |.....................                |  57% [plot_with_bar]                   |                                             |......................               |  59%                                   |                                             |.......................              |  61% [plot_normal_qq]
##   |                                             |.......................              |  63%                                   |                                             |........................             |  65% [plot_response_qq]                |                                             |.........................            |  67%                                   |                                             |..........................           |  70% [plot_by_qq]                      |                                             |...........................          |  72%                                   |                                             |...........................          |  74% [correlation_analysis]
##   |                                             |............................         |  76%                                   |                                             |.............................        |  78% [principal_component_analysis]
##   |                                             |..............................       |  80%                                   |                                             |...............................      |  83% [bivariate_distribution_header]   |                                             |...............................      |  85%                                   |                                             |................................     |  87% [plot_response_boxplot]           |                                             |.................................    |  89%                                   |                                             |..................................   |  91% [plot_by_boxplot]                 |                                             |...................................  |  93%                                   |                                             |...................................  |  96% [plot_response_scatterplot]       |                                             |.................................... |  98%                                   |                                             |.....................................| 100% [plot_by_scatterplot]           
## output file: D:/Rpskometri/DERS1/report.knit.md
## "C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/pandoc" +RTS -K512m -RTS "D:\Rpskometri\DERS1\report.knit.md" --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output pandoc18304fe6704f.html --lua-filter "C:\Users\ebrar\AppData\Local\R\win-library\4.5\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\ebrar\AppData\Local\R\win-library\4.5\rmarkdown\rmarkdown\lua\latex-div.lua" --lua-filter "C:\Users\ebrar\AppData\Local\R\win-library\4.5\rmarkdown\rmarkdown\lua\table-classes.lua" --embed-resources --standalone --variable bs3=TRUE --section-divs --table-of-contents --toc-depth 6 --template "C:\Users\ebrar\AppData\Local\R\win-library\4.5\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable theme=yeti --mathjax --variable "mathjax-url=https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --include-in-header "C:\Users\ebrar\AppData\Local\Temp\RtmpIjEVqZ\rmarkdown-str1830a664ebf.html"
## 
## Output created: report.html

SPSS kaynaklı veri Etiketlerini Temizlemek

screen <- expss:: drop_var_labs(screen)
## Registered S3 methods overwritten by 'expss':
##   method                 from 
##   [.labelled             Hmisc
##   as.data.frame.labelled base 
##   print.labelled         Hmisc
head(screen)
## # A tibble: 6 × 8
##   SUBNO TIMEDRS ATTDRUG ATTHOUSE INCOME EMPLMNT MSTATUS  RACE
##   <dbl>   <dbl>   <dbl>    <dbl>  <dbl>   <dbl>   <dbl> <dbl>
## 1     1       1       8       27      5       1       2     1
## 2     2       3       7       20      6       0       2     1
## 3     3       0       8       23      3       0       2     1
## 4     4      13       9       28      8       1       2     1
## 5     5      15       7       24      1       1       2     1
## 6     6       3       8       25      4       0       2     1

Veri setinde eksik veri var mı ? (Naniar paketi)

any_na(screen)
## [1] TRUE

Veri setindeki toplam kayıp değer sayısını ve oranını hesaplama

n_miss(screen)
## [1] 27
prop_miss(screen)
## [1] 0.007258065

Her bir değişke de bulunan kayıp değer sayısını hesaplama

screen %>% is.na() %>% colSums()
##    SUBNO  TIMEDRS  ATTDRUG ATTHOUSE   INCOME  EMPLMNT  MSTATUS     RACE 
##        0        0        0        1       26        0        0        0

Değişken ve gözlem bazında kayıp veri özetlerini görüntüleme

miss_var_summary(screen)
## # A tibble: 8 × 3
##   variable n_miss pct_miss
##   <chr>     <int>    <num>
## 1 INCOME       26    5.59 
## 2 ATTHOUSE      1    0.215
## 3 SUBNO         0    0    
## 4 TIMEDRS       0    0    
## 5 ATTDRUG       0    0    
## 6 EMPLMNT       0    0    
## 7 MSTATUS       0    0    
## 8 RACE          0    0

Kayıp Veriyi Görselleştirme

gg_miss_upset(screen)
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ The deprecated feature was likely used in the UpSetR package.
##   Please report the issue to the authors.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## ℹ The deprecated feature was likely used in the UpSetR package.
##   Please report the issue to the authors.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## ℹ The deprecated feature was likely used in the UpSetR package.
##   Please report the issue to the authors.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

MCAR Testi Nasıl Yapılır?

(naniar paketi) - p value anlamlı ise rastgele değil, mcar değil

mcar_test(data=screen[,c(2,3,4,5,7,8)])
## # A tibble: 1 × 4
##   statistic    df p.value missing.patterns
##       <dbl> <dbl>   <dbl>            <int>
## 1      18.7    10  0.0440                3

T Testi

Kayıp Verinin diğer değişkenlerle ilgisi -finalfit paketi ile t testi yapılır

screen2 <- screen
screen2$INCOME_m <- screen2$INCOME
explanatory = c("TIMEDRS", "ATTDRUG", "ATTHOUSE")
dependent = "INCOME_m"
screen2 %>% 
  missing_compare(dependent, explanatory) %>% 
  knitr::kable(row.names = FALSE, align = c("l", "l", "r", "r", "r"),
               caption = "EKsik veriye sahip olan ve olmayan değiskenlerin ortalama karsılatırması")
EKsik veriye sahip olan ve olmayan değiskenlerin ortalama karsılatırması
Missing data analysis: INCOME_m Not missing Missing p
TIMEDRS Mean (SD) 7.9 (11.1) 7.6 (7.4) 0.891
ATTDRUG Mean (SD) 7.7 (1.2) 7.9 (1.0) 0.368
ATTHOUSE Mean (SD) 23.5 (4.5) 23.7 (4.2) 0.860

Finalfit yerine kendimiz T testi Yaparsak

miss_test <- screen2 %>%  mutate(miss_income = is.na(INCOME))


#income değişkeninde eksik verisi olmayanlar
ATTHOUSE_nonna <- miss_test %>%  filter(miss_income == FALSE) %>% 
  pull(ATTHOUSE)

#income değişkeninde eksik verisi olanlar
ATTHOUSE_na <- miss_test %>% filter(miss_income == TRUE) %>% 
  pull(ATTHOUSE)

#c ORAN 
t.test(ATTHOUSE_nonna, ATTHOUSE_na)
## 
##  Welch Two Sample t-test
## 
## data:  ATTHOUSE_nonna and ATTHOUSE_na
## t = -0.18904, df = 28.553, p-value = 0.8514
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -1.896325  1.575636
## sample estimates:
## mean of x mean of y 
##  23.53196  23.69231

KAYIP VERİ İLE BAŞ ETME YÖNTEMLERİ

Silmeye Dayalı Yöntemler

-Liste Bazında Silme

na.omit(screen)
## # A tibble: 438 × 8
##    SUBNO TIMEDRS ATTDRUG ATTHOUSE INCOME EMPLMNT MSTATUS  RACE
##    <dbl>   <dbl>   <dbl>    <dbl>  <dbl>   <dbl>   <dbl> <dbl>
##  1     1       1       8       27      5       1       2     1
##  2     2       3       7       20      6       0       2     1
##  3     3       0       8       23      3       0       2     1
##  4     4      13       9       28      8       1       2     1
##  5     5      15       7       24      1       1       2     1
##  6     6       3       8       25      4       0       2     1
##  7     7       2       7       30      6       1       2     1
##  8     8       0       7       24      6       1       2     1
##  9     9       7       7       20      2       1       2     1
## 10    10       4       8       30      8       0       1     1
## # ℹ 428 more rows

-Çiflter Bazında Silme Sadece eksik olan değişkenler silinir eksik olmayan değişkenler tam veri seti olarak kullanılır ancak önerilmez.

Veri Atamaya Dayalı Yöntemler

Ortalama ile Atama

Kayıp değerler, değişkenin ortalması ile doldurulur.

boş veriler is.na ile seçilip ortalama atanır. Ortalama atama yönteminin en büyük sıkıntısı standart sapmanın küçülmesidir.

screen3 <- screen
screen3$INCOME[is.na(screen3$INCOME)] <- mean(screen3$INCOME, na.rm= TRUE)
summary(screen3$INCOME)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1.00    3.00    4.00    4.21    6.00   10.00

MODEL TABANLI YÖNTEMLER BEKLENTİ MAKSİMİZASYONU EM Algoritması

Em Algoristması ile kayıp değerleri tahmin edilir.

-Maksimizasyon (M) Adımı: Eksik veriler doldurulmuş gibi kabul edilir ve model parametreleri, maksimum olabilirlik yöntemi kullanılarak yeniden tahmin edilir. Böylelikle model veriye daha iyi uyum sağlar.

Bu adımlar paramtre tahminleri yakınsayana kadar (değişiklikler belirli bir tolerans değerinin altına düşünceye kadar) tekrarlanır.

Eksik Veri Seti Oluştur (mvdalap paketi ile)

dat <- introNAs(iris, percent= 25)
dat_EM <- imputeEM(dat[,-5])
dat_EM

##     Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1       5.785179    3.033759     3.670654  1.17765175
## 2       4.900000    3.000000     1.400000  0.20000000
## 3       4.700000    3.200000     1.300000  0.10278297
## 4       4.600000    3.100000     1.500000  0.20000000
## 5       5.106256    3.600000     1.400000  0.20000000
## 6       5.400000    3.900000     1.700000  0.40000000
## 7       5.013440    3.400000     1.400000  0.30000000
## 8       5.000000    3.400000     1.500000  0.20000000
## 9       4.400000    2.900000     1.400000  0.20000000
## 10      4.900000    3.100000     1.500000  0.10000000
## 11      5.400000    3.543433     1.762948  0.20000000
## 12      4.800000    3.400000     1.253811  0.20000000
## 13      4.800000    3.000000     1.400000  0.22591747
## 14      4.300000    2.835424     1.100000 -0.03717115
## 15      5.800000    4.000000     1.200000  0.20000000
## 16      4.993202    3.269746     1.500000  0.40000000
## 17      5.400000    3.900000     1.300000  0.25437052
## 18      5.100000    3.500000     1.400000  0.30000000
## 19      5.385495    3.800000     1.700000  0.30000000
## 20      5.100000    3.365849     1.500000  0.29938745
## 21      5.400000    3.400000     1.865744  0.20000000
## 22      5.100000    3.116569     2.067390  0.40000000
## 23      4.600000    3.600000     0.852432  0.20000000
## 24      5.100000    3.300000     1.700000  0.50000000
## 25      4.800000    3.400000     1.900000  0.20000000
## 26      5.000000    3.293618     1.600000  0.20000000
## 27      5.000000    3.215460     1.600000  0.40000000
## 28      5.200000    3.500000     1.500000  0.30713449
## 29      5.200000    3.400000     1.400000  0.20000000
## 30      4.960821    3.287887     1.600000  0.27073689
## 31      4.800000    3.100000     1.600000  0.24182949
## 32      5.400000    3.400000     1.500000  0.40000000
## 33      5.200000    4.100000     1.500000  0.14680913
## 34      5.500000    4.200000     1.400000  0.24390055
## 35      4.754929    3.100000     1.500000  0.20000000
## 36      5.000000    3.405683     1.200000  0.17706642
## 37      5.500000    3.500000     1.300000  0.20000000
## 38      5.048963    3.600000     1.400000  0.10000000
## 39      4.400000    3.000000     1.240658  0.20000000
## 40      5.100000    3.400000     1.559777  0.20000000
## 41      5.000000    3.500000     1.300000  0.30000000
## 42      4.500000    2.848224     1.300000  0.30000000
## 43      4.826376    3.200000     1.481499  0.20000000
## 44      5.308265    3.500000     1.600000  0.60000000
## 45      5.100000    3.800000     1.900000  0.40000000
## 46      4.800000    3.000000     1.756115  0.30000000
## 47      5.100000    3.288081     1.694777  0.20000000
## 48      4.826376    3.200000     1.481499  0.20000000
## 49      5.205257    3.700000     1.500000  0.20000000
## 50      5.000000    3.300000     1.400000  0.20000000
## 51      7.000000    3.200000     4.700000  1.40000000
## 52      6.400000    3.200000     4.500000  1.50000000
## 53      6.900000    3.100000     4.900000  1.96117395
## 54      5.500000    2.300000     4.000000  1.30000000
## 55      6.500000    3.336384     4.600000  1.50000000
## 56      5.700000    2.800000     4.500000  1.30000000
## 57      6.300000    3.300000     4.700000  1.60000000
## 58      4.900000    2.400000     3.202820  1.00000000
## 59      5.977359    2.900000     4.600000  1.30000000
## 60      5.804909    2.700000     4.261365  1.40000000
## 61      5.000000    2.000000     3.500000  1.03752451
## 62      6.116859    3.000000     4.388633  1.50000000
## 63      6.000000    2.200000     4.000000  1.00000000
## 64      6.100000    2.900000     4.521588  1.54742188
## 65      5.600000    2.900000     3.600000  1.30000000
## 66      6.136870    3.100000     4.400000  1.40000000
## 67      5.600000    3.000000     4.500000  1.50000000
## 68      5.800000    2.700000     4.100000  1.00000000
## 69      6.200000    2.200000     4.500000  1.50000000
## 70      5.394935    2.500000     3.900000  1.10000000
## 71      5.900000    2.596924     4.857473  1.80000000
## 72      6.100000    2.800000     4.000000  1.46247847
## 73      6.300000    2.500000     4.900000  1.50000000
## 74      6.100000    2.800000     4.246887  1.20000000
## 75      6.400000    3.409640     4.300000  1.30000000
## 76      6.600000    3.535769     4.271312  1.40000000
## 77      6.074794    2.882528     4.800000  1.40000000
## 78      6.700000    3.280417     5.000000  1.83921770
## 79      6.000000    2.900000     4.500000  1.50000000
## 80      5.316914    2.600000     3.500000  1.00000000
## 81      5.500000    2.743705     3.800000  1.10000000
## 82      5.500000    2.400000     3.814753  1.00000000
## 83      5.800000    2.700000     3.900000  1.32275413
## 84      6.000000    2.700000     5.100000  1.60000000
## 85      5.400000    3.000000     2.955828  0.84769960
## 86      6.000000    3.400000     4.500000  1.36035913
## 87      6.700000    3.100000     4.700000  1.50000000
## 88      6.300000    2.300000     5.909772  2.10019675
## 89      5.932685    3.000000     4.100000  1.30000000
## 90      5.500000    2.500000     4.000000  1.30000000
## 91      5.647011    2.600000     4.400000  1.20000000
## 92      6.109707    3.000000     4.600000  1.40000000
## 93      5.800000    2.600000     4.000000  1.20000000
## 94      5.000000    2.300000     3.403509  1.00000000
## 95      5.600000    2.700000     4.200000  1.30000000
## 96      5.700000    3.000000     3.641530  1.20000000
## 97      5.700000    2.900000     4.200000  1.30000000
## 98      6.200000    3.139948     4.300000  1.48441640
## 99      5.100000    2.500000     3.178570  0.88303014
## 100     5.700000    2.800000     4.100000  1.30000000
## 101     7.300332    3.300000     6.000000  2.50000000
## 102     6.529505    2.960916     5.276789  1.90000000
## 103     7.100000    3.290411     5.900000  2.10000000
## 104     6.300000    2.900000     5.600000  1.80000000
## 105     6.815404    3.000000     5.800000  2.13560102
## 106     7.600000    3.000000     6.600000  2.10000000
## 107     4.900000    2.500000     3.856631  1.70000000
## 108     6.981696    2.900000     6.300000  2.34886438
## 109     6.700000    2.500000     6.381121  2.34125365
## 110     7.460167    3.600000     6.100000  2.34975207
## 111     6.500000    3.200000     5.100000  2.00000000
## 112     6.400000    2.856998     5.300000  1.90000000
## 113     6.774715    3.000000     5.702185  2.10000000
## 114     5.700000    2.500000     5.000000  1.56230068
## 115     5.800000    2.800000     5.100000  2.40000000
## 116     6.400000    3.200000     5.340570  2.30000000
## 117     6.554390    3.000000     5.500000  1.80000000
## 118     6.137595    3.800000     3.108020  1.02280973
## 119     7.700000    2.600000     6.900000  2.90811760
## 120     6.000000    2.667703     5.000000  1.65708061
## 121     7.038855    3.200000     5.700000  2.30000000
## 122     5.600000    2.800000     4.900000  2.00000000
## 123     7.700000    2.800000     7.888783  3.06739488
## 124     6.300000    2.700000     5.251195  1.85319880
## 125     6.700000    3.300000     5.700000  1.98151130
## 126     7.200000    3.200000     5.618972  1.80000000
## 127     6.200000    2.854455     4.800000  1.80000000
## 128     6.410715    3.000000     4.900000  1.80000000
## 129     6.550710    2.800000     5.600000  2.01895275
## 130     6.815404    3.000000     5.800000  2.13560102
## 131     7.400000    2.800000     6.100000  1.90000000
## 132     6.681540    2.719429     6.400000  2.00000000
## 133     6.400000    2.800000     5.600000  1.94867054
## 134     6.300000    2.800000     5.100000  1.79371200
## 135     6.048946    2.600000     5.600000  1.40000000
## 136     6.964723    3.000000     6.100000  2.27139477
## 137     6.300000    2.465799     5.600000  2.40000000
## 138     6.400000    2.805551     5.500000  1.92166136
## 139     6.000000    3.000000     4.592507  1.80000000
## 140     6.842150    3.100000     5.671633  2.10000000
## 141     6.700000    3.100000     5.600000  2.40000000
## 142     6.820126    3.100000     5.100000  2.30000000
## 143     5.800000    2.700000     4.250398  1.39750395
## 144     6.800000    2.911193     5.900000  2.30000000
## 145     6.700000    3.300000     5.700000  2.50000000
## 146     6.769017    3.000000     5.200000  2.30000000
## 147     6.300000    2.500000     5.499479  1.90000000
## 148     6.500000    2.950088     5.200000  2.00000000
## 149     6.200000    3.400000     4.939191  2.30000000
## 150     6.458607    3.000000     5.100000  1.80000000

EM Algoritması Sonuçlar

Expectation Maximization Grafiği Principal Component Analysis sonrasında Predicted Residual Error Sum of Squares değerlerini gösterir.

PRESS değeri, modelin tahmin hatasını ölçer. Daha düşük PRESS değeri, daha iyi bir model anlamına gelir.

Hem Ncomp Imputation =1 hem de Ncomp Imputation = 2 için bileşen sayısı artttıkça PRESS değeri düşer. Bu, eksik verileri tahmin etmek için iki bileşenli modelin tek bileşenli modele kıyasla daha iyi performans gösterdiğini gösterir.

Bu fonksiyon PCA tabanlı bir yaklaşım kullanır.

PCA tabanlı imputasyon işlemi sırasında kaç ana bileşenin kullanılacağı belirlenir. Daha fazla bileşen kullanmak, modelin daha karmaşık olmasına sebebiyet verebilirken daha fazla varyansı açıklayacaktır.

Çok fazla bileşen kullanmak aşırı öğrenmeye (overfitting) neden olabilir.

Fonksiyonun Kullanımı

impute.ncomps: Test edilecek minumum bileşen sayısını belirler.

pca.ncomps: Eksik veri tamamlama işlemi için kullanılacak minumum bileşen sayısını belirler. PCA tabanlı tamamlama işlemi yapılıyorsa kaç bileşenin kullanılacağını belirler.

CV: Eğer TRUE ise, çapraz doğrulama (cross- validation) kullanılarak optimal bileşen sayısı belirlenir.

Init: Sürekli değişkenler için başlangıç değerinin mean (ortalama) veya median (medyan) olarak belirlenmesini sağlar.

scale: TRUE ise değişkenler birim varyansa (standart sapma = 1) ölçeklendirilir.

iters: EM algoritmasının kaç iterasyon süreceğini belirler.

tol: İterasyonların yakınsama (convergence) eşiğini belirler. Yani, ardışık iterasyonlardaki değişim bu eşiğin altına düşerse algoritma durur.

#imputeEM(data, impute.ncomps = 2, CV = TRUE, Init = "mean",
         #scale = TRUE, iters =25, tol = .Machine$double.eps^0.25)

Kullanılan bileşen sayısı

dat_EM$pca.ncomps
## [1] 2

Çapraz Doğrulama Sonuçları (Optimal bileşen sayısnın belirlenmesi için kullanılan bilgiler içerir)

dat_EM$CV.Results
##         X1       X2
## 2 208.2550 227.0288
## 3 229.4207 208.2877

EM iterasyonları boyunca sürekli değişkenler için üretilen tahmini değerlerin listesi

dat_EM$Imputed.DataFrames
## [[1]]
##     Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1       5.762103    3.044005    3.7370949  1.18139225
## 2       4.900000    3.000000    1.4000000  0.20000000
## 3       4.700000    3.200000    1.3000000  0.19654514
## 4       4.600000    3.100000    1.5000000  0.20000000
## 5       4.780759    3.600000    1.4000000  0.20000000
## 6       5.400000    3.900000    1.7000000  0.40000000
## 7       4.912707    3.400000    1.4000000  0.30000000
## 8       5.000000    3.400000    1.5000000  0.20000000
## 9       4.400000    2.900000    1.4000000  0.20000000
## 10      4.900000    3.100000    1.5000000  0.10000000
## 11      5.400000    3.300040    2.1012976  0.20000000
## 12      4.800000    3.400000    1.3968828  0.20000000
## 13      4.800000    3.000000    1.4000000  0.37201565
## 14      4.300000    3.538565    1.1000000 -0.20107716
## 15      5.800000    4.000000    1.2000000  0.20000000
## 16      4.982724    3.359604    1.5000000  0.40000000
## 17      5.400000    3.900000    1.3000000  0.07917032
## 18      5.100000    3.500000    1.4000000  0.30000000
## 19      4.766003    3.800000    1.7000000  0.30000000
## 20      5.100000    3.356570    1.5000000  0.30766170
## 21      5.400000    3.400000    1.9680918  0.20000000
## 22      5.100000    3.318372    1.9841751  0.40000000
## 23      4.600000    3.600000    0.9382892  0.20000000
## 24      5.100000    3.300000    1.7000000  0.50000000
## 25      4.800000    3.400000    1.9000000  0.20000000
## 26      5.000000    3.376508    1.6000000  0.20000000
## 27      5.000000    3.351894    1.6000000  0.40000000
## 28      5.200000    3.500000    1.5000000  0.26596543
## 29      5.200000    3.400000    1.4000000  0.20000000
## 30      4.946620    3.374224    1.6000000  0.25831403
## 31      4.800000    3.100000    1.6000000  0.35186218
## 32      5.400000    3.400000    1.5000000  0.40000000
## 33      5.200000    4.100000    1.5000000 -0.08086042
## 34      5.500000    4.200000    1.4000000 -0.03438071
## 35      5.039190    3.100000    1.5000000  0.20000000
## 36      5.000000    3.400549    1.2000000  0.18472481
## 37      5.500000    3.500000    1.3000000  0.20000000
## 38      4.745864    3.600000    1.4000000  0.10000000
## 39      4.400000    3.000000    1.5524578  0.20000000
## 40      5.100000    3.400000    1.6824873  0.20000000
## 41      5.000000    3.500000    1.3000000  0.30000000
## 42      4.500000    3.441673    1.3000000  0.30000000
## 43      5.054998    3.200000    1.9077306  0.20000000
## 44      5.000467    3.500000    1.6000000  0.60000000
## 45      5.100000    3.800000    1.9000000  0.40000000
## 46      4.800000    3.000000    2.0297242  0.30000000
## 47      5.100000    3.356611    1.7398702  0.20000000
## 48      5.054998    3.200000    1.9077306  0.20000000
## 49      4.748034    3.700000    1.5000000  0.20000000
## 50      5.000000    3.300000    1.4000000  0.20000000
## 51      7.000000    3.200000    4.7000000  1.40000000
## 52      6.400000    3.200000    4.5000000  1.50000000
## 53      6.900000    3.100000    4.9000000  1.83486693
## 54      5.500000    2.300000    4.0000000  1.30000000
## 55      6.500000    2.867072    4.6000000  1.50000000
## 56      5.700000    2.800000    4.5000000  1.30000000
## 57      6.300000    3.300000    4.7000000  1.60000000
## 58      4.900000    2.400000    3.6047195  1.00000000
## 59      6.009898    2.900000    4.6000000  1.30000000
## 60      6.173010    2.700000    4.8001604  1.40000000
## 61      5.000000    2.000000    3.5000000  1.42746544
## 62      5.986737    3.000000    4.3182485  1.50000000
## 63      6.000000    2.200000    4.0000000  1.00000000
## 64      6.100000    2.900000    4.6221644  1.56863608
## 65      5.600000    2.900000    3.6000000  1.30000000
## 66      5.916141    3.100000    4.4000000  1.40000000
## 67      5.600000    3.000000    4.5000000  1.50000000
## 68      5.800000    2.700000    4.1000000  1.00000000
## 69      6.200000    2.200000    4.5000000  1.50000000
## 70      6.023610    2.500000    3.9000000  1.10000000
## 71      5.900000    2.899846    4.6581161  1.80000000
## 72      6.100000    2.800000    4.0000000  1.51055929
## 73      6.300000    2.500000    4.9000000  1.50000000
## 74      6.100000    2.800000    4.4036771  1.20000000
## 75      6.400000    2.920555    4.3000000  1.30000000
## 76      6.600000    2.844325    5.0128370  1.40000000
## 77      6.066376    2.920793    4.8000000  1.40000000
## 78      6.700000    2.763300    5.0000000  1.96606037
## 79      6.000000    2.900000    4.5000000  1.50000000
## 80      5.876988    2.600000    3.5000000  1.00000000
## 81      5.500000    3.082389    3.8000000  1.10000000
## 82      5.500000    2.400000    4.1759285  1.00000000
## 83      5.800000    2.700000    3.9000000  1.42642876
## 84      6.000000    2.700000    5.1000000  1.60000000
## 85      5.400000    3.000000    3.2421567  0.96484228
## 86      6.000000    3.400000    4.5000000  1.21682405
## 87      6.700000    3.100000    4.7000000  1.50000000
## 88      6.300000    2.300000    6.3337610  2.31750976
## 89      5.882371    3.000000    4.1000000  1.30000000
## 90      5.500000    2.500000    4.0000000  1.30000000
## 91      6.088981    2.600000    4.4000000  1.20000000
## 92      5.996267    3.000000    4.6000000  1.40000000
## 93      5.800000    2.600000    4.0000000  1.20000000
## 94      5.000000    2.300000    3.8340163  1.00000000
## 95      5.600000    2.700000    4.2000000  1.30000000
## 96      5.700000    3.000000    3.7546805  1.20000000
## 97      5.700000    2.900000    4.2000000  1.30000000
## 98      6.200000    2.915260    4.3000000  1.54127843
## 99      5.100000    2.500000    3.9021681  1.25361662
## 100     5.700000    2.800000    4.1000000  1.30000000
## 101     6.455741    3.300000    6.0000000  2.50000000
## 102     6.391447    2.789160    5.3652812  1.90000000
## 103     7.100000    2.647879    5.9000000  2.10000000
## 104     6.300000    2.900000    5.6000000  1.80000000
## 105     6.336174    3.000000    5.8000000  1.83120614
## 106     7.600000    3.000000    6.6000000  2.10000000
## 107     4.900000    2.500000    4.1458464  1.70000000
## 108     6.546587    2.900000    6.3000000  2.06938123
## 109     6.700000    2.500000    6.5295479  2.40317227
## 110     5.935172    3.600000    6.1000000  1.37729577
## 111     6.500000    3.200000    5.1000000  2.00000000
## 112     6.400000    2.790985    5.3000000  1.90000000
## 113     6.341274    3.000000    5.2354773  2.10000000
## 114     5.700000    2.500000    5.0000000  1.70808048
## 115     5.800000    2.800000    5.1000000  2.40000000
## 116     6.400000    3.200000    5.2139640  2.30000000
## 117     6.278051    3.000000    5.5000000  1.80000000
## 118     4.203305    3.800000   -0.2956995 -0.58307346
## 119     7.700000    2.600000    6.9000000  2.82868861
## 120     6.000000    2.892824    5.0000000  1.60399622
## 121     6.387075    3.200000    5.7000000  2.30000000
## 122     5.600000    2.800000    4.9000000  2.00000000
## 123     7.700000    2.800000    7.4800732  2.81905494
## 124     6.300000    2.700000    5.4116449  1.91405695
## 125     6.700000    3.300000    5.7000000  1.78778869
## 126     7.200000    3.200000    5.4932744  1.80000000
## 127     6.200000    2.855457    4.8000000  1.80000000
## 128     6.183249    3.000000    4.9000000  1.80000000
## 129     6.443736    2.800000    5.6000000  1.95295989
## 130     6.336174    3.000000    5.8000000  1.83120614
## 131     7.400000    2.800000    6.1000000  1.90000000
## 132     6.641818    2.687776    6.4000000  2.00000000
## 133     6.400000    2.800000    5.6000000  1.93487539
## 134     6.300000    2.800000    5.1000000  1.79971183
## 135     6.348374    2.600000    5.6000000  1.40000000
## 136     6.414490    3.000000    6.1000000  1.91985524
## 137     6.300000    2.724882    5.6000000  2.40000000
## 138     6.400000    2.776351    5.5000000  1.92957909
## 139     6.000000    3.000000    4.6190469  1.80000000
## 140     6.259486    3.100000    5.0238829  2.10000000
## 141     6.700000    3.100000    5.6000000  2.40000000
## 142     6.340800    3.100000    5.1000000  2.30000000
## 143     5.800000    2.700000    4.5905887  1.55482081
## 144     6.800000    2.659717    5.9000000  2.30000000
## 145     6.700000    3.300000    5.7000000  2.50000000
## 146     6.405126    3.000000    5.2000000  2.30000000
## 147     6.300000    2.500000    5.6715881  1.90000000
## 148     6.500000    2.772100    5.2000000  2.00000000
## 149     6.200000    3.400000    4.7553704  2.30000000
## 150     6.214850    3.000000    5.1000000  1.80000000
## 
## [[2]]
##     Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1       5.785179    3.033759     3.670654  1.17765175
## 2       4.900000    3.000000     1.400000  0.20000000
## 3       4.700000    3.200000     1.300000  0.10278297
## 4       4.600000    3.100000     1.500000  0.20000000
## 5       5.106256    3.600000     1.400000  0.20000000
## 6       5.400000    3.900000     1.700000  0.40000000
## 7       5.013440    3.400000     1.400000  0.30000000
## 8       5.000000    3.400000     1.500000  0.20000000
## 9       4.400000    2.900000     1.400000  0.20000000
## 10      4.900000    3.100000     1.500000  0.10000000
## 11      5.400000    3.543433     1.762948  0.20000000
## 12      4.800000    3.400000     1.253811  0.20000000
## 13      4.800000    3.000000     1.400000  0.22591747
## 14      4.300000    2.835424     1.100000 -0.03717115
## 15      5.800000    4.000000     1.200000  0.20000000
## 16      4.993202    3.269746     1.500000  0.40000000
## 17      5.400000    3.900000     1.300000  0.25437052
## 18      5.100000    3.500000     1.400000  0.30000000
## 19      5.385495    3.800000     1.700000  0.30000000
## 20      5.100000    3.365849     1.500000  0.29938745
## 21      5.400000    3.400000     1.865744  0.20000000
## 22      5.100000    3.116569     2.067390  0.40000000
## 23      4.600000    3.600000     0.852432  0.20000000
## 24      5.100000    3.300000     1.700000  0.50000000
## 25      4.800000    3.400000     1.900000  0.20000000
## 26      5.000000    3.293618     1.600000  0.20000000
## 27      5.000000    3.215460     1.600000  0.40000000
## 28      5.200000    3.500000     1.500000  0.30713449
## 29      5.200000    3.400000     1.400000  0.20000000
## 30      4.960821    3.287887     1.600000  0.27073689
## 31      4.800000    3.100000     1.600000  0.24182949
## 32      5.400000    3.400000     1.500000  0.40000000
## 33      5.200000    4.100000     1.500000  0.14680913
## 34      5.500000    4.200000     1.400000  0.24390055
## 35      4.754929    3.100000     1.500000  0.20000000
## 36      5.000000    3.405683     1.200000  0.17706642
## 37      5.500000    3.500000     1.300000  0.20000000
## 38      5.048963    3.600000     1.400000  0.10000000
## 39      4.400000    3.000000     1.240658  0.20000000
## 40      5.100000    3.400000     1.559777  0.20000000
## 41      5.000000    3.500000     1.300000  0.30000000
## 42      4.500000    2.848224     1.300000  0.30000000
## 43      4.826376    3.200000     1.481499  0.20000000
## 44      5.308265    3.500000     1.600000  0.60000000
## 45      5.100000    3.800000     1.900000  0.40000000
## 46      4.800000    3.000000     1.756115  0.30000000
## 47      5.100000    3.288081     1.694777  0.20000000
## 48      4.826376    3.200000     1.481499  0.20000000
## 49      5.205257    3.700000     1.500000  0.20000000
## 50      5.000000    3.300000     1.400000  0.20000000
## 51      7.000000    3.200000     4.700000  1.40000000
## 52      6.400000    3.200000     4.500000  1.50000000
## 53      6.900000    3.100000     4.900000  1.96117395
## 54      5.500000    2.300000     4.000000  1.30000000
## 55      6.500000    3.336384     4.600000  1.50000000
## 56      5.700000    2.800000     4.500000  1.30000000
## 57      6.300000    3.300000     4.700000  1.60000000
## 58      4.900000    2.400000     3.202820  1.00000000
## 59      5.977359    2.900000     4.600000  1.30000000
## 60      5.804909    2.700000     4.261365  1.40000000
## 61      5.000000    2.000000     3.500000  1.03752451
## 62      6.116859    3.000000     4.388633  1.50000000
## 63      6.000000    2.200000     4.000000  1.00000000
## 64      6.100000    2.900000     4.521588  1.54742188
## 65      5.600000    2.900000     3.600000  1.30000000
## 66      6.136870    3.100000     4.400000  1.40000000
## 67      5.600000    3.000000     4.500000  1.50000000
## 68      5.800000    2.700000     4.100000  1.00000000
## 69      6.200000    2.200000     4.500000  1.50000000
## 70      5.394935    2.500000     3.900000  1.10000000
## 71      5.900000    2.596924     4.857473  1.80000000
## 72      6.100000    2.800000     4.000000  1.46247847
## 73      6.300000    2.500000     4.900000  1.50000000
## 74      6.100000    2.800000     4.246887  1.20000000
## 75      6.400000    3.409640     4.300000  1.30000000
## 76      6.600000    3.535769     4.271312  1.40000000
## 77      6.074794    2.882528     4.800000  1.40000000
## 78      6.700000    3.280417     5.000000  1.83921770
## 79      6.000000    2.900000     4.500000  1.50000000
## 80      5.316914    2.600000     3.500000  1.00000000
## 81      5.500000    2.743705     3.800000  1.10000000
## 82      5.500000    2.400000     3.814753  1.00000000
## 83      5.800000    2.700000     3.900000  1.32275413
## 84      6.000000    2.700000     5.100000  1.60000000
## 85      5.400000    3.000000     2.955828  0.84769960
## 86      6.000000    3.400000     4.500000  1.36035913
## 87      6.700000    3.100000     4.700000  1.50000000
## 88      6.300000    2.300000     5.909772  2.10019675
## 89      5.932685    3.000000     4.100000  1.30000000
## 90      5.500000    2.500000     4.000000  1.30000000
## 91      5.647011    2.600000     4.400000  1.20000000
## 92      6.109707    3.000000     4.600000  1.40000000
## 93      5.800000    2.600000     4.000000  1.20000000
## 94      5.000000    2.300000     3.403509  1.00000000
## 95      5.600000    2.700000     4.200000  1.30000000
## 96      5.700000    3.000000     3.641530  1.20000000
## 97      5.700000    2.900000     4.200000  1.30000000
## 98      6.200000    3.139948     4.300000  1.48441640
## 99      5.100000    2.500000     3.178570  0.88303014
## 100     5.700000    2.800000     4.100000  1.30000000
## 101     7.300332    3.300000     6.000000  2.50000000
## 102     6.529505    2.960916     5.276789  1.90000000
## 103     7.100000    3.290411     5.900000  2.10000000
## 104     6.300000    2.900000     5.600000  1.80000000
## 105     6.815404    3.000000     5.800000  2.13560102
## 106     7.600000    3.000000     6.600000  2.10000000
## 107     4.900000    2.500000     3.856631  1.70000000
## 108     6.981696    2.900000     6.300000  2.34886438
## 109     6.700000    2.500000     6.381121  2.34125365
## 110     7.460167    3.600000     6.100000  2.34975207
## 111     6.500000    3.200000     5.100000  2.00000000
## 112     6.400000    2.856998     5.300000  1.90000000
## 113     6.774715    3.000000     5.702185  2.10000000
## 114     5.700000    2.500000     5.000000  1.56230068
## 115     5.800000    2.800000     5.100000  2.40000000
## 116     6.400000    3.200000     5.340570  2.30000000
## 117     6.554390    3.000000     5.500000  1.80000000
## 118     6.137595    3.800000     3.108020  1.02280973
## 119     7.700000    2.600000     6.900000  2.90811760
## 120     6.000000    2.667703     5.000000  1.65708061
## 121     7.038855    3.200000     5.700000  2.30000000
## 122     5.600000    2.800000     4.900000  2.00000000
## 123     7.700000    2.800000     7.888783  3.06739488
## 124     6.300000    2.700000     5.251195  1.85319880
## 125     6.700000    3.300000     5.700000  1.98151130
## 126     7.200000    3.200000     5.618972  1.80000000
## 127     6.200000    2.854455     4.800000  1.80000000
## 128     6.410715    3.000000     4.900000  1.80000000
## 129     6.550710    2.800000     5.600000  2.01895275
## 130     6.815404    3.000000     5.800000  2.13560102
## 131     7.400000    2.800000     6.100000  1.90000000
## 132     6.681540    2.719429     6.400000  2.00000000
## 133     6.400000    2.800000     5.600000  1.94867054
## 134     6.300000    2.800000     5.100000  1.79371200
## 135     6.048946    2.600000     5.600000  1.40000000
## 136     6.964723    3.000000     6.100000  2.27139477
## 137     6.300000    2.465799     5.600000  2.40000000
## 138     6.400000    2.805551     5.500000  1.92166136
## 139     6.000000    3.000000     4.592507  1.80000000
## 140     6.842150    3.100000     5.671633  2.10000000
## 141     6.700000    3.100000     5.600000  2.40000000
## 142     6.820126    3.100000     5.100000  2.30000000
## 143     5.800000    2.700000     4.250398  1.39750395
## 144     6.800000    2.911193     5.900000  2.30000000
## 145     6.700000    3.300000     5.700000  2.50000000
## 146     6.769017    3.000000     5.200000  2.30000000
## 147     6.300000    2.500000     5.499479  1.90000000
## 148     6.500000    2.950088     5.200000  2.00000000
## 149     6.200000    3.400000     4.939191  2.30000000
## 150     6.458607    3.000000     5.100000  1.80000000

missMethods Paketi ile EM Algoritması

missMEthods paketindeki impute_EM fonksiyonu, eksik verileri doldurmak için Expectation- Maximization (EM) algoritmasını kullanır. Bu fonksiyon, özellikle çok değişkenli normal dağılıma sahip veri setlerinde eksik değerleri tahmin etmek için tasarlanmıştır. Fonksiyon, norm paketindeki em.norm() fonksiyonunu kullanarak parametreleri tahmin eder ve bu parametreleri kullanarak eksik değerleri doldurur.

EM algoritması, eksik verilerin beklenen değerlerini (E- Step) ve bu değerler kullanılarak parametreleri günceller (M- Step). Bu işlem, parametreler yakınsayana kadar tekrarlanır.

Eğer stochastic = TRUE ise, bu beklenen değerlere çok değişkenli normal dağılımdan rastgele hatalar (residuals) eklenir. Bu, doldurulan değerlerin daha gerçekçi olmasını sağlar.

Eğer stochastic = FALSE ise, sadece beklenen değerler kullanılır ve rastgele hatalar eklenmez. Bu, deterministik bir yaklaşımdır. Bu seçenek, doldurulan değerler,n daha sabit ve tahmin edilebilir olmasına yardımcı olur.

#Örnek veri seti oluşturma

ds_orig <- mvtnorm::rmvnorm(100, rep(0,7))  # 7 değişkenli normal dağılım
ds_mis <- delete_MCAR(ds_orig, p= 0.2) # %20 eksik veri (MCAR)


#EM ile eksik verileri doldurma (stokastik olmadan)
ds_imp <- impute_EM(ds_mis, stochastic = FALSE)


#EM ile eksik verileri doldurma (stokastik olarak)

ds_imp_stochastic <- impute_EM(ds_mis, stochastic = TRUE)

Impute_EM fonksiyonu, eksik verileri doldurmak için EM algoritmasını kullanır ve stochastic argümanı ile doldurulan değerlerin deterministik mi yoksa stokastik mi olacağını kontrol eder. Bu yöntem, özellikle çok değişkenli normal dağılıma sahip veri setlerinde etkilidir.

Multiple Imputation ( Çoklu Atama) Kayıp değerler rastgele tahminle doldurulmaz, birden fazla değer üretilir ve bu değerler üzerinden analiz yapılır. Daha sonra bu analiz sonuçları birleştirilerek tek bir sonuç elde edilir.

Gerçekçi tahminler: Kayıp verinin belirsizliğini dikkate alır.

İstatistiksel Güvenirlik: Tek bir tahmin yerine birden fazla tahmin üzerinden analiz yapıldığı için daha güvenilir sonuçlar verir.

Esneklik: Farklı veri türleri ve modellere uyumludur.

Multiple Imputation Adımları

Atama (Imputation): Kayıp değerler, istatistiksel modeller kullanılarak birden fazla kez doldurulur. Genellikle 5-10 arasında tamamlanmış veri seti oluşturulur.

Analiz: HEr tamamlanmış veri sti üzerinde ayrı ayrı analizler yapılır.

Birleştirme (Pooling): Analiz sonuçları, belirli kurallar çerçevesinde birleştirilir ve nihai sonuçlar elde edilir.

R’ da mice (Multivariate Imputation by Chained Equations) paketi, Multiple Imputation yöntemini uygulamak için yaygın olarak kullanılır.

Kayıp veriyi görselleştirmek için mice paketinin md.pattern() fonksiyonu kullanılabilir.

md.pattern(screen)

##     SUBNO TIMEDRS ATTDRUG EMPLMNT MSTATUS RACE ATTHOUSE INCOME   
## 438     1       1       1       1       1    1        1      1  0
## 26      1       1       1       1       1    1        1      0  1
## 1       1       1       1       1       1    1        0      1  1
##         0       0       0       0       0    0        1     26 27

Hangi değişkenlerde ne kadar kayıp veri var görselde incelenebilir.

imputed_data <- mice(screen, m= 5, maxxit =50, method = 'pmm', seed =500)
## 
##  iter imp variable
##   1   1  ATTHOUSE  INCOME
##   1   2  ATTHOUSE  INCOME
##   1   3  ATTHOUSE  INCOME
##   1   4  ATTHOUSE  INCOME
##   1   5  ATTHOUSE  INCOME
##   2   1  ATTHOUSE  INCOME
##   2   2  ATTHOUSE  INCOME
##   2   3  ATTHOUSE  INCOME
##   2   4  ATTHOUSE  INCOME
##   2   5  ATTHOUSE  INCOME
##   3   1  ATTHOUSE  INCOME
##   3   2  ATTHOUSE  INCOME
##   3   3  ATTHOUSE  INCOME
##   3   4  ATTHOUSE  INCOME
##   3   5  ATTHOUSE  INCOME
##   4   1  ATTHOUSE  INCOME
##   4   2  ATTHOUSE  INCOME
##   4   3  ATTHOUSE  INCOME
##   4   4  ATTHOUSE  INCOME
##   4   5  ATTHOUSE  INCOME
##   5   1  ATTHOUSE  INCOME
##   5   2  ATTHOUSE  INCOME
##   5   3  ATTHOUSE  INCOME
##   5   4  ATTHOUSE  INCOME
##   5   5  ATTHOUSE  INCOME
# m=5: 5 tamamlanmış veri seti oluşturur.

# maxit = 50: Maksimum 50 iterasyon yapar.

# method = 'pmm': Predictive Mean Matching yöntemi sürekli değişkenler için uygundur.
imputed_data$imp  #daha sonra düzenlenecek
## $SUBNO
## [1] 1 2 3 4 5
## <0 rows> (or 0-length row.names)
## 
## $TIMEDRS
## [1] 1 2 3 4 5
## <0 rows> (or 0-length row.names)
## 
## $ATTDRUG
## [1] 1 2 3 4 5
## <0 rows> (or 0-length row.names)
## 
## $ATTHOUSE
##      1  2  3  4  5
## 253 19 11 28 24 23
## 
## $INCOME
##      1 2  3  4 5
## 52   5 1  1  1 4
## 64   1 1  1  4 3
## 69   1 5  3  4 3
## 77   1 1  5  7 2
## 118  9 1  2 10 9
## 135 10 8  5  9 7
## 161  4 2  4  1 7
## 172  7 1  1  3 1
## 173  5 1  4  1 5
## 174  7 5  3  3 3
## 181  4 4  2  1 1
## 196  5 1  7  9 5
## 203  8 1  3  5 6
## 236  4 5  1  5 3
## 240  3 1  4  4 1
## 258  8 1  7  6 7
## 304  5 4  3  4 6
## 321  1 1  6  5 5
## 325  6 2  6  3 1
## 352  1 7  3  2 4
## 378  6 4  2  6 6
## 379  6 3  6  1 8
## 409  4 7  4  3 3
## 419  1 4  1  1 4
## 421  4 7 10 10 6
## 435  5 8  4  8 4
## 
## $EMPLMNT
## [1] 1 2 3 4 5
## <0 rows> (or 0-length row.names)
## 
## $MSTATUS
## [1] 1 2 3 4 5
## <0 rows> (or 0-length row.names)
## 
## $RACE
## [1] 1 2 3 4 5
## <0 rows> (or 0-length row.names)

Tamamlanmış veri setleri üzerinde analiz yapılabilir ve sonuçlar birleştirilebilir.

Örnek: Lineer Regresyon Analizi

fit <- with(imputed_data, lm(TIMEDRS ~ ATTHOUSE +INCOME))

pooled_results <- pool(fit)
summary(pooled_results)
##          term   estimate std.error  statistic       df     p.value
## 1 (Intercept) -0.4035120 2.8394989 -0.1421068 458.9703 0.887058034
## 2    ATTHOUSE  0.3149537 0.1125188  2.7991196 459.2217 0.005340001
## 3      INCOME  0.2121358 0.2084289  1.0177851 457.9195 0.309317543
#with(): Tamamlanmış her bir veri seti üzerinde analiz yapar.

# pool(): Analiz sonuçlarını birleştirir.

mice paketinde farklı değişkenler içiin farklı imputation yöntemleri sunar.

pmm: Sürekli değişkenler için Predictive Mean Matching

logreg: İkili (binary) değişkenler için Lojistik Regresyon.

polyreg: Kategorik değişkenler için Polytomous Regresyon.

Veri Setinde Yapılanlar

atthouse değişkeninde bir kayıp değer bulunmaktadır ve liste bazında silme yöntemi ile veri setinden çıkarılmıştır.

Veri setinde income değişkeni 26 kayıp değere sahiptir ve bu sayı örneklemin %5’inden fazladır. Eğer bu değişken araşatırma açısından öneme sahip değilse veri setinden çıkarılmasında bir sakınca yoktur. Aksi takdirde kayıp verinin tahmin edilmesi yöntemlerinden biri kullanılır.

Income değişkeninde bulunan kayıp değerler için kayıp verinin tahmin edilmesi yöntemlerinden ortalamanın yerleştirilmesi kullanılaarak kayıp değer yerine değişkenin ortalmam değeri (4.21 değeri) yerleştirilmiştir.

screen <- screen %>%  
  mutate( INCOME = ifelse(is.na(INCOME), mean(INCOME, na.rm = TRUE),
                          INCOME)) %>%  na.omit()

summary(screen)
##      SUBNO          TIMEDRS          ATTDRUG         ATTHOUSE    
##  Min.   :  1.0   Min.   : 0.000   Min.   : 5.00   Min.   : 2.00  
##  1st Qu.:136.8   1st Qu.: 2.000   1st Qu.: 7.00   1st Qu.:21.00  
##  Median :313.5   Median : 4.000   Median : 8.00   Median :24.00  
##  Mean   :317.3   Mean   : 7.914   Mean   : 7.69   Mean   :23.54  
##  3rd Qu.:483.2   3rd Qu.:10.000   3rd Qu.: 9.00   3rd Qu.:27.00  
##  Max.   :758.0   Max.   :81.000   Max.   :10.00   Max.   :35.00  
##      INCOME          EMPLMNT         MSTATUS          RACE      
##  Min.   : 1.000   Min.   :0.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.: 3.000   1st Qu.:0.000   1st Qu.:2.00   1st Qu.:1.000  
##  Median : 4.000   Median :0.000   Median :2.00   Median :1.000  
##  Mean   : 4.208   Mean   :0.472   Mean   :1.78   Mean   :1.086  
##  3rd Qu.: 6.000   3rd Qu.:1.000   3rd Qu.:2.00   3rd Qu.:1.000  
##  Max.   :10.000   Max.   :1.000   Max.   :2.00   Max.   :2.000

ÖĞRENME GÜNLÜĞÜ

VERİ TEMİZLİK SÜRECİ

1. Veri dosyasının doğruluğu incelenmelidir (Değişkenlerimiz olması gereken aralıkta mı?).

2. Kayıp veriler incelenmelidir. Kayıp veri sayısı az ise bu veriler silinebilir. Kayıp veri %5’ten fazla ise silinmemelidir. Rastlantısal kayıp veri %5’ten fazla olsa dahi silinebilir. Bu durum MCAR testi ile kontrol edilir.

Kayıp Veri Desenleri

MCAR -> Tamamen rastgele eksik

MAR -> Diğer değişkenlere bağlı eksik

MNAR -> Değişkenin kendisine bağlı eksik

Verileri silmek yerine medyan atamakta bir tercihtir ancak varyası azaltacaktır. Regresyon ile tahmin yine varyansı azaltacaktır. Eksik veriler bir değişkende toplanmış ise o değişken silinebilir.

Beklenti Maksimizasyonu (EM) - Dağılım varsayımları ile eksik olan veriye değer tahmini yapılır.

Çoklu Atama (Multiple Imputation) - Arka planda birden fazla tam veri seti oluşturup bunları analiz eder ve ortak bir sonuç bulgular.