AFA ÖDEV

AFAV10N200.sav veri dosyası aşağıdaki tabloda verilen 10 değişkenden oluşmaktadır. Bu değişkenlerdeki veri 200 bireyden toplanmıştır.

Değişken Davranışsal Problem Maddeleri
x1 Kendini değersiz hissetme (Feel worthless)
x2 Aklından çıkarma (Mind off)
x3 Üzgün hissetme (Feel sad)
x4 Endişeli hissetme (Feel worries)
x5 Bazı şeyler duyma (Hear things)
x6 Kaçma (Run away)
x7 Sevilmediğini hissetme (Feel unloved)
x8 Garip fikirler (Strange ideas)
x9 Kaçak/aylak (Traunt)
x10 Birçok kavgaya karışma (Getting many fights)

Soru 1 & Cevaplar

10 değişken üzerinde “Principal Axis Factoring” faktör çıkarma yöntemini kullanarak, döndürme yapmadan, açımlayıcı faktör analizini gerçekleştiriniz ve Kaiser’in kriterini kullanarak faktör sayısına karar veriniz.

Öncelikle gerekli kütüphaneleri aktifleştirelim.

library(dplyr) 
## Warning: package 'dplyr' was built under R version 4.5.3
## 
## 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) 
## Warning: package 'ggplot2' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.1     ✔ readr     2.1.6
## ✔ ggplot2   4.0.2     ✔ stringr   1.6.0
## ✔ lubridate 1.9.4     ✔ tibble    3.3.0
## ✔ purrr     1.2.0     ✔ tidyr     1.3.1
## ── 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(knitr)

Veri setini aktararak başlayalım.

library(haven) 
afa <- read_sav("C:/Users/ibrahim/Desktop/OLC733/AFAV10N200.sav")

1)Bu veri setinin açımlayıcı faktör analizi gerçekleştirmek için uygun olup olmadığına karar vermek üzere KMO değerini ve Bartlett’in istatistiğini elde ediniz.

  1. KMO değerini ve p-değeriyle birlikte Bartlett’in istatistiğini rapor ediniz.

  2. Bu indeks ve istatistik testinin hangi varsayımı test ettiğini belirtiniz.

  3. Bu veri setinin test edilen varsayımı karşılayıp karşılamadığını nedeniyle açıklayınız.

a. KMO değeri hesaplama

library(psych) 
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
afa2 <- afa[ ,-c(10,10)] 
KMO(afa2)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = afa2)
## Overall MSA =  0.82
## MSA for each item = 
##   X1   X2   X3   X4   X5   X6   X7   X8   X9 
## 0.85 0.81 0.86 0.88 0.77 0.75 0.86 0.83 0.76

a. Bartlett istatistiği hesaplama

cortest.bartlett(afa)
## R was not square, finding R from data
## $chisq
## [1] 827.1135
## 
## $p.value
## [1] 1.977535e-144
## 
## $df
## [1] 45

b) buraya açıklama ekleyeceğim.

  1. Verilerin faktör analizine uygunluğunu değerlendirmek amacıyla Kaiser-Meyer-Olkin (KMO) ve Bartlett küresellik testi yapılmıştır. KMO değerlerinin 0.6’dan büyük olduğu görülmektedir. Genel KMO değeri ,82 olarak bulunmuş olup bu değer örneklemin yeterli olduğunu göstermektedir. Bartlett küresellik testi sonucu ise anlamlıdır (χ² = 827,11; p < ,001). Bu sonuçlar doğrultusunda veri setinin faktör analizine uygun olduğu söylenebilir.

Özdeğerin 1,0’dan Büyük Olması Kuralı; Guttman (1954), kayda değer faktörlerin özdeğerlerinin 1,0’dan büyük olması gerektiğini düşünmüştür. Bazen bu mantık Kaiser’e atfedilir ve K1 kuralı olarak adlandırılır.

fa(afa)$e.values
##  [1] 4.2133667 1.5569268 1.3688626 0.5279807 0.5034460 0.4350567 0.4069430
##  [8] 0.3878897 0.3489590 0.2505688

3 faktörlü görünüyor. İlk üç özdeğer 1’den büyüktür.

scree(cor(afa), factors = FALSE)

Havalı bir grafik oldu :) Buradan da 3 faktörlü olduğu belli oluyor.

  1. Yapı üç faktörlü görünüyor.

  2. Örüntü matrisi

out <- fa(afa, nfactors = 3,fm="pa",rotate="none") 
out
## Factor Analysis using method =  pa
## Call: fa(r = afa, nfactors = 3, rotate = "none", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
##      PA1   PA2   PA3   h2   u2 com
## X1  0.65  0.01 -0.37 0.56 0.44 1.6
## X2  0.62 -0.46  0.23 0.64 0.36 2.1
## X3  0.68  0.06 -0.39 0.62 0.38 1.6
## X4  0.67  0.00 -0.34 0.57 0.43 1.5
## X5  0.58 -0.50  0.25 0.65 0.35 2.3
## X6  0.56  0.37  0.36 0.58 0.42 2.5
## X7  0.72  0.17 -0.28 0.62 0.38 1.4
## X8  0.56 -0.45  0.19 0.54 0.46 2.2
## X9  0.54  0.38  0.28 0.52 0.48 2.4
## X10 0.57  0.43  0.35 0.62 0.38 2.6
## 
##                        PA1  PA2  PA3
## SS loadings           3.81 1.15 0.96
## Proportion Var        0.38 0.12 0.10
## Cumulative Var        0.38 0.50 0.59
## Proportion Explained  0.64 0.19 0.16
## Cumulative Proportion 0.64 0.84 1.00
## 
## Mean item complexity =  2
## Test of the hypothesis that 3 factors are sufficient.
## 
## df null model =  45  with the objective function =  4.25 with Chi Square =  827.11
## df of  the model are 18  and the objective function was  0.15 
## 
## The root mean square of the residuals (RMSR) is  0.02 
## The df corrected root mean square of the residuals is  0.04 
## 
## The harmonic n.obs is  200 with the empirical chi square  4.51  with prob <  1 
## The total n.obs was  200  with Likelihood Chi Square =  29.46  with prob <  0.043 
## 
## Tucker Lewis Index of factoring reliability =  0.963
## RMSEA index =  0.056  and the 90 % confidence intervals are  0.01 0.092
## BIC =  -65.91
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy             
##                                                    PA1  PA2  PA3
## Correlation of (regression) scores with factors   0.95 0.86 0.84
## Multiple R square of scores with factors          0.90 0.75 0.70
## Minimum correlation of possible factor scores     0.81 0.49 0.41
  1. X2 değişkeniyle ilişkilendirilen örüntü katsayılarının kaç olduğunu belirtiniz. Katsayıların ne anlama geldiğini belirtiniz.
out <- fa(afa,3,fm="pa",rotate="none")
out$loadings[,1:3]
##           PA1           PA2        PA3
## X1  0.6513323  0.0106777075 -0.3711108
## X2  0.6191295 -0.4558196163  0.2261092
## X3  0.6779492  0.0595784670 -0.3914450
## X4  0.6699772 -0.0002579675 -0.3411190
## X5  0.5813796 -0.5036611705  0.2462495
## X6  0.5603424  0.3673744914  0.3553873
## X7  0.7173347  0.1722141983 -0.2805346
## X8  0.5571695 -0.4461612998  0.1870001
## X9  0.5404300  0.3801728617  0.2841904
## X10 0.5678988  0.4254218423  0.3465507
X2  0.6191295 -0.4558196163  0.2261092

X2= (0,62)b1+(-0,46)b2+(0,23)b3+hata

    1. X2 değişkeni için çıkarılan ortak varyansın (extracted communality) kaç olduğunu belirtiniz.
out
## Factor Analysis using method =  pa
## Call: fa(r = afa, nfactors = 3, rotate = "none", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
##      PA1   PA2   PA3   h2   u2 com
## X1  0.65  0.01 -0.37 0.56 0.44 1.6
## X2  0.62 -0.46  0.23 0.64 0.36 2.1
## X3  0.68  0.06 -0.39 0.62 0.38 1.6
## X4  0.67  0.00 -0.34 0.57 0.43 1.5
## X5  0.58 -0.50  0.25 0.65 0.35 2.3
## X6  0.56  0.37  0.36 0.58 0.42 2.5
## X7  0.72  0.17 -0.28 0.62 0.38 1.4
## X8  0.56 -0.45  0.19 0.54 0.46 2.2
## X9  0.54  0.38  0.28 0.52 0.48 2.4
## X10 0.57  0.43  0.35 0.62 0.38 2.6
## 
##                        PA1  PA2  PA3
## SS loadings           3.81 1.15 0.96
## Proportion Var        0.38 0.12 0.10
## Cumulative Var        0.38 0.50 0.59
## Proportion Explained  0.64 0.19 0.16
## Cumulative Proportion 0.64 0.84 1.00
## 
## Mean item complexity =  2
## Test of the hypothesis that 3 factors are sufficient.
## 
## df null model =  45  with the objective function =  4.25 with Chi Square =  827.11
## df of  the model are 18  and the objective function was  0.15 
## 
## The root mean square of the residuals (RMSR) is  0.02 
## The df corrected root mean square of the residuals is  0.04 
## 
## The harmonic n.obs is  200 with the empirical chi square  4.51  with prob <  1 
## The total n.obs was  200  with Likelihood Chi Square =  29.46  with prob <  0.043 
## 
## Tucker Lewis Index of factoring reliability =  0.963
## RMSEA index =  0.056  and the 90 % confidence intervals are  0.01 0.092
## BIC =  -65.91
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy             
##                                                    PA1  PA2  PA3
## Correlation of (regression) scores with factors   0.95 0.86 0.84
## Multiple R square of scores with factors          0.90 0.75 0.70
## Minimum correlation of possible factor scores     0.81 0.49 0.41
X2 0.62 -0.46 0.23

(0.62)kare + (-0.46)kare + (0.23) kare= 0.38 + 0.21 + 0.05=0.64

  1. Bu değerin ne önerdiği belirtiniz.

Bu değer, toplamda X2 değişkenindeki varyansın yaklaşık %64’ünün çıkarılan 3 faktör tarafından açıklanacağını önerir.

  1. X2 değişkeni için örüntü katsayıları ve ortak varyans arasındaki ilişkiyi açıklayınız.

AÇIKLANACAK

Birinci faktör tarafından açıklanan kısım: %38.07

sum(out$loadings[,1]^2)/10*100
## [1] 38.07606

İkinci faktör tarafından açıklanan kısım: %11.54

sum(out$loadings[,2]^2)/10*100
## [1] 11.54307

Üçüncü faktör tarafından açıklanan kısım: %9.59

sum(out$loadings[,3]^2)/10*100
## [1] 9.599091
out$Vaccounted
##                             PA1       PA2        PA3
## SS loadings           3.8076059 1.1543066 0.95990908
## Proportion Var        0.3807606 0.1154307 0.09599091
## Cumulative Var        0.3807606 0.4961913 0.59218216
## Proportion Explained  0.6429788 0.1949242 0.16209693
## Cumulative Proportion 0.6429788 0.8379031 1.00000000

Toplam açıklanan varyans: %59

AÇIKLANACAK

  1. Artık matrisi değerlendirerek mevcut modelin veriye uyup uymadığını nedenleriyle açıklayınız.
factor.model(out$loadings)
##            X1        X2        X3        X4        X5        X6        X7
## X1  0.5620710 0.3144804 0.5874758 0.5629679 0.2819075 0.2370038 0.5731715
## X2  0.3144804 0.6422182 0.3040720 0.3377901 0.6452072 0.2598243 0.3021930
## X3  0.5874758 0.3040720 0.6163939 0.5877244 0.2677453 0.2626567 0.6063906
## X4  0.5629679 0.3377901 0.5877244 0.5652316 0.3056406 0.2540925 0.5762491
## X5  0.2819075 0.6452072 0.2677453 0.3056406 0.6523157 0.2282533 0.2612247
## X6  0.2370038 0.2598243 0.2626567 0.2540925 0.2282533 0.5752477 0.3655217
## X7  0.5731715 0.3021930 0.6063906 0.5762491 0.2612247 0.3655217 0.6229265
## X8  0.2887407 0.5906116 0.2779507 0.3096166 0.5946898 0.2147549 0.2703817
## X9  0.2505928 0.2255640 0.2777893 0.2650349 0.1926984 0.5434893 0.3734151
## X10 0.2458247 0.2360456 0.2746970 0.2621545 0.2012342 0.5976666 0.3834178
##            X8        X9       X10
## X1  0.2887407 0.2505928 0.2458247
## X2  0.5906116 0.2255640 0.2360456
## X3  0.2779507 0.2777893 0.2746970
## X4  0.3096166 0.2650349 0.2621545
## X5  0.5946898 0.1926984 0.2012342
## X6  0.2147549 0.5434893 0.5976666
## X7  0.2703817 0.3734151 0.3834178
## X8  0.5444668 0.1846363 0.1914141
## X9  0.1846363 0.5173602 0.5671297
## X10 0.1914141 0.5671297 0.6235901
rep_matrix <- factor.model(out$loadings)
diag(rep_matrix)==out$communality
##   X1   X2   X3   X4   X5   X6   X7   X8   X9  X10 
## TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

Yapılan hesaplamaya göre uyumlu görünmektedir.

(residuals <-round(out$residual,2))
##        X1    X2    X3    X4    X5    X6    X7    X8    X9   X10
## X1   0.44  0.02  0.01 -0.02 -0.03 -0.04  0.01  0.01 -0.02  0.05
## X2   0.02  0.36 -0.01  0.00  0.00  0.02 -0.01 -0.01  0.02 -0.03
## X3   0.01 -0.01  0.38  0.01  0.02  0.04 -0.02 -0.01  0.03 -0.06
## X4  -0.02  0.00  0.01  0.43 -0.02  0.02  0.01  0.02 -0.01 -0.01
## X5  -0.03  0.00  0.02 -0.02  0.35 -0.04  0.02  0.00  0.01  0.02
## X6  -0.04  0.02  0.04  0.02 -0.04  0.42 -0.02  0.02  0.00  0.00
## X7   0.01 -0.01 -0.02  0.01  0.02 -0.02  0.38 -0.02  0.00  0.02
## X8   0.01 -0.01 -0.01  0.02  0.00  0.02 -0.02  0.46 -0.03  0.02
## X9  -0.02  0.02  0.03 -0.01  0.01  0.00  0.00 -0.03  0.48  0.00
## X10  0.05 -0.03 -0.06 -0.01  0.02  0.00  0.02  0.02  0.00  0.38
sum(abs(residuals[lower.tri(residuals)])>0.05)
## [1] 1

TEKRAR FARKLI BİR HESAPLAMA İLE BAKILACAK

Soru 2 & Cevaplar

10 değişken üzerinde “Principal Axis Factoring” faktör çıkarma yöntemini kullanarak, promax oblique döndürme yaparak (döndürme yaparken Kappa=4 olağan değerini kullanınız), açımlayıcı faktör analizini gerçekleştiriniz.

  1. Faktörler arasındaki kestirilen korelasyon sayılarını rapor ediniz.
matris <- round(cor(afa[,]),2) 
matris[upper.tri(matris)] <- NA 
matris
##       X1   X2   X3   X4   X5   X6   X7   X8   X9 X10
## X1  1.00   NA   NA   NA   NA   NA   NA   NA   NA  NA
## X2  0.33 1.00   NA   NA   NA   NA   NA   NA   NA  NA
## X3  0.59 0.29 1.00   NA   NA   NA   NA   NA   NA  NA
## X4  0.54 0.34 0.60 1.00   NA   NA   NA   NA   NA  NA
## X5  0.26 0.65 0.29 0.29 1.00   NA   NA   NA   NA  NA
## X6  0.20 0.28 0.30 0.27 0.19 1.00   NA   NA   NA  NA
## X7  0.59 0.29 0.59 0.58 0.28 0.34 1.00   NA   NA  NA
## X8  0.30 0.58 0.26 0.33 0.60 0.23 0.25 1.00   NA  NA
## X9  0.23 0.24 0.31 0.25 0.21 0.54 0.38 0.15 1.00  NA
## X10 0.30 0.20 0.21 0.26 0.22 0.60 0.40 0.21 0.56   1
  1. Örüntü Matrisi
out1 <- fa(afa,3,fm="pa",rotate="promax") 
## Loading required namespace: GPArotation
out1$loadings[,1:3]
##             PA1         PA2          PA3
## X1   0.76313399  0.02589381 -0.056667264
## X2   0.01853605  0.78016796  0.032453805
## X3   0.80722332 -0.02202437 -0.025029730
## X4   0.73857557  0.05919853 -0.035419371
## X5  -0.03121281  0.82294336 -0.002341073
## X6  -0.03320289  0.04377472  0.758231025
## X7   0.72316767 -0.05547230  0.163334808
## X8   0.02948190  0.72750132 -0.011832591
## X9   0.03632687 -0.01392987  0.705865483
## X10 -0.01074048 -0.01357458  0.799437860

X2;

b1= 0.019

b2= 0.780

b3= 0.032

2.3. Yapı Matrisi

out1 %>% target.rot()
## 
## Call: NULL
## Standardized loadings (pattern matrix) based upon correlation matrix
##       PA1   PA2   PA3   h2   u2
## X1   0.76  0.03 -0.07 0.59 0.41
## X2   0.02  0.78  0.03 0.61 0.39
## X3   0.81 -0.02 -0.03 0.65 0.35
## X4   0.74  0.06 -0.04 0.55 0.45
## X5  -0.03  0.82  0.00 0.68 0.32
## X6  -0.03  0.04  0.76 0.58 0.42
## X7   0.72 -0.06  0.16 0.55 0.45
## X8   0.03  0.73 -0.01 0.53 0.47
## X9   0.04 -0.01  0.71 0.50 0.50
## X10  0.00 -0.01  0.80 0.64 0.36
## 
##                        PA1  PA2  PA3
## SS loadings           2.31 1.83 1.74
## Proportion Var        0.23 0.18 0.17
## Cumulative Var        0.23 0.41 0.59
## Proportion Explained  0.39 0.31 0.30
## Cumulative Proportion 0.39 0.70 1.00
##     PA1 PA2 PA3
## PA1   1   0   0
## PA2   0   1   0
## PA3   0   0   1
  1. SORU
out_egik <- fa(afa,3,fm="pa",rotate="promax")  
print(out_egik$loadings, digits = 3, cutoff = 0.30)
## 
## Loadings:
##     PA1    PA2    PA3   
## X1   0.763              
## X2          0.780       
## X3   0.807              
## X4   0.739              
## X5          0.823       
## X6                 0.758
## X7   0.723              
## X8          0.728       
## X9                 0.706
## X10                0.799
## 
##                  PA1   PA2   PA3
## SS loadings    2.307 1.825 1.745
## Proportion Var 0.231 0.183 0.175
## Cumulative Var 0.231 0.413 0.588
out_egik$Phi
##           PA1       PA2       PA3
## PA1 1.0000000 0.4793074 0.4867700
## PA2 0.4793074 1.0000000 0.3497503
## PA3 0.4867700 0.3497503 1.0000000
out_dik <- fa(afa,3,fm="pa",rotate="varimax")
print(out_dik$loadings[,1:3], digits = 3, cut = 0.30)
##       PA1   PA2   PA3
## X1  0.713 0.193 0.130
## X2  0.207 0.758 0.155
## X3  0.750 0.162 0.164
## X4  0.702 0.223 0.150
## X5  0.162 0.783 0.117
## X6  0.159 0.151 0.726
## X7  0.708 0.140 0.319
## X8  0.195 0.704 0.107
## X9  0.199 0.103 0.684
## X10 0.177 0.107 0.762
fa_egik <- fa(afa, nfactors=3, rotate="promax", scores="regression") 
head(fa_egik$scores)
##             MR1        MR2          MR3
## [1,] -0.5327501 -0.8131395  0.979521324
## [2,]  0.2047905  1.4224319  0.001341526
## [3,] -0.6438838 -0.7643884 -1.532730072
## [4,] -0.6387092  0.8735903 -0.862161198
## [5,]  0.6314216  0.8523588 -0.554338778
## [6,]  1.4114961  0.2200571  0.618247226

EGAnet Deneme

Şu EGAnet’i de bir deneyeyim bakayım :)

library(EGAnet)
## 
## EGAnet (version 2.4.0) 
## 
## For help getting started, see <https://r-ega.net> 
## 
## For bugs and errors, submit an issue to <https://github.com/hfgolino/EGAnet/issues>
## 
## Attaching package: 'EGAnet'
## The following object is masked from 'package:psych':
## 
##     CFA
library(psychTools)
## Warning: package 'psychTools' was built under R version 4.5.3
## 
## Attaching package: 'psychTools'
## The following object is masked from 'package:dplyr':
## 
##     recode
# Perform Unique Variable Analysis
bfi_uva <- UVA(
  data = afa
)
# Print results
bfi_uva$keep_remove
## $keep
## [1] "X5"  "X8"  "X9"  "X10"
## 
## $remove
## [1] "X2" "X2" "X6" "X6" "X8" "X9"
EGA(afa)

## Model: GLASSO (EBIC with gamma = 0.5)
## Correlations: auto
## Lambda: 0.0649808018820763 (n = 100, ratio = 0.1)
## 
## Number of nodes: 10
## Number of edges: 31
## Edge density: 0.689
## 
## Non-zero edge weights: 
##      M    SD   Min   Max
##  0.134 0.125 0.001 0.406
## 
## ----
## 
## Algorithm:  Walktrap
## 
## Number of communities:  3
## 
##  X1  X2  X3  X4  X5  X6  X7  X8  X9 X10 
##   1   2   1   1   2   3   1   2   3   3 
## 
## ----
## 
## Unidimensional Method: Louvain
## Unidimensional: No
## 
## ----
## 
## TEFI: -5.792

Şimdi bu 3 faktör ve maddelerine baktığımızda nasıl bir durum oluyor ona bir bakalım.

Faktör 1: kendini değersiz hissetme (X1), üzgün hissetme (X3), endişeli hissetme (X4), sevilmediğini hissetme (X7)

Ben bu faktöre “olumsuz duygulanım” adını vermek istiyorum.

Faktör 2: aklından çıkarma (X2), bazı şeyler duyma (X5), garip fikirler (X8)

Ben bu faktöre “zihinsel tuhaflıklar” adını vermek istiyorum.

Faktör 3: kaçma (X6), kaçak/aylak (X9), birçok kavgaya karışma(X10)

Ben bu faktöre “Savaş ya da kaç eylemleri” adını vermek istiyorum.

Aslında bilişsel davranışçı terapideki duygu, düşünce, davranış üçlüsü oldu. Birinci faktör duygu boyutu, ikinci faktör düşünce boyutu, üçüncü faktör ise davranış boyutu şeklinde de adlandırabilirim daha genel bir ifadeyle.

Öğrenme Günlüğüm

Bazen fiziken doktora sürecini ve kendi hayat tempomu yürütmekte zorlanıyorum. Bu dönem iki dersinizde gözlerim gittiği ve aniden uyuyakaldığım için özür dilerim hocam. Kendimi çok mahcup hissediyorum. Fakat gerçekten derse odaklanmak için elimden gelen çabayı gösteriyorum. Anlayışınız için teşekkür ederim. Bu dersteki konu açımlayıcı faktör analizi bu dönemki işlediğimiz en aşina olan konu olabilir. Bugün EGAnet’i ilk kez duydum. Bizim pdr’deki sosyometriye benzettim biraz.