R의 탐색적 요인 분석

게시 됨: 2017-02-16
목차
R에서 탐색적 요인 분석이란 무엇입니까?
1. 데이터
2. WebData 가져오기
3. 패키지 설치
4. 요인의 수
요인 분석
적정성 테스트
요인 이름 지정
결론

R에서 탐색적 요인 분석이란 무엇입니까?

탐색적 요인 분석(EFA) 또는 R에서 대략적으로 알려진 요인 분석은 변수 집합 간의 잠재적인 관계 구조를 식별하고 더 적은 수의 변수로 좁히는 데 사용되는 통계 기법입니다. 이것은 본질적으로 많은 변수의 분산이 몇 가지 요약 변수, 즉 요인으로 설명될 수 있음을 의미합니다. 다음은 R의 탐색적 요인 분석에 대한 개요입니다.

탐색적 요인 분석

이름에서 알 수 있듯이 EFA는 본질적으로 탐색적입니다. 우리는 잠재적인 변수를 실제로 알지 못하며 더 적은 수의 요인에 도달할 때까지 단계를 반복합니다. 이 자습서에서는 R을 사용하여 EFA를 살펴보겠습니다. 이제 데이터 세트의 기본 개념을 먼저 알아보겠습니다.

1. 데이터

이 데이터 세트에는 고객이 자동차를 구매할 때 고려하는 14가지 변수에 대한 90개의 응답이 포함되어 있습니다. 설문 조사 질문은 5점 Likert 척도를 사용하여 구성되었으며 1은 매우 낮고 5는 매우 높음입니다. 변수는 다음과 같습니다.

  • 가격
  • 안전
  • 외관
  • 공간과 편안함
  • 기술
  • 애프터 서비스
  • 재판매 가치
  • 연료 종류
  • 연료 효율성
  • 색깔
  • 유지
  • 테스트 드라이브
  • 제품 리뷰
  • 사용후기

코딩된 데이터 세트를 다운로드하려면 여기를 클릭하십시오.

2. WebData 가져오기

이제 CSV 형식의 데이터 세트를 R로 읽어서 변수로 저장합니다.

[코드 언어 = "r"] 데이터 <- read.csv(file.choose( ), 헤더=TRUE) [/코드]

CSV 파일을 선택하는 창이 열리고 '헤더' 옵션은 파일의 첫 번째 행이 헤더로 간주되는지 확인합니다. 데이터 프레임의 처음 여러 행을 보고 데이터가 올바르게 저장되었는지 확인하려면 다음을 입력하십시오.

[코드 언어=”r”] 헤드(데이터) [/코드]

3. 패키지 설치

이제 추가 분석을 수행하는 데 필요한 패키지를 설치합니다. 이 패키지는 `psych` 및 `GPArotation`입니다. 아래 주어진 코드에서 우리는 설치를 위해 `install.packages()`를 호출합니다.

[코드 언어=”r”] install.packages('psych') install.packages('GPArotation') [/코드]

4. 요인의 수

다음으로 요인 분석을 위해 선택할 요인의 수를 알아보겠습니다. 이는 '병렬분석', '고유값' 등의 방법으로 평가됩니다.

병렬 분석

병렬 분석을 실행하기 위해 `Psych` 패키지의 `fa.parallel` 함수를 사용할 것입니다. 여기서 우리는 데이터 프레임과 요소 방법을 지정합니다(이 경우 'minres'). 다음을 실행하여 허용 가능한 수의 요인을 찾고 `scree plot`을 생성하십시오.

[코드 언어 = "r"] 병렬 <- fa.parallel(데이터, fm = 'minres', fa = 'fa') [/코드]

콘솔은 우리가 고려할 수 있는 최대 요소 수를 보여줍니다. 다음과 같이 표시됩니다.

"병렬 분석은 요인 수 = 5 및 구성 요소 수 = NA를 나타냅니다."

위의 코드에서 생성된 `scree plot`에 아래에 나와 있습니다.

병렬 분석 화면 플롯

파란색 선은 실제 데이터의 고유값을 나타내고 두 개의 빨간색 선(서로 위에 배치됨)은 시뮬레이션 및 리샘플링된 데이터를 나타냅니다. 여기서 우리는 실제 데이터의 큰 하락을 보고 오른쪽으로 수평을 이루는 지점을 찾습니다. 또한 변곡점, 즉 시뮬레이션 데이터와 실제 데이터 사이의 간격이 최소가 되는 지점을 찾습니다.

이 플롯과 병렬 분석을 보면 2~5개의 요인 사이에서 선택하는 것이 좋습니다.

요인 분석

이제 가능한 요인 수에 도달했으므로 요인 수로 3부터 시작하겠습니다. 요인 분석을 수행하기 위해 `psych` 패키지`fa() 함수를 사용합니다. 우리가 제공할 인수는 다음과 같습니다.

  • r – 원시 데이터 또는 상관 또는 공분산 행렬
  • nfactors – 추출할 인수의 수
  • 회전 - 회전의 종류는 다양하지만 'Varimax'와 'Oblimin'이 가장 많이 사용됩니다.
  • fm – '최소 잔차(OLS)', '최대 가능성', '주축' 등과 같은 요인 추출 기술 중 하나입니다.

이 경우 요인에 상관 관계가 있다고 믿기 때문에 비스듬한 회전(rotate = "oblimin")을 선택합니다. Varimax 회전은 요인이 완전히 상관관계가 없다는 가정 하에 사용됩니다. 다변량 정규 분포를 가정하지 않고 '최대 가능성'과 유사한 결과를 제공하고 주축과 같은 반복 고유 분해를 통해 솔루션을 도출하는 것으로 알려져 있기 때문에 '일반 최소 제곱/최소' 인수분해(fm = "minres")를 사용합니다.

다음을 실행하여 분석을 시작합니다.

[코드 언어 = "r"] 삼인자 <- fa(data,nfactors = 3, 회전 = "오블리민", fm="최소") print(3요소) [/코드]

다음은 계수 및 적재를 보여주는 출력입니다.

삼인자

이제 우리는 0.3 이상의 적재를 고려해야 하고 하나 이상의 요인에 적재하지 않아야 합니다. 여기에서는 음수 값을 사용할 수 있습니다. 먼저 가시성을 향상시키기 위해 컷오프를 설정해 보겠습니다.

[코드 언어=”r”] print(threefactor$loadings,cutoff = 0.3) [/코드]

삼중절단

보시다시피 두 변수는 중요하지 않고 다른 두 변수는 이중 로드가 있습니다. 다음으로 '4' 요인에 대해 살펴보겠습니다.

[코드 언어 = "r"] 4 인자 <- fa(data,nfactors = 4, 회전 = "오블리민", fm="최소") print(fourfactor$loadings,cutoff = 0.3) [/코드]

4인자

단일 로딩만 발생하는 것을 볼 수 있습니다. 이것은 단순한 구조로 알려져 있습니다.

요인 매핑을 보려면 다음을 누르십시오.

[코드 언어=”r”] fa.diagram(fourfactor) [/코드]

적정성 테스트

이제 간단한 구조를 얻었으므로 모델을 검증할 차례입니다. 계속 진행하기 위해 요인 분석 결과를 살펴보겠습니다.

요인분석 모형 적합성

근은 잔차의 제곱(RMSR)이 0.05임을 의미합니다. 이 값이 0에 더 가까워야 하므로 허용됩니다. 다음으로 RMSEA(근사값의 제곱 평균 오차) 지수를 확인해야 합니다. 값 0.001은 0.05 미만이므로 좋은 모형 적합도를 나타냅니다. 마지막으로 TLI(Tucker-Lewis Index)는 0.93으로 0.9 이상을 고려할 때 허용되는 값입니다.

요인 이름 지정

요인 명명

요인의 적절성을 확인한 후에는 요인의 이름을 지정할 차례입니다. 이것은 변수 로딩에 따라 요인을 형성하는 분석의 이론적 측면입니다. 이 경우 요인을 만드는 방법은 다음과 같습니다.

결론

r의 분석을 위한 이 자습서에서는 EFA(R의 탐색적 요인 분석)의 기본 아이디어, 병렬 분석 및 스크리 플롯 해석에 대해 논의했습니다. 그런 다음 우리는 R의 요인 분석으로 이동하여 간단한 구조를 달성하고 모델의 적합성을 확인하기 위해 동일한 유효성을 검사했습니다. 마지막으로 변수에서 요인의 이름에 도달했습니다. 이제 시도해 보고 의견 섹션에 결과를 게시하십시오.