원본의 데이터를 가지고 바로 통계분석을 진행할 수 없습니다.


왜냐하면 내가 사용한 설문문항 중에 좋지 않은 문항이 섞여 있거나, 응답자들의 응답과정에서 문제가 있었을 수 있기 때문입니다.

따라서 분석결과를 어지럽힐 수 있는 방해 문항들은 분석 전에 미리 찾아 제거해주어야 합니다.


제거문항

1. 타당도가 낮은 문항

2. 신뢰도가 낮은 문항

(타당도와 신뢰도에 대한 설명을 확인하려면 아래를 클릭)

2015/12/11 - [논문통계/통계기초] - 신뢰도, 타당도, 객관도, 실용도


이번 시간에는 타당도가 낮은 문항을 찾아 제거할 수 있는 요인분석을 해보겠습니다.

(타당도검사를 신뢰도검사보다 왜 먼저하는지 궁금하면, 아래를 클릭)

2015/12/11 - [논문통계/통계기초] - 신뢰도와 타당도 중에 무엇을 먼저 검증해야 하는가


각각의 문항들은 무엇을 측정하려는지 목적이 있고, 그 목적에 따라 소속(하위요인그룹)이 있습니다.

문항들이 그 의도대로 잘 측정되었는지 확인하기 위해, 문항들을 모아서 요인분석을 실시하면, 통계프로그램은 아무것도 모른 상태에서 오직 수치만 가지고 그룹핑을 합니다.

이때 요인분석 결과가 연구자가 의도한 그룹핑과 다른 그룹핑 결과를 보여준다면,

방해문항을 확인하고 제거하여 원하는 결과가 도출될 때까지 요인분석을 실시합니다.


예제로 사용할 SPSS 파일이 준비되어 있지 않으신 분은 아래의 파일를 다운로드 해주세요.


rawdata(sample).sav


출력결과1.spv




※ 이미지들은 클릭하면 원본이미지로 크게 보실 수 있습니다.


A부터 C까지 3개의 변인 중, 세번쨰 변인인 C.팀원의 여가만족(24문항)을 요인분석해보도록 하겠습니다.

(여기서는 예제로 한 변인만 요인분석하지만, 실제 논문통계분석에서는 전 변인을 요인분석 해야합니다.)


C. 팀원의 여가만족 24문항은

CA. 가족활동 만족 8문항(CA01~CA08)

CB. 취미활동 만족 8문항(CB09~CB16)

CC. 자기계발 만족 8문항(CC17~CC24)

으로 구성되어 있습니다.


위에 첨부된 두 파일을 열어보면, 데이터편집기에는 지난번 저장한 데이터들이 있고, 촐력결과에는 지난번에 분석한 빈도분석 결과가 저장되어 있습니다.



메뉴에서 [분석-차원감소-요인분석]을 선택합니다.

(메뉴명은 SPSS 버전마다 차이가 있습니다.)



CA01부터 CC24까지 총 24문항을 변수로 등록합니다.



팝업창 오른쪽 5가지 옵션을 하나씩 설정합니다.



[기술통계] 옵션에서 일변량기술통계계수(상관계수) 그리고 KMO와 Bartlett의 구형성 검정(K)를 체크합니다.



[요인추출] 옵션에서 아래이미지와 같이 기본값으로 설정되어 있는지 확인합니다.



[요인회전] 옵션에서 베리맥스(V)를 체크합니다.



[요인점수] 옵션에서 아무것도 체크가 되어 있지 않는 것을 확인합니다.



[옵션]에서 크기순 정렬을 체크합니다.



지금까지 설정한 옵션의 선택사항은 프로그램에 기본값으로 저장되므로, 한 번만 설정해주면 됩니다.

[확인]을 클릭하여 요인분석을 실행합니다.



뷰어에 요인분석 결과가 추가되었음을 확인할 수 있습니다.



가장 먼저 공통성(Communality)을 확인합니다.

공통성은 추출된 요인들에 의해 설명되는 비율로,

공통성이 0.4(또는 0.5) 이하이면 삭제하는 것이 좋습니다.

위의 표를 보면 CA06의 공통성이 .278로 낮은 것을 확인할 수 있습니다. 



회전된 성분행렬을 확인합니다.(성분행렬 밑에 회전된 성분행렬표가 있습니다. 둘은 다릅니다.)

회전된 성분행렬을 보면 프로그램이 24개의 문항을 총 6개의 요인으로 그룹핑한 것을 확인할 수 있습니다.

연구자의 목표는 3개의 하위요인(가족, 취미, 계발)으로 묶이는 것이 목표였으므로, 묶을 요인수를 3개로 지정해 줄 필요가 있습니다.



다시 요인분석을 합니다.



변수목록에서 공통성이 낮았던 CA06을 제거합니다.



[요인추출] 옵션의 추출 영역에서 고정된 요인 수를 강제로 3개로 지정해준 후, [확인] 버튼을 클릭하여 요인분석을 실행합니다.



뷰어에 요인분석의 결과가 추가되었습니다.



공통성을 확인합니다. 4문항(CA03, CA04, CA13, CA16)의 공통성이 .4 이하입니다.

하지만 4문항을 다 제거할 필요는 없습니다. CA13은 공통성이 .394 이므로, .4 이상으로 살릴 수 있습니다.


회전된 성분행렬의 경우 6요인으로 묶였던 것이, 원하던대로 3요인으로 그룹핑된 것을 확인할 수 있습니다.



다시 요인분석을 합니다 .



공통성이 낮았던, CA03, CA04, CA16을 제거한 후, 요인분석을 실행합니다.




CA13의 공통성이 .394 에서 .500 으로 증가하여, 기준인 .4 이상이 되었습니다.




회전된 성분행렬을 확인해보면,

1요인: 8문항(CC19~CC17)

2요인: 5문항(CB09~CB14)

3요인: 7문항(CA01~CA07)

으로 그룹핑되어 있습니다.


1요인은 CC들로 구성되어 있어, [자기계발 만족] 요인이라는 것을 알 수 있습니다.

2요인은 CB들로 구성되어 있어, [취미활동 만족] 요인이라는 것을 알 수 있습니다.

3요인은 CA들로 구성되어 있어, [가족활동 만족] 요인이라는 것을 알 수 있습니다.


1요인과 CC로만, 2요인은 CB로만 구성되어 있지만,

3요인은 CA가 아닌 CB13과 CB15가 포함되어 있으므로, 이 두 문항을 제거해야 합니다.

하지만 CB15는 2요인에서의 요인적재량이 .424로 낮은 편이 아니라, 살릴 가능성도 있습니다.

일단 CB13만 제거해보기로 합니다.



다시 요인분석을 합니다.



CB13만 제거해봅니다.



공통성은 모두 .4 이상입니다.



CB15는 여전히 3요인에 있습니다. 제거해야 합니다

그런데 CB13이 제거되자, 3요인에 잘 있던 CA05가 2요인으로 이동했습니다. CA05도 삭제합니다.



다시 요인분석을 합니다.



CA05와 CB15 두 문항을 더 제거한 후, [확인] 버튼을 클릭하여 요인분석을 실행합니다.


마지막 요인분석이므로, 다른 표들에 대해서도 설명합니다.



KMO와 Bartlett의 검정은 문항들 간의 상관계수가 다른 문항들에 의해 얼마나 잘 설명되는지 정도를 나타냅니다.

KMO값이 .828이면 꽤 높게 설명되고 있다고 할 수 있습니다.


<참고: KMO 범위별 해석>

0.9         이상이면 상당히 높은 편

0.8~0.89    꽤 높은 편

0.7~0.79    적당한 편

0.6~0.69    평범한 편

0.5~0.59    낮은 편

0.5 미만    받아들일 수 없음을 의미합니다.


Barlett의 구형성 검정은 요인분석 모형의 적합성 여부를 나타냅니다.

유의확률이 0.000이므로 적합하다고 할 수 있습니다.



공통성(Communality)은 추출된 요인들에 의해서 설명되는 변수의 분산입니다.

공통성은 모두 0.4이상으로 수용할 수 있는 수준으로 설명되고 있습니다.

(공통성이 0.4 이하인 문항은 공통성이 낮다고 판단하여 제거합니다.(0.5 이상이면 더 바람직함))



초기 고유값을 확인하면, 몇 요인으로 그룹핑되면 좋은지 알 수 있습니다.

성분4까지는 초기고유값 합계가 1이상입니다.(1.032, 성분5부터는 고유값합계가 .939로 1미만임)

이것은 4개의 요인으로 그룹핑하는 것이 바람직함을 의미합니다.

(스크리도표를 통해서 확인가능, 하지만 연구자는 강제로 3개의 요인으로 그룹핑하였음)


논문에서 가장 중요한 것은 회전 제곱한 적재값으로,

회전 제곱합 적재값에서의 고유값은 추출된 요인들에의 설명되는 변수의 분산입니다.

1요인(자기계발): 5.161

2요인(취미활동): 3.689

3요인(자기계발): 2.292


분산설명율은

1요인(자기계발): 30.361%

2요인(취미활동): 21.699%

3요인(가족활동): 13.481%

입니다.



회전하기 전의 성분별 요인적재량입니다.

회전하기 전 초기값보다, 회전하여 수렴시킨 후의 성분행렬이 더 중요합니다.



요인적재량(factor loading)은 문항(변수)과 요인과의 상관관계의 정도입니다.

전 문항의 요인적재량은 기준인 .4 이상입니다.

(요인적재량의 기준은 ±.4(또는 ±.3)입니다.)






요인분석의 결과를 논문작성 중인 한글파일에 작성하기 위해, 한글파일에 타당도와 신뢰도 분석결과 표를 작성합니다.



변수명과 요인적재량을 작성합니다.

(SPSS 표에서 우클릭 후 [내용편집-뷰어에서]를 선택하면, 원하는 데이터를 복사하여 한글문서에 붙여넣기 할 수 있어 편리합니다. (표를 더블클릭해도 됨)






공통성을 작성합니다.



설명된 총분산 표를 확인하여, 고유값과 분산설명을 작성합니다.

(신뢰도는 다음에 작성합니다.)






분석이 완료되면, 뷰어에서 분석기록(log)을 관리해야 합니다.

최종 요인분석결과를 나중에 확인하기 편하도록 이름을 수정합니다.



뷰어에서 불필요한 분석결과들을 삭제합니다.



출력결과 파일을 저장합니다.

아래 첨부파일과 같은 SPSS 뷰어파일이 저장되어 있으면 성공입니다.

출력결과1.spv





요인분석의 경우, 한 번만에 끝날수도 있고, 10번 20번해도 안 끝날수도 있습니다.

이 문항을 빼보고, 다음엔 저 문항을 빼보면서, 원하는 결과가 나올때 까지 계속 분석은 진행해야하기 때문입니다.


물론 방해문항으로 판단되는 문항들을 한번에 모두 제거하면 빨리 요인분석을 진행할 수 있겠지만,

그런 경우 어렵게 받은 설문결과들을 많이 사용하지 못하고,

원래 계획한 측정도구와 많이 달라지기 때문에, 연구에 영향을 줄 수 있다는 문제도 있습니다.


좋은 측정도구로 좋은 환경에서 설문이 진행되어 요인분석결과가 한 번에 잘 나오면 좋겠지만,

최악의 경우, 설문문항 타당도가 너무 낮아 그룹핑이 불가하여, 다시 설문하는 것 이외에 방법이 없는 상황을 맞을 수도 있습니다.


이런 경우, 꼼꼼하게 원본의 데이터를 살펴봐야 합니다.

응답값에 1~5 사이의 값이 있어야 하는데, 오타로 인해 '50' 같은 잘못된 값이 있는지,

역문항들이 있는데 역연산 처리를 뺴먹지 않았는지,

아니면 설문태도가 안좋았던 사람들을 알고 있어서, 그 사람들의 응답값들을 제거할 수 있다든지 확인해봐야 합니다.



요인분석(Factor Analysis)이란

많은 변수들의 상호 관련성을 소수의 요인(factor)으로 추출하여 전체변수들의 공통요인을 찾아내 각 변수가 받는 영향의 정도와 그 집단의 특성을 규명하는 통계분석방법이다. 요인분석을 통해 타당성을 평가할 수 있고, 동시에 불필요한 변수들을 제거할 수 있다.






관련 글 보기


2015/12/03 - [논문통계/SPSS] - SPSS에서 엑셀데이터 불러와서 저장하기(예제파일포함)


2015/12/03 - [논문통계/SPSS] - SPSS에서 빈도분석으로 인구통계적 특성 파악하기


2015/12/05 - [논문통계/SPSS] - SPSS에서 요인분석으로 타당도 측정하기


2015/12/05 - [논문통계/SPSS] - SPSS에서 크론바흐 알파(Cronbach's α)로 신뢰도 측정하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 변수 계산으로 요인 평균값 만들기


2015/12/06 - [논문통계/SPSS] - SPSS에서 상관관계분석으로 변수 간 상관도 분석하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 회귀분석으로 영향을 미치는지 확인하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 3단계 회귀분석으로 매개변수의 매개효과 확인하기


2015/12/06 - [논문통계/SPSS] - SPSS에서 위계적 회귀분석으로 조절변인의 조절효과 확인하기


2016/01/11 - [논문통계/SPSS] - SPSS에서 더미변수를 이용하여 회귀분석하기


2016/01/11 - [논문통계/SPSS] - SPSS에서 T-test로 두 집단간의 평균 비교하기


2016/01/17 - [논문통계/SPSS] - SPSS에서 One-Way-Anova(일원배치분석)으로 여러 집단간의 평균 비교하기


2016/02/10 - [논문통계/SPSS] - SPSS에서 카이제곱 분석으로 변수들간의 독립성과 관련성 분석하기


2016/02/10 - [논문통계/SPSS] - SPSS에서 군집분석으로 집단을 군집으로 분류한 후 특성 확인하기

  1. 이전 댓글 더보기
  2. jin 2016.12.06 22:45

    논문 작성중인데 정리가 너무 잘되어 있어서 좋습니다.
    spss 분석 방법과 논문에 작성법까지 가르쳐주시니 너무 감사할 따름입니다.

  3. yoon 2016.12.11 11:08

    공통성이 낮으면 사용할 수 없나요?
    고객만족으로 5개문항을 묶어서 요인분석을 했는데
    가격만족부분이 공통성이 떨어지네요 ㅠㅠ
    크론바흐나 신뢰도는 괜찮은데..
    이 경우 가격만족부분은 아예 제외를 시켜야할지..

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2016.12.12 10:56 신고

      설문지를 보고 측정도구 구조를 확인해야 이해가능한 부분들이 있네요. 몇 Depth인지.. 위상도... 메일로 보내주시면 더 적합하게 답변드릴수 있을 것 같아요.

  4. 2017.01.31 15:21

    비밀댓글입니다

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2017.02.02 11:08 신고

      아버지와 어머니 두 그룹에게 제공되는 문항set가 다르다면 타당도 검사 또한 분리되어 진행되어야 하지 않을까요?

  5. 2017.04.19 16:21

    비밀댓글입니다

    • 2017.04.20 00:23

      비밀댓글입니다

  6. 2017.04.20 09:22

    비밀댓글입니다

  7. 2017.11.12 23:42

    비밀댓글입니다

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2017.11.14 23:06 신고

      흠.. 여기 참고용 ㅋㅋ http://contents.kocw.net/KOCW/document/2014/honam/leedongwoo/11.pdf

  8. 태봉 2017.11.17 12:04

    안녕하세요, 써 주신 글을 아주 유용하게 보았습니다. 쉽고 명확하게 써주셔서 고맙습니다.
    질문이 있는데요, 타당도와 신뢰도 검사를 거치고 난 뒤에 문항이 제거되고, 각 항목에 배치되는 문항 수가 불균형해지더군요.
    이 경우 항목을 종합하는 전체 평균을 어떻게 내야하는 지 궁금합니다.

    예컨대, '다문화감수성'을 측정하기 위해 사용하는 항목으로, '다양성'과 '관계성'이 있다고 할때요.
    타당도(요인분석) 신뢰도 검사 이후에 설문항이 제거되고 나니,
    애초에 각 항목당 10문항에서, 각각 8문항(다양성)과 6문항(관계성)으로 줄어들었습니다.
    그 문항들로 평균을 구해볼 때, 다양성의 평균은 5점, 관계성의 평균은 3점이 된다고 한다면요.
    '다문화감수성'의 점수를 구한다면, 단순히 다양성 점수와 관계성 점수로 계산하여 (5+3)/2=4점으로 보면 될까요,
    아니면, 단순히 전체 14개 문항의 평균을 내면될까요? {총 문항(14개)의 점수의 총합/14(총문항 수)}

  9. 2017.12.02 23:10

    비밀댓글입니다

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2017.12.10 08:16 신고

      타당도분석은 거의 필수라고 보시면 됩니다. 선행연구에서 타당도가 좋았다고, 내가 하는 이번 연구에서도 타당도가 좋다는 보장은 없습니다. 응답자들이 대충 응답했을 수도 있으니까요.

  10. jhy 2017.12.18 16:05

    저는 예비문항 해본다고 궁금해서 12개로 돌려봤는데(20부 중 8부가 덜와서 12개로 돌렸습니다)
    요인분석 시 요인은 나뉘어지는데
    탐색적 요인분석으로 돌려본다고
    KMO 클릭하고 돌려보니 아예 KMO와 Bartlett의 검정 창이 안 떠요..
    수가 적어서 안 되는걸까요 아님,
    타당도가 문제인걸까요? 이런 경우 8부가 더 오면 kmo & bartlett 검정 창이라도 뜰까요?
    선행연구자가 계속 사용하고 검증되었다고 한 설문지를 썼는데
    이렇게 나오니까 답답하네요 ㅠㅠ

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2017.12.19 17:15 신고

      예비지만... 적어도 40~50개 이상의 응답을 받아 분석을 진행하시는 쪽이 좋을 것 같습니다.

    • 전혜영 2017.12.19 21:02

      ㅠㅠ 조언대로 다시 20개의 설문지를 돌렸습니다^^ 정말 자세한 설명에 감사드립니다..

  11. leeeeee 2018.01.02 18:46

    kmo와 bartlett 창이 안 뜨는 이유가 알고 싶습니다. 저는 28문항의 설문지로 6명에게 설문조사를 했거든요
    사람 수가 너무 적어서일까요?
    제가 6명을 초과해서 설문지를 받기는 어려운 상황인데 이럴 때는 어떻게 하면 좋을까요?
    정말로 죄송하지만 조언을 해주시면 감사하겠습니다.

  12. 2018.01.10 23:24

    비밀댓글입니다

  13. 2018.01.11 01:07

    비밀댓글입니다

  14. 2018.01.11 01:54

    비밀댓글입니다

  15. stat17_hb 2018.02.06 12:24

    좋은 글 잘 읽었습니다.

    의문점이 몇 가지 있어서 질문드리는데요.

    1. 요인추출 방법으로 왜 '주성분'을 사용하셨는지
    => 주성분 방법보다는 '주축요인추출', '최대우도' 방법이 공통요인을 묶어내기 위한 목적으로는 더 좋은 방법이라고 알고 있습니다.

    2. 요인회전 방법으로 왜 '베리맥스'를 사용하셨지
    => 베리맥스는 요인 간 상관을 0으로 가정한 방법인데 보통 설문이 이루어지는 사회과학 영역에서는
    요인 간 상관을 0으로 가정하는 것이 타당하지 않기 때문에 사각회전인 오블리민이나 프로맥스를 사용한다고 알고 있습니다.

  16. 2018.04.02 12:32

    비밀댓글입니다

  17. 2018.04.19 00:07

    비밀댓글입니다

  18. mangojini 2018.08.11 16:13

    와 진짜 큰 도움이 되었습니다. 감사합니다! 이해가 쏙쏙 너무 잘 돼요.

  19. 2018.11.12 13:36

    비밀댓글입니다

    • Favicon of https://learnx.tistory.com BlogIcon Learn X BboL 2018.11.22 19:20 신고

      data의 최소수에 대한 정확한 가이드라인은 없습니다. 하지만 5개 요인이면 데이터의 수가 최소 50개 이상, 적어도 100개는 넘어야 하지 않을까요?

  20. 2019.04.03 16:18

    비밀댓글입니다

  21. 은쓱 2019.06.10 12:37

    하나의 문항에 여러 선택지가 있는 명목변수는 요인분석이 안되나요?


+ 최근 게시물들